You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pulsar.apache.org by pe...@apache.org on 2021/02/03 02:29:21 UTC

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

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

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


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

commit a6aa2b6972d9d5c75f20b2dfe3e2d8a4a53a64f7
Author: Pulsar Site Updater <de...@pulsar.incubator.apache.org>
AuthorDate: Wed Feb 3 02:28:33 2021 +0000

    Updated site at revision b3dc142
---
 content/api/python/2.8.0-SNAPSHOT/index.html       |   6 +-
 content/api/python/index.html                      |   6 +-
 content/docs/en/2.4.0/reference-metrics.html       |   8 +-
 content/docs/en/2.4.0/reference-metrics/index.html |   8 +-
 content/docs/en/2.4.1/reference-metrics.html       |   8 +-
 content/docs/en/2.4.1/reference-metrics/index.html |   8 +-
 content/docs/en/2.4.2/reference-metrics.html       |   8 +-
 content/docs/en/2.4.2/reference-metrics/index.html |   8 +-
 content/docs/en/2.5.0/client-libraries-java.html   |   2 +-
 .../docs/en/2.5.0/client-libraries-java/index.html |   2 +-
 content/docs/en/2.5.0/client-libraries-node.html   |   2 +-
 .../docs/en/2.5.0/client-libraries-node/index.html |   2 +-
 content/docs/en/2.5.0/reference-metrics.html       |   8 +-
 content/docs/en/2.5.0/reference-metrics/index.html |   8 +-
 content/docs/en/2.5.1/client-libraries-java.html   |   2 +-
 .../docs/en/2.5.1/client-libraries-java/index.html |   2 +-
 content/docs/en/2.5.1/client-libraries-node.html   |   2 +-
 .../docs/en/2.5.1/client-libraries-node/index.html |   2 +-
 content/docs/en/2.5.1/reference-metrics.html       |   8 +-
 content/docs/en/2.5.1/reference-metrics/index.html |   8 +-
 content/docs/en/2.5.2/client-libraries-java.html   |   2 +-
 .../docs/en/2.5.2/client-libraries-java/index.html |   2 +-
 content/docs/en/2.5.2/client-libraries-node.html   |   2 +-
 .../docs/en/2.5.2/client-libraries-node/index.html |   2 +-
 content/docs/en/2.5.2/reference-metrics.html       |   8 +-
 content/docs/en/2.5.2/reference-metrics/index.html |   8 +-
 content/docs/en/2.6.0/client-libraries-java.html   |   2 +-
 .../docs/en/2.6.0/client-libraries-java/index.html |   2 +-
 content/docs/en/2.6.0/client-libraries-node.html   |   2 +-
 .../docs/en/2.6.0/client-libraries-node/index.html |   2 +-
 .../docs/en/2.6.0/client-libraries-websocket.html  |   2 +-
 .../en/2.6.0/client-libraries-websocket/index.html |   2 +-
 content/docs/en/2.6.0/reference-metrics.html       |   8 +-
 content/docs/en/2.6.0/reference-metrics/index.html |   8 +-
 content/docs/en/2.6.1/client-libraries-java.html   |   2 +-
 .../docs/en/2.6.1/client-libraries-java/index.html |   2 +-
 content/docs/en/2.6.1/client-libraries-node.html   |   2 +-
 .../docs/en/2.6.1/client-libraries-node/index.html |   2 +-
 .../docs/en/2.6.1/client-libraries-websocket.html  |   2 +-
 .../en/2.6.1/client-libraries-websocket/index.html |   2 +-
 content/docs/en/2.6.1/reference-metrics.html       |   8 +-
 content/docs/en/2.6.1/reference-metrics/index.html |   8 +-
 content/docs/en/2.6.2/client-libraries-java.html   |   2 +-
 .../docs/en/2.6.2/client-libraries-java/index.html |   2 +-
 content/docs/en/2.6.2/client-libraries-node.html   |   2 +-
 .../docs/en/2.6.2/client-libraries-node/index.html |   2 +-
 .../docs/en/2.6.2/client-libraries-websocket.html  |   2 +-
 .../en/2.6.2/client-libraries-websocket/index.html |   2 +-
 content/docs/en/2.6.2/reference-metrics.html       |   8 +-
 content/docs/en/2.6.2/reference-metrics/index.html |   8 +-
 content/docs/en/2.6.3/client-libraries-java.html   |   2 +-
 .../docs/en/2.6.3/client-libraries-java/index.html |   2 +-
 content/docs/en/2.6.3/client-libraries-node.html   |   2 +-
 .../docs/en/2.6.3/client-libraries-node/index.html |   2 +-
 .../docs/en/2.6.3/client-libraries-websocket.html  |   2 +-
 .../en/2.6.3/client-libraries-websocket/index.html |   2 +-
 content/docs/en/2.6.3/reference-metrics.html       |   8 +-
 content/docs/en/2.6.3/reference-metrics/index.html |   8 +-
 content/docs/en/client-libraries-java.html         |   2 +-
 content/docs/en/client-libraries-java/index.html   |   2 +-
 content/docs/en/client-libraries-node.html         |   2 +-
 content/docs/en/client-libraries-node/index.html   |   2 +-
 content/docs/en/client-libraries-websocket.html    |   2 +-
 .../docs/en/client-libraries-websocket/index.html  |   2 +-
 content/docs/en/next/adaptors-kafka.html           |   8 +-
 content/docs/en/next/adaptors-kafka/index.html     |   8 +-
 content/docs/en/next/adaptors-spark.html           |  17 +-
 content/docs/en/next/adaptors-spark/index.html     |  17 +-
 content/docs/en/next/client-libraries-java.html    |   2 +-
 .../docs/en/next/client-libraries-java/index.html  |   2 +-
 content/docs/en/next/client-libraries-node.html    |   2 +-
 .../docs/en/next/client-libraries-node/index.html  |   2 +-
 .../docs/en/next/client-libraries-websocket.html   |   2 +-
 .../en/next/client-libraries-websocket/index.html  |   2 +-
 content/docs/en/next/io-connectors.html            |   4 +-
 content/docs/en/next/io-connectors/index.html      |   4 +-
 content/docs/en/next/performance-pulsar-perf.html  |  18 +-
 .../en/next/performance-pulsar-perf/index.html     |  18 +-
 content/docs/en/next/pulsar-admin.html             |  36 +-
 content/docs/en/next/pulsar-admin/index.html       |  36 +-
 content/docs/en/next/reference-configuration.html  |   2 +
 .../en/next/reference-configuration/index.html     |   2 +
 content/docs/en/next/reference-metrics.html        |   8 +-
 content/docs/en/next/reference-metrics/index.html  |   8 +-
 content/docs/en/next/tiered-storage-aws.html       |   2 +-
 content/docs/en/next/tiered-storage-aws/index.html |   2 +-
 content/docs/en/pulsar-admin.html                  |  34 ++
 content/docs/en/pulsar-admin/index.html            |  34 ++
 content/docs/en/reference-metrics.html             |   8 +-
 content/docs/en/reference-metrics/index.html       |   8 +-
 content/docs/en/tiered-storage-aws.html            |   2 +-
 content/docs/en/tiered-storage-aws/index.html      |   2 +-
 content/docs/fr/2.4.0/reference-metrics.html       |   8 +-
 content/docs/fr/2.4.0/reference-metrics/index.html |   8 +-
 content/docs/fr/2.4.1/reference-metrics.html       |   6 +-
 content/docs/fr/2.4.1/reference-metrics/index.html |   6 +-
 content/docs/fr/2.4.2/reference-metrics.html       |   8 +-
 content/docs/fr/2.4.2/reference-metrics/index.html |   8 +-
 content/docs/fr/2.5.0/client-libraries-java.html   |   2 +-
 .../docs/fr/2.5.0/client-libraries-java/index.html |   2 +-
 content/docs/fr/2.5.0/client-libraries-node.html   |   2 +-
 .../docs/fr/2.5.0/client-libraries-node/index.html |   2 +-
 content/docs/fr/2.5.0/reference-metrics.html       |   8 +-
 content/docs/fr/2.5.0/reference-metrics/index.html |   8 +-
 content/docs/fr/2.5.1/client-libraries-java.html   |   2 +-
 .../docs/fr/2.5.1/client-libraries-java/index.html |   2 +-
 content/docs/fr/2.5.1/client-libraries-node.html   |   2 +-
 .../docs/fr/2.5.1/client-libraries-node/index.html |   2 +-
 content/docs/fr/2.5.1/reference-metrics.html       |   8 +-
 content/docs/fr/2.5.1/reference-metrics/index.html |   8 +-
 content/docs/fr/2.5.2/client-libraries-java.html   |   2 +-
 .../docs/fr/2.5.2/client-libraries-java/index.html |   2 +-
 content/docs/fr/2.5.2/client-libraries-node.html   |   2 +-
 .../docs/fr/2.5.2/client-libraries-node/index.html |   2 +-
 content/docs/fr/2.5.2/reference-metrics.html       |   8 +-
 content/docs/fr/2.5.2/reference-metrics/index.html |   8 +-
 content/docs/fr/2.6.0/client-libraries-java.html   |   2 +-
 .../docs/fr/2.6.0/client-libraries-java/index.html |   2 +-
 content/docs/fr/2.6.0/client-libraries-node.html   |   2 +-
 .../docs/fr/2.6.0/client-libraries-node/index.html |   2 +-
 .../docs/fr/2.6.0/client-libraries-websocket.html  |   2 +-
 .../fr/2.6.0/client-libraries-websocket/index.html |   2 +-
 content/docs/fr/2.6.0/reference-metrics.html       |   8 +-
 content/docs/fr/2.6.0/reference-metrics/index.html |   8 +-
 content/docs/fr/2.6.1/client-libraries-java.html   |   2 +-
 .../docs/fr/2.6.1/client-libraries-java/index.html |   2 +-
 content/docs/fr/2.6.1/client-libraries-node.html   |   2 +-
 .../docs/fr/2.6.1/client-libraries-node/index.html |   2 +-
 .../docs/fr/2.6.1/client-libraries-websocket.html  |   2 +-
 .../fr/2.6.1/client-libraries-websocket/index.html |   2 +-
 content/docs/fr/2.6.1/reference-metrics.html       |   8 +-
 content/docs/fr/2.6.1/reference-metrics/index.html |   8 +-
 content/docs/fr/2.6.2/client-libraries-java.html   |   2 +-
 .../docs/fr/2.6.2/client-libraries-java/index.html |   2 +-
 content/docs/fr/2.6.2/client-libraries-node.html   |   2 +-
 .../docs/fr/2.6.2/client-libraries-node/index.html |   2 +-
 .../docs/fr/2.6.2/client-libraries-websocket.html  |   2 +-
 .../fr/2.6.2/client-libraries-websocket/index.html |   2 +-
 content/docs/fr/2.6.2/reference-metrics.html       |   8 +-
 content/docs/fr/2.6.2/reference-metrics/index.html |   8 +-
 content/docs/fr/2.6.3/client-libraries-java.html   |   2 +-
 .../docs/fr/2.6.3/client-libraries-java/index.html |   2 +-
 content/docs/fr/2.6.3/client-libraries-node.html   |   2 +-
 .../docs/fr/2.6.3/client-libraries-node/index.html |   2 +-
 .../docs/fr/2.6.3/client-libraries-websocket.html  |   2 +-
 .../fr/2.6.3/client-libraries-websocket/index.html |   2 +-
 content/docs/fr/2.6.3/reference-metrics.html       |   8 +-
 content/docs/fr/2.6.3/reference-metrics/index.html |   8 +-
 content/docs/fr/client-libraries-java.html         |   2 +-
 content/docs/fr/client-libraries-java/index.html   |   2 +-
 content/docs/fr/client-libraries-node.html         |   2 +-
 content/docs/fr/client-libraries-node/index.html   |   2 +-
 content/docs/fr/client-libraries-websocket.html    |   2 +-
 .../docs/fr/client-libraries-websocket/index.html  |   2 +-
 content/docs/fr/next/adaptors-kafka.html           |   8 +-
 content/docs/fr/next/adaptors-kafka/index.html     |   8 +-
 content/docs/fr/next/adaptors-spark.html           |  17 +-
 content/docs/fr/next/adaptors-spark/index.html     |  17 +-
 content/docs/fr/next/client-libraries-java.html    |   5 +-
 .../docs/fr/next/client-libraries-java/index.html  |   5 +-
 content/docs/fr/next/client-libraries-node.html    |   2 +-
 .../docs/fr/next/client-libraries-node/index.html  |   2 +-
 .../docs/fr/next/client-libraries-websocket.html   |   2 +-
 .../fr/next/client-libraries-websocket/index.html  |   2 +-
 content/docs/fr/next/io-connectors.html            |   4 +-
 content/docs/fr/next/io-connectors/index.html      |   4 +-
 content/docs/fr/next/performance-pulsar-perf.html  |  18 +-
 .../fr/next/performance-pulsar-perf/index.html     |  18 +-
 content/docs/fr/next/pulsar-admin.html             |   8 +-
 content/docs/fr/next/pulsar-admin/index.html       |   8 +-
 content/docs/fr/next/reference-configuration.html  |   3 +-
 .../fr/next/reference-configuration/index.html     |   3 +-
 content/docs/fr/next/reference-metrics.html        |   6 +-
 content/docs/fr/next/reference-metrics/index.html  |   6 +-
 content/docs/fr/next/tiered-storage-aws.html       |   2 +-
 content/docs/fr/next/tiered-storage-aws/index.html |   2 +-
 content/docs/fr/pulsar-admin.html                  |  34 ++
 content/docs/fr/pulsar-admin/index.html            |  34 ++
 content/docs/fr/reference-metrics.html             |   8 +-
 content/docs/fr/reference-metrics/index.html       |   8 +-
 content/docs/fr/tiered-storage-aws.html            |   2 +-
 content/docs/fr/tiered-storage-aws/index.html      |   2 +-
 content/docs/ja/2.4.0/reference-metrics.html       |   8 +-
 content/docs/ja/2.4.0/reference-metrics/index.html |   8 +-
 content/docs/ja/2.4.1/reference-metrics.html       |   6 +-
 content/docs/ja/2.4.1/reference-metrics/index.html |   6 +-
 content/docs/ja/2.4.2/reference-metrics.html       |   8 +-
 content/docs/ja/2.4.2/reference-metrics/index.html |   8 +-
 content/docs/ja/2.5.0/client-libraries-java.html   |   2 +-
 .../docs/ja/2.5.0/client-libraries-java/index.html |   2 +-
 content/docs/ja/2.5.0/client-libraries-node.html   |   2 +-
 .../docs/ja/2.5.0/client-libraries-node/index.html |   2 +-
 content/docs/ja/2.5.0/reference-metrics.html       |   8 +-
 content/docs/ja/2.5.0/reference-metrics/index.html |   8 +-
 content/docs/ja/2.5.1/client-libraries-java.html   |   2 +-
 .../docs/ja/2.5.1/client-libraries-java/index.html |   2 +-
 content/docs/ja/2.5.1/client-libraries-node.html   |   2 +-
 .../docs/ja/2.5.1/client-libraries-node/index.html |   2 +-
 content/docs/ja/2.5.1/reference-metrics.html       |   8 +-
 content/docs/ja/2.5.1/reference-metrics/index.html |   8 +-
 content/docs/ja/2.5.2/client-libraries-java.html   |   2 +-
 .../docs/ja/2.5.2/client-libraries-java/index.html |   2 +-
 content/docs/ja/2.5.2/client-libraries-node.html   |   2 +-
 .../docs/ja/2.5.2/client-libraries-node/index.html |   2 +-
 content/docs/ja/2.5.2/reference-metrics.html       |   8 +-
 content/docs/ja/2.5.2/reference-metrics/index.html |   8 +-
 content/docs/ja/2.6.0/client-libraries-java.html   |   2 +-
 .../docs/ja/2.6.0/client-libraries-java/index.html |   2 +-
 content/docs/ja/2.6.0/client-libraries-node.html   |   2 +-
 .../docs/ja/2.6.0/client-libraries-node/index.html |   2 +-
 .../docs/ja/2.6.0/client-libraries-websocket.html  |   2 +-
 .../ja/2.6.0/client-libraries-websocket/index.html |   2 +-
 content/docs/ja/2.6.0/reference-metrics.html       |   8 +-
 content/docs/ja/2.6.0/reference-metrics/index.html |   8 +-
 content/docs/ja/2.6.1/client-libraries-java.html   |   2 +-
 .../docs/ja/2.6.1/client-libraries-java/index.html |   2 +-
 content/docs/ja/2.6.1/client-libraries-node.html   |   2 +-
 .../docs/ja/2.6.1/client-libraries-node/index.html |   2 +-
 .../docs/ja/2.6.1/client-libraries-websocket.html  |   2 +-
 .../ja/2.6.1/client-libraries-websocket/index.html |   2 +-
 content/docs/ja/2.6.1/reference-metrics.html       |   8 +-
 content/docs/ja/2.6.1/reference-metrics/index.html |   8 +-
 content/docs/ja/2.6.2/client-libraries-java.html   |   2 +-
 .../docs/ja/2.6.2/client-libraries-java/index.html |   2 +-
 content/docs/ja/2.6.2/client-libraries-node.html   |   2 +-
 .../docs/ja/2.6.2/client-libraries-node/index.html |   2 +-
 .../docs/ja/2.6.2/client-libraries-websocket.html  |   2 +-
 .../ja/2.6.2/client-libraries-websocket/index.html |   2 +-
 content/docs/ja/2.6.2/reference-metrics.html       |   8 +-
 content/docs/ja/2.6.2/reference-metrics/index.html |   8 +-
 content/docs/ja/2.6.3/client-libraries-java.html   |   2 +-
 .../docs/ja/2.6.3/client-libraries-java/index.html |   2 +-
 content/docs/ja/2.6.3/client-libraries-node.html   |   2 +-
 .../docs/ja/2.6.3/client-libraries-node/index.html |   2 +-
 .../docs/ja/2.6.3/client-libraries-websocket.html  |   2 +-
 .../ja/2.6.3/client-libraries-websocket/index.html |   2 +-
 content/docs/ja/2.6.3/reference-metrics.html       |   8 +-
 content/docs/ja/2.6.3/reference-metrics/index.html |   8 +-
 content/docs/ja/client-libraries-java.html         |   2 +-
 content/docs/ja/client-libraries-java/index.html   |   2 +-
 content/docs/ja/client-libraries-node.html         |   2 +-
 content/docs/ja/client-libraries-node/index.html   |   2 +-
 content/docs/ja/client-libraries-websocket.html    |   2 +-
 .../docs/ja/client-libraries-websocket/index.html  |   2 +-
 content/docs/ja/next/adaptors-kafka.html           |   8 +-
 content/docs/ja/next/adaptors-kafka/index.html     |   8 +-
 content/docs/ja/next/adaptors-spark.html           |  17 +-
 content/docs/ja/next/adaptors-spark/index.html     |  17 +-
 content/docs/ja/next/client-libraries-java.html    |   5 +-
 .../docs/ja/next/client-libraries-java/index.html  |   5 +-
 content/docs/ja/next/client-libraries-node.html    |   2 +-
 .../docs/ja/next/client-libraries-node/index.html  |   2 +-
 .../docs/ja/next/client-libraries-websocket.html   |   2 +-
 .../ja/next/client-libraries-websocket/index.html  |   2 +-
 content/docs/ja/next/io-connectors.html            |   4 +-
 content/docs/ja/next/io-connectors/index.html      |   4 +-
 content/docs/ja/next/performance-pulsar-perf.html  |  18 +-
 .../ja/next/performance-pulsar-perf/index.html     |  18 +-
 content/docs/ja/next/pulsar-admin.html             |   8 +-
 content/docs/ja/next/pulsar-admin/index.html       |   8 +-
 content/docs/ja/next/reference-configuration.html  |   3 +-
 .../ja/next/reference-configuration/index.html     |   3 +-
 content/docs/ja/next/reference-metrics.html        |   6 +-
 content/docs/ja/next/reference-metrics/index.html  |   6 +-
 content/docs/ja/next/tiered-storage-aws.html       |   2 +-
 content/docs/ja/next/tiered-storage-aws/index.html |   2 +-
 content/docs/ja/pulsar-admin.html                  |  34 ++
 content/docs/ja/pulsar-admin/index.html            |  34 ++
 content/docs/ja/reference-metrics.html             |   8 +-
 content/docs/ja/reference-metrics/index.html       |   8 +-
 content/docs/ja/tiered-storage-aws.html            |   2 +-
 content/docs/ja/tiered-storage-aws/index.html      |   2 +-
 content/docs/ko/2.4.0/reference-metrics.html       |   8 +-
 content/docs/ko/2.4.0/reference-metrics/index.html |   8 +-
 content/docs/ko/2.4.1/reference-metrics.html       |   6 +-
 content/docs/ko/2.4.1/reference-metrics/index.html |   6 +-
 content/docs/ko/2.4.2/reference-metrics.html       |   8 +-
 content/docs/ko/2.4.2/reference-metrics/index.html |   8 +-
 content/docs/ko/2.5.0/client-libraries-java.html   |   2 +-
 .../docs/ko/2.5.0/client-libraries-java/index.html |   2 +-
 content/docs/ko/2.5.0/client-libraries-node.html   |   2 +-
 .../docs/ko/2.5.0/client-libraries-node/index.html |   2 +-
 content/docs/ko/2.5.0/reference-metrics.html       |   8 +-
 content/docs/ko/2.5.0/reference-metrics/index.html |   8 +-
 content/docs/ko/2.5.1/client-libraries-java.html   |   2 +-
 .../docs/ko/2.5.1/client-libraries-java/index.html |   2 +-
 content/docs/ko/2.5.1/client-libraries-node.html   |   2 +-
 .../docs/ko/2.5.1/client-libraries-node/index.html |   2 +-
 content/docs/ko/2.5.1/reference-metrics.html       |   8 +-
 content/docs/ko/2.5.1/reference-metrics/index.html |   8 +-
 content/docs/ko/2.5.2/client-libraries-java.html   |   2 +-
 .../docs/ko/2.5.2/client-libraries-java/index.html |   2 +-
 content/docs/ko/2.5.2/client-libraries-node.html   |   2 +-
 .../docs/ko/2.5.2/client-libraries-node/index.html |   2 +-
 content/docs/ko/2.5.2/reference-metrics.html       |   8 +-
 content/docs/ko/2.5.2/reference-metrics/index.html |   8 +-
 content/docs/ko/2.6.0/client-libraries-java.html   |   2 +-
 .../docs/ko/2.6.0/client-libraries-java/index.html |   2 +-
 content/docs/ko/2.6.0/client-libraries-node.html   |   2 +-
 .../docs/ko/2.6.0/client-libraries-node/index.html |   2 +-
 .../docs/ko/2.6.0/client-libraries-websocket.html  |   2 +-
 .../ko/2.6.0/client-libraries-websocket/index.html |   2 +-
 content/docs/ko/2.6.0/reference-metrics.html       |   8 +-
 content/docs/ko/2.6.0/reference-metrics/index.html |   8 +-
 content/docs/ko/2.6.1/client-libraries-java.html   |   2 +-
 .../docs/ko/2.6.1/client-libraries-java/index.html |   2 +-
 content/docs/ko/2.6.1/client-libraries-node.html   |   2 +-
 .../docs/ko/2.6.1/client-libraries-node/index.html |   2 +-
 .../docs/ko/2.6.1/client-libraries-websocket.html  |   2 +-
 .../ko/2.6.1/client-libraries-websocket/index.html |   2 +-
 content/docs/ko/2.6.1/reference-metrics.html       |   8 +-
 content/docs/ko/2.6.1/reference-metrics/index.html |   8 +-
 content/docs/ko/2.6.2/client-libraries-java.html   |   2 +-
 .../docs/ko/2.6.2/client-libraries-java/index.html |   2 +-
 content/docs/ko/2.6.2/client-libraries-node.html   |   2 +-
 .../docs/ko/2.6.2/client-libraries-node/index.html |   2 +-
 .../docs/ko/2.6.2/client-libraries-websocket.html  |   2 +-
 .../ko/2.6.2/client-libraries-websocket/index.html |   2 +-
 content/docs/ko/2.6.2/reference-metrics.html       |   8 +-
 content/docs/ko/2.6.2/reference-metrics/index.html |   8 +-
 content/docs/ko/2.6.3/client-libraries-java.html   |   2 +-
 .../docs/ko/2.6.3/client-libraries-java/index.html |   2 +-
 content/docs/ko/2.6.3/client-libraries-node.html   |   2 +-
 .../docs/ko/2.6.3/client-libraries-node/index.html |   2 +-
 .../docs/ko/2.6.3/client-libraries-websocket.html  |   2 +-
 .../ko/2.6.3/client-libraries-websocket/index.html |   2 +-
 content/docs/ko/2.6.3/reference-metrics.html       |   8 +-
 content/docs/ko/2.6.3/reference-metrics/index.html |   8 +-
 content/docs/ko/client-libraries-java.html         |   2 +-
 content/docs/ko/client-libraries-java/index.html   |   2 +-
 content/docs/ko/client-libraries-node.html         |   2 +-
 content/docs/ko/client-libraries-node/index.html   |   2 +-
 content/docs/ko/client-libraries-websocket.html    |   2 +-
 .../docs/ko/client-libraries-websocket/index.html  |   2 +-
 content/docs/ko/next/adaptors-kafka.html           |   8 +-
 content/docs/ko/next/adaptors-kafka/index.html     |   8 +-
 content/docs/ko/next/adaptors-spark.html           |  17 +-
 content/docs/ko/next/adaptors-spark/index.html     |  17 +-
 content/docs/ko/next/client-libraries-java.html    |   5 +-
 .../docs/ko/next/client-libraries-java/index.html  |   5 +-
 content/docs/ko/next/client-libraries-node.html    |   2 +-
 .../docs/ko/next/client-libraries-node/index.html  |   2 +-
 .../docs/ko/next/client-libraries-websocket.html   |   2 +-
 .../ko/next/client-libraries-websocket/index.html  |   2 +-
 content/docs/ko/next/io-connectors.html            |   4 +-
 content/docs/ko/next/io-connectors/index.html      |   4 +-
 content/docs/ko/next/performance-pulsar-perf.html  |  18 +-
 .../ko/next/performance-pulsar-perf/index.html     |  18 +-
 content/docs/ko/next/pulsar-admin.html             |   8 +-
 content/docs/ko/next/pulsar-admin/index.html       |   8 +-
 content/docs/ko/next/reference-configuration.html  |   3 +-
 .../ko/next/reference-configuration/index.html     |   3 +-
 content/docs/ko/next/reference-metrics.html        |   6 +-
 content/docs/ko/next/reference-metrics/index.html  |   6 +-
 content/docs/ko/next/tiered-storage-aws.html       |   2 +-
 content/docs/ko/next/tiered-storage-aws/index.html |   2 +-
 content/docs/ko/pulsar-admin.html                  |  34 ++
 content/docs/ko/pulsar-admin/index.html            |  34 ++
 content/docs/ko/reference-metrics.html             |   8 +-
 content/docs/ko/reference-metrics/index.html       |   8 +-
 content/docs/ko/tiered-storage-aws.html            |   2 +-
 content/docs/ko/tiered-storage-aws/index.html      |   2 +-
 content/docs/zh-CN/2.4.0/reference-metrics.html    |   8 +-
 .../docs/zh-CN/2.4.0/reference-metrics/index.html  |   8 +-
 content/docs/zh-CN/2.4.1/reference-metrics.html    |   6 +-
 .../docs/zh-CN/2.4.1/reference-metrics/index.html  |   6 +-
 content/docs/zh-CN/2.4.2/reference-metrics.html    |   8 +-
 .../docs/zh-CN/2.4.2/reference-metrics/index.html  |   8 +-
 .../docs/zh-CN/2.5.0/client-libraries-java.html    |   2 +-
 .../zh-CN/2.5.0/client-libraries-java/index.html   |   2 +-
 .../docs/zh-CN/2.5.0/client-libraries-node.html    |   2 +-
 .../zh-CN/2.5.0/client-libraries-node/index.html   |   2 +-
 content/docs/zh-CN/2.5.0/reference-metrics.html    |   8 +-
 .../docs/zh-CN/2.5.0/reference-metrics/index.html  |   8 +-
 .../docs/zh-CN/2.5.1/client-libraries-java.html    |   2 +-
 .../zh-CN/2.5.1/client-libraries-java/index.html   |   2 +-
 .../docs/zh-CN/2.5.1/client-libraries-node.html    |   2 +-
 .../zh-CN/2.5.1/client-libraries-node/index.html   |   2 +-
 content/docs/zh-CN/2.5.1/reference-metrics.html    |   8 +-
 .../docs/zh-CN/2.5.1/reference-metrics/index.html  |   8 +-
 .../docs/zh-CN/2.5.2/client-libraries-java.html    |   2 +-
 .../zh-CN/2.5.2/client-libraries-java/index.html   |   2 +-
 .../docs/zh-CN/2.5.2/client-libraries-node.html    |   2 +-
 .../zh-CN/2.5.2/client-libraries-node/index.html   |   2 +-
 content/docs/zh-CN/2.5.2/reference-metrics.html    |   8 +-
 .../docs/zh-CN/2.5.2/reference-metrics/index.html  |   8 +-
 .../docs/zh-CN/2.6.0/client-libraries-java.html    |   2 +-
 .../zh-CN/2.6.0/client-libraries-java/index.html   |   2 +-
 .../docs/zh-CN/2.6.0/client-libraries-node.html    |   2 +-
 .../zh-CN/2.6.0/client-libraries-node/index.html   |   2 +-
 .../zh-CN/2.6.0/client-libraries-websocket.html    |   2 +-
 .../2.6.0/client-libraries-websocket/index.html    |   2 +-
 content/docs/zh-CN/2.6.0/reference-metrics.html    |   8 +-
 .../docs/zh-CN/2.6.0/reference-metrics/index.html  |   8 +-
 .../docs/zh-CN/2.6.1/client-libraries-java.html    |   2 +-
 .../zh-CN/2.6.1/client-libraries-java/index.html   |   2 +-
 .../docs/zh-CN/2.6.1/client-libraries-node.html    |   2 +-
 .../zh-CN/2.6.1/client-libraries-node/index.html   |   2 +-
 .../zh-CN/2.6.1/client-libraries-websocket.html    |   2 +-
 .../2.6.1/client-libraries-websocket/index.html    |   2 +-
 content/docs/zh-CN/2.6.1/reference-metrics.html    |   8 +-
 .../docs/zh-CN/2.6.1/reference-metrics/index.html  |   8 +-
 .../docs/zh-CN/2.6.2/client-libraries-java.html    |   2 +-
 .../zh-CN/2.6.2/client-libraries-java/index.html   |   2 +-
 .../docs/zh-CN/2.6.2/client-libraries-node.html    |   2 +-
 .../zh-CN/2.6.2/client-libraries-node/index.html   |   2 +-
 .../zh-CN/2.6.2/client-libraries-websocket.html    |   2 +-
 .../2.6.2/client-libraries-websocket/index.html    |   2 +-
 content/docs/zh-CN/2.6.2/reference-metrics.html    |   8 +-
 .../docs/zh-CN/2.6.2/reference-metrics/index.html  |   8 +-
 .../docs/zh-CN/2.6.3/client-libraries-java.html    |   2 +-
 .../zh-CN/2.6.3/client-libraries-java/index.html   |   2 +-
 .../docs/zh-CN/2.6.3/client-libraries-node.html    |   2 +-
 .../zh-CN/2.6.3/client-libraries-node/index.html   |   2 +-
 .../zh-CN/2.6.3/client-libraries-websocket.html    |   2 +-
 .../2.6.3/client-libraries-websocket/index.html    |   2 +-
 content/docs/zh-CN/2.6.3/reference-metrics.html    |   8 +-
 .../docs/zh-CN/2.6.3/reference-metrics/index.html  |   8 +-
 content/docs/zh-CN/client-libraries-java.html      |   2 +-
 .../docs/zh-CN/client-libraries-java/index.html    |   2 +-
 content/docs/zh-CN/client-libraries-node.html      |   2 +-
 .../docs/zh-CN/client-libraries-node/index.html    |   2 +-
 content/docs/zh-CN/client-libraries-websocket.html |   2 +-
 .../zh-CN/client-libraries-websocket/index.html    |   2 +-
 content/docs/zh-CN/next/adaptors-kafka.html        |   8 +-
 content/docs/zh-CN/next/adaptors-kafka/index.html  |   8 +-
 content/docs/zh-CN/next/adaptors-spark.html        |  17 +-
 content/docs/zh-CN/next/adaptors-spark/index.html  |  17 +-
 content/docs/zh-CN/next/client-libraries-java.html |   5 +-
 .../zh-CN/next/client-libraries-java/index.html    |   5 +-
 content/docs/zh-CN/next/client-libraries-node.html |   2 +-
 .../zh-CN/next/client-libraries-node/index.html    |   2 +-
 .../zh-CN/next/client-libraries-websocket.html     |   2 +-
 .../next/client-libraries-websocket/index.html     |   2 +-
 content/docs/zh-CN/next/io-connectors.html         |   4 +-
 content/docs/zh-CN/next/io-connectors/index.html   |   4 +-
 .../docs/zh-CN/next/performance-pulsar-perf.html   |  18 +-
 .../zh-CN/next/performance-pulsar-perf/index.html  |  18 +-
 content/docs/zh-CN/next/pulsar-admin.html          |   8 +-
 content/docs/zh-CN/next/pulsar-admin/index.html    |   8 +-
 .../docs/zh-CN/next/reference-configuration.html   |   3 +-
 .../zh-CN/next/reference-configuration/index.html  |   3 +-
 content/docs/zh-CN/next/reference-metrics.html     |   6 +-
 .../docs/zh-CN/next/reference-metrics/index.html   |   6 +-
 content/docs/zh-CN/next/tiered-storage-aws.html    |   2 +-
 .../docs/zh-CN/next/tiered-storage-aws/index.html  |   2 +-
 content/docs/zh-CN/pulsar-admin.html               |  34 ++
 content/docs/zh-CN/pulsar-admin/index.html         |  34 ++
 content/docs/zh-CN/reference-metrics.html          |   8 +-
 content/docs/zh-CN/reference-metrics/index.html    |   8 +-
 content/docs/zh-CN/tiered-storage-aws.html         |   2 +-
 content/docs/zh-CN/tiered-storage-aws/index.html   |   2 +-
 content/docs/zh-TW/2.4.0/reference-metrics.html    |   8 +-
 .../docs/zh-TW/2.4.0/reference-metrics/index.html  |   8 +-
 content/docs/zh-TW/2.4.1/reference-metrics.html    |   6 +-
 .../docs/zh-TW/2.4.1/reference-metrics/index.html  |   6 +-
 content/docs/zh-TW/2.4.2/reference-metrics.html    |   8 +-
 .../docs/zh-TW/2.4.2/reference-metrics/index.html  |   8 +-
 .../docs/zh-TW/2.5.0/client-libraries-java.html    |   2 +-
 .../zh-TW/2.5.0/client-libraries-java/index.html   |   2 +-
 .../docs/zh-TW/2.5.0/client-libraries-node.html    |   2 +-
 .../zh-TW/2.5.0/client-libraries-node/index.html   |   2 +-
 content/docs/zh-TW/2.5.0/reference-metrics.html    |   8 +-
 .../docs/zh-TW/2.5.0/reference-metrics/index.html  |   8 +-
 .../docs/zh-TW/2.5.1/client-libraries-java.html    |   2 +-
 .../zh-TW/2.5.1/client-libraries-java/index.html   |   2 +-
 .../docs/zh-TW/2.5.1/client-libraries-node.html    |   2 +-
 .../zh-TW/2.5.1/client-libraries-node/index.html   |   2 +-
 content/docs/zh-TW/2.5.1/reference-metrics.html    |   8 +-
 .../docs/zh-TW/2.5.1/reference-metrics/index.html  |   8 +-
 .../docs/zh-TW/2.5.2/client-libraries-java.html    |   2 +-
 .../zh-TW/2.5.2/client-libraries-java/index.html   |   2 +-
 .../docs/zh-TW/2.5.2/client-libraries-node.html    |   2 +-
 .../zh-TW/2.5.2/client-libraries-node/index.html   |   2 +-
 content/docs/zh-TW/2.5.2/reference-metrics.html    |   8 +-
 .../docs/zh-TW/2.5.2/reference-metrics/index.html  |   8 +-
 .../docs/zh-TW/2.6.0/client-libraries-java.html    |   2 +-
 .../zh-TW/2.6.0/client-libraries-java/index.html   |   2 +-
 .../docs/zh-TW/2.6.0/client-libraries-node.html    |   2 +-
 .../zh-TW/2.6.0/client-libraries-node/index.html   |   2 +-
 .../zh-TW/2.6.0/client-libraries-websocket.html    |   2 +-
 .../2.6.0/client-libraries-websocket/index.html    |   2 +-
 content/docs/zh-TW/2.6.0/reference-metrics.html    |   8 +-
 .../docs/zh-TW/2.6.0/reference-metrics/index.html  |   8 +-
 .../docs/zh-TW/2.6.1/client-libraries-java.html    |   2 +-
 .../zh-TW/2.6.1/client-libraries-java/index.html   |   2 +-
 .../docs/zh-TW/2.6.1/client-libraries-node.html    |   2 +-
 .../zh-TW/2.6.1/client-libraries-node/index.html   |   2 +-
 .../zh-TW/2.6.1/client-libraries-websocket.html    |   2 +-
 .../2.6.1/client-libraries-websocket/index.html    |   2 +-
 content/docs/zh-TW/2.6.1/reference-metrics.html    |   8 +-
 .../docs/zh-TW/2.6.1/reference-metrics/index.html  |   8 +-
 .../docs/zh-TW/2.6.2/client-libraries-java.html    |   2 +-
 .../zh-TW/2.6.2/client-libraries-java/index.html   |   2 +-
 .../docs/zh-TW/2.6.2/client-libraries-node.html    |   2 +-
 .../zh-TW/2.6.2/client-libraries-node/index.html   |   2 +-
 .../zh-TW/2.6.2/client-libraries-websocket.html    |   2 +-
 .../2.6.2/client-libraries-websocket/index.html    |   2 +-
 content/docs/zh-TW/2.6.2/reference-metrics.html    |   8 +-
 .../docs/zh-TW/2.6.2/reference-metrics/index.html  |   8 +-
 .../docs/zh-TW/2.6.3/client-libraries-java.html    |   2 +-
 .../zh-TW/2.6.3/client-libraries-java/index.html   |   2 +-
 .../docs/zh-TW/2.6.3/client-libraries-node.html    |   2 +-
 .../zh-TW/2.6.3/client-libraries-node/index.html   |   2 +-
 .../zh-TW/2.6.3/client-libraries-websocket.html    |   2 +-
 .../2.6.3/client-libraries-websocket/index.html    |   2 +-
 content/docs/zh-TW/2.6.3/reference-metrics.html    |   8 +-
 .../docs/zh-TW/2.6.3/reference-metrics/index.html  |   8 +-
 content/docs/zh-TW/client-libraries-java.html      |   2 +-
 .../docs/zh-TW/client-libraries-java/index.html    |   2 +-
 content/docs/zh-TW/client-libraries-node.html      |   2 +-
 .../docs/zh-TW/client-libraries-node/index.html    |   2 +-
 content/docs/zh-TW/client-libraries-websocket.html |   2 +-
 .../zh-TW/client-libraries-websocket/index.html    |   2 +-
 content/docs/zh-TW/next/adaptors-kafka.html        |   8 +-
 content/docs/zh-TW/next/adaptors-kafka/index.html  |   8 +-
 content/docs/zh-TW/next/adaptors-spark.html        |  17 +-
 content/docs/zh-TW/next/adaptors-spark/index.html  |  17 +-
 content/docs/zh-TW/next/client-libraries-java.html |   5 +-
 .../zh-TW/next/client-libraries-java/index.html    |   5 +-
 content/docs/zh-TW/next/client-libraries-node.html |   2 +-
 .../zh-TW/next/client-libraries-node/index.html    |   2 +-
 .../zh-TW/next/client-libraries-websocket.html     |   2 +-
 .../next/client-libraries-websocket/index.html     |   2 +-
 content/docs/zh-TW/next/io-connectors.html         |   4 +-
 content/docs/zh-TW/next/io-connectors/index.html   |   4 +-
 .../docs/zh-TW/next/performance-pulsar-perf.html   |  18 +-
 .../zh-TW/next/performance-pulsar-perf/index.html  |  18 +-
 content/docs/zh-TW/next/pulsar-admin.html          |   8 +-
 content/docs/zh-TW/next/pulsar-admin/index.html    |   8 +-
 .../docs/zh-TW/next/reference-configuration.html   |   3 +-
 .../zh-TW/next/reference-configuration/index.html  |   3 +-
 content/docs/zh-TW/next/reference-metrics.html     |   6 +-
 .../docs/zh-TW/next/reference-metrics/index.html   |   6 +-
 content/docs/zh-TW/next/tiered-storage-aws.html    |   2 +-
 .../docs/zh-TW/next/tiered-storage-aws/index.html  |   2 +-
 content/docs/zh-TW/pulsar-admin.html               |  34 ++
 content/docs/zh-TW/pulsar-admin/index.html         |  34 ++
 content/docs/zh-TW/reference-metrics.html          |   8 +-
 content/docs/zh-TW/reference-metrics/index.html    |   8 +-
 content/docs/zh-TW/tiered-storage-aws.html         |   2 +-
 content/docs/zh-TW/tiered-storage-aws/index.html   |   2 +-
 content/en/powered-by.html                         |   2 +-
 content/en/powered-by/index.html                   |   2 +-
 content/en/release-notes.html                      |   2 +-
 content/en/release-notes/index.html                |   2 +-
 content/fr/powered-by.html                         |   2 +-
 content/fr/powered-by/index.html                   |   2 +-
 content/fr/release-notes.html                      |   2 +-
 content/fr/release-notes/index.html                |   2 +-
 content/ja/powered-by.html                         |   2 +-
 content/ja/powered-by/index.html                   |   2 +-
 content/ja/release-notes.html                      |   2 +-
 content/ja/release-notes/index.html                |   2 +-
 content/ko/powered-by.html                         |   2 +-
 content/ko/powered-by/index.html                   |   2 +-
 content/ko/release-notes.html                      |   2 +-
 content/ko/release-notes/index.html                |   2 +-
 content/powered-by.html                            |   2 +-
 content/powered-by/index.html                      |   2 +-
 content/release-notes.html                         |   2 +-
 content/release-notes/index.html                   |   2 +-
 content/swagger/2.8.0-SNAPSHOT/swagger.json        | 635 ++++++++++----------
 .../swagger/2.8.0-SNAPSHOT/swaggerfunctions.json   | 578 +++++++++---------
 .../swagger/2.8.0-SNAPSHOT/swaggerpackages.json    | 562 +++++++++---------
 content/swagger/2.8.0-SNAPSHOT/swaggersink.json    | 562 +++++++++---------
 content/swagger/2.8.0-SNAPSHOT/swaggersource.json  | 562 +++++++++---------
 content/swagger/2.8.0-SNAPSHOT/v2/swagger.json     | 659 +++++++++++----------
 .../2.8.0-SNAPSHOT/v3/swaggerfunctions.json        | 610 +++++++++----------
 .../swagger/2.8.0-SNAPSHOT/v3/swaggerpackages.json | 590 +++++++++---------
 content/swagger/2.8.0-SNAPSHOT/v3/swaggersink.json | 590 +++++++++---------
 .../swagger/2.8.0-SNAPSHOT/v3/swaggersource.json   | 590 +++++++++---------
 content/swagger/master/swagger.json                | 635 ++++++++++----------
 content/swagger/master/swaggerfunctions.json       | 578 +++++++++---------
 content/swagger/master/swaggerpackages.json        | 562 +++++++++---------
 content/swagger/master/swaggersink.json            | 562 +++++++++---------
 content/swagger/master/swaggersource.json          | 562 +++++++++---------
 content/swagger/master/v2/swagger.json             | 659 +++++++++++----------
 content/swagger/master/v3/swaggerfunctions.json    | 610 +++++++++----------
 content/swagger/master/v3/swaggerpackages.json     | 590 +++++++++---------
 content/swagger/master/v3/swaggersink.json         | 590 +++++++++---------
 content/swagger/master/v3/swaggersource.json       | 590 +++++++++---------
 content/swagger/restApiVersions.json               |  24 +-
 .../tools/pulsar-admin/2.8.0-SNAPSHOT/index.html   |  22 +
 content/zh-CN/powered-by.html                      |   2 +-
 content/zh-CN/powered-by/index.html                |   2 +-
 content/zh-CN/release-notes.html                   |   2 +-
 content/zh-CN/release-notes/index.html             |   2 +-
 content/zh-TW/powered-by.html                      |   2 +-
 content/zh-TW/powered-by/index.html                |   2 +-
 content/zh-TW/release-notes.html                   |   2 +-
 content/zh-TW/release-notes/index.html             |   2 +-
 592 files changed, 7788 insertions(+), 7126 deletions(-)

diff --git a/content/api/python/2.8.0-SNAPSHOT/index.html b/content/api/python/2.8.0-SNAPSHOT/index.html
index 209c4e6..a3485c8 100644
--- a/content/api/python/2.8.0-SNAPSHOT/index.html
+++ b/content/api/python/2.8.0-SNAPSHOT/index.html
@@ -3581,7 +3581,7 @@ producers and consumers.</p></div>
             
   <div class="item">
     <div class="name def" id="pulsar.Client.create_producer">
-    <p>def <span class="ident">create_producer</span>(</p><p>self, topic, producer_name=None, schema=&lt;pulsar.schema.schema.BytesSchema object at 0x7f629adcc710&gt;, initial_sequence_id=None, send_timeout_millis=30000, compression_type=_pulsar.CompressionType.NONE, max_pending_messages=1000, max_pending_messages_across_partitions=50000, block_if_queue_full=False, batching_enabled=False, batching_max_messages=1000, batching_max_allowed_size_in_bytes=131072, batching_max_publish_delay_ms [...]
+    <p>def <span class="ident">create_producer</span>(</p><p>self, topic, producer_name=None, schema=&lt;pulsar.schema.schema.BytesSchema object at 0x7f843e769710&gt;, initial_sequence_id=None, send_timeout_millis=30000, compression_type=_pulsar.CompressionType.NONE, max_pending_messages=1000, max_pending_messages_across_partitions=50000, block_if_queue_full=False, batching_enabled=False, batching_max_messages=1000, batching_max_allowed_size_in_bytes=131072, batching_max_publish_delay_ms [...]
     </div>
     
 
@@ -3791,7 +3791,7 @@ batched into single batch message:
             
   <div class="item">
     <div class="name def" id="pulsar.Client.create_reader">
-    <p>def <span class="ident">create_reader</span>(</p><p>self, topic, start_message_id, schema=&lt;pulsar.schema.schema.BytesSchema object at 0x7f629add7dd0&gt;, reader_listener=None, receiver_queue_size=1000, reader_name=None, subscription_role_prefix=None, is_read_compacted=False)</p>
+    <p>def <span class="ident">create_reader</span>(</p><p>self, topic, start_message_id, schema=&lt;pulsar.schema.schema.BytesSchema object at 0x7f843e774dd0&gt;, reader_listener=None, receiver_queue_size=1000, reader_name=None, subscription_role_prefix=None, is_read_compacted=False)</p>
     </div>
     
 
@@ -3970,7 +3970,7 @@ instances directly on a particular partition.
             
   <div class="item">
     <div class="name def" id="pulsar.Client.subscribe">
-    <p>def <span class="ident">subscribe</span>(</p><p>self, topic, subscription_name, consumer_type=_pulsar.ConsumerType.Exclusive, schema=&lt;pulsar.schema.schema.BytesSchema object at 0x7f629add7d50&gt;, message_listener=None, receiver_queue_size=1000, max_total_receiver_queue_size_across_partitions=50000, consumer_name=None, unacked_messages_timeout_ms=None, broker_consumer_stats_cache_time_ms=30000, negative_ack_redelivery_delay_ms=60000, is_read_compacted=False, properties=None, pa [...]
+    <p>def <span class="ident">subscribe</span>(</p><p>self, topic, subscription_name, consumer_type=_pulsar.ConsumerType.Exclusive, schema=&lt;pulsar.schema.schema.BytesSchema object at 0x7f843e774d50&gt;, message_listener=None, receiver_queue_size=1000, max_total_receiver_queue_size_across_partitions=50000, consumer_name=None, unacked_messages_timeout_ms=None, broker_consumer_stats_cache_time_ms=30000, negative_ack_redelivery_delay_ms=60000, is_read_compacted=False, properties=None, pa [...]
     </div>
     
 
diff --git a/content/api/python/index.html b/content/api/python/index.html
index 209c4e6..a3485c8 100644
--- a/content/api/python/index.html
+++ b/content/api/python/index.html
@@ -3581,7 +3581,7 @@ producers and consumers.</p></div>
             
   <div class="item">
     <div class="name def" id="pulsar.Client.create_producer">
-    <p>def <span class="ident">create_producer</span>(</p><p>self, topic, producer_name=None, schema=&lt;pulsar.schema.schema.BytesSchema object at 0x7f629adcc710&gt;, initial_sequence_id=None, send_timeout_millis=30000, compression_type=_pulsar.CompressionType.NONE, max_pending_messages=1000, max_pending_messages_across_partitions=50000, block_if_queue_full=False, batching_enabled=False, batching_max_messages=1000, batching_max_allowed_size_in_bytes=131072, batching_max_publish_delay_ms [...]
+    <p>def <span class="ident">create_producer</span>(</p><p>self, topic, producer_name=None, schema=&lt;pulsar.schema.schema.BytesSchema object at 0x7f843e769710&gt;, initial_sequence_id=None, send_timeout_millis=30000, compression_type=_pulsar.CompressionType.NONE, max_pending_messages=1000, max_pending_messages_across_partitions=50000, block_if_queue_full=False, batching_enabled=False, batching_max_messages=1000, batching_max_allowed_size_in_bytes=131072, batching_max_publish_delay_ms [...]
     </div>
     
 
@@ -3791,7 +3791,7 @@ batched into single batch message:
             
   <div class="item">
     <div class="name def" id="pulsar.Client.create_reader">
-    <p>def <span class="ident">create_reader</span>(</p><p>self, topic, start_message_id, schema=&lt;pulsar.schema.schema.BytesSchema object at 0x7f629add7dd0&gt;, reader_listener=None, receiver_queue_size=1000, reader_name=None, subscription_role_prefix=None, is_read_compacted=False)</p>
+    <p>def <span class="ident">create_reader</span>(</p><p>self, topic, start_message_id, schema=&lt;pulsar.schema.schema.BytesSchema object at 0x7f843e774dd0&gt;, reader_listener=None, receiver_queue_size=1000, reader_name=None, subscription_role_prefix=None, is_read_compacted=False)</p>
     </div>
     
 
@@ -3970,7 +3970,7 @@ instances directly on a particular partition.
             
   <div class="item">
     <div class="name def" id="pulsar.Client.subscribe">
-    <p>def <span class="ident">subscribe</span>(</p><p>self, topic, subscription_name, consumer_type=_pulsar.ConsumerType.Exclusive, schema=&lt;pulsar.schema.schema.BytesSchema object at 0x7f629add7d50&gt;, message_listener=None, receiver_queue_size=1000, max_total_receiver_queue_size_across_partitions=50000, consumer_name=None, unacked_messages_timeout_ms=None, broker_consumer_stats_cache_time_ms=30000, negative_ack_redelivery_delay_ms=60000, is_read_compacted=False, properties=None, pa [...]
+    <p>def <span class="ident">subscribe</span>(</p><p>self, topic, subscription_name, consumer_type=_pulsar.ConsumerType.Exclusive, schema=&lt;pulsar.schema.schema.BytesSchema object at 0x7f843e774d50&gt;, message_listener=None, receiver_queue_size=1000, max_total_receiver_queue_size_across_partitions=50000, consumer_name=None, unacked_messages_timeout_ms=None, broker_consumer_stats_cache_time_ms=30000, negative_ack_redelivery_delay_ms=60000, is_read_compacted=False, properties=None, pa [...]
     </div>
     
 
diff --git a/content/docs/en/2.4.0/reference-metrics.html b/content/docs/en/2.4.0/reference-metrics.html
index 98c896d..5b1392f 100644
--- a/content/docs/en/2.4.0/reference-metrics.html
+++ b/content/docs/en/2.4.0/reference-metrics.html
@@ -77,8 +77,8 @@ in <code>bookkeeper.conf</code> configuration file.</p>
 <tr><td>bookkeeper_server_READ_ENTRY_count</td><td>Counter</td><td>The total number of READ_ENTRY requests received at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
 <tr><td>bookie_WRITE_BYTES</td><td>Counter</td><td>The total number of bytes written to the bookie.</td></tr>
 <tr><td>bookie_READ_BYTES</td><td>Counter</td><td>The total number of bytes read from the bookie.</td></tr>
-<tr><td>bookkeeper_server_ADD_ENTRY_REQUEST</td><td>Histogram</td><td>The histogram of request latency of ADD_ENTRY requests at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
-<tr><td>bookkeeper_server_READ_ENTRY_REQUEST</td><td>Histogram</td><td>The histogram of request latency of READ_ENTRY requests at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
+<tr><td>bookkeeper_server_ADD_ENTRY_REQUEST</td><td>Summary</td><td>The summary of request latency of ADD_ENTRY requests at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
+<tr><td>bookkeeper_server_READ_ENTRY_REQUEST</td><td>Summary</td><td>The summary of request latency of READ_ENTRY requests at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
 </tbody>
 </table>
 <h3><a class="anchor" aria-hidden="true" id="journal-metrics"></a><a href="#journal-metrics" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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  [...]
@@ -91,8 +91,8 @@ in <code>bookkeeper.conf</code> configuration file.</p>
 <tr><td>bookie_journal_JOURNAL_QUEUE_SIZE</td><td>Gauge</td><td>The total number of requests pending in the journal queue.</td></tr>
 <tr><td>bookie_journal_JOURNAL_FORCE_WRITE_QUEUE_SIZE</td><td>Gauge</td><td>The total number of force write (fsync) requests pending in the force-write queue.</td></tr>
 <tr><td>bookie_journal_JOURNAL_CB_QUEUE_SIZE</td><td>Gauge</td><td>The total number of callbacks pending in the callback queue.</td></tr>
-<tr><td>bookie_journal_JOURNAL_ADD_ENTRY</td><td>Histogram</td><td>The histogram of request latency of adding entries to the journal.</td></tr>
-<tr><td>bookie_journal_JOURNAL_SYNC</td><td>Histogram</td><td>The histogram of fsync latency of syncing data to the journal disk.</td></tr>
+<tr><td>bookie_journal_JOURNAL_ADD_ENTRY</td><td>Summary</td><td>The summary of request latency of adding entries to the journal.</td></tr>
+<tr><td>bookie_journal_JOURNAL_SYNC</td><td>Summary</td><td>The summary of fsync latency of syncing data to the journal disk.</td></tr>
 </tbody>
 </table>
 <h3><a class="anchor" aria-hidden="true" id="storage-metrics"></a><a href="#storage-metrics" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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  [...]
diff --git a/content/docs/en/2.4.0/reference-metrics/index.html b/content/docs/en/2.4.0/reference-metrics/index.html
index 98c896d..5b1392f 100644
--- a/content/docs/en/2.4.0/reference-metrics/index.html
+++ b/content/docs/en/2.4.0/reference-metrics/index.html
@@ -77,8 +77,8 @@ in <code>bookkeeper.conf</code> configuration file.</p>
 <tr><td>bookkeeper_server_READ_ENTRY_count</td><td>Counter</td><td>The total number of READ_ENTRY requests received at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
 <tr><td>bookie_WRITE_BYTES</td><td>Counter</td><td>The total number of bytes written to the bookie.</td></tr>
 <tr><td>bookie_READ_BYTES</td><td>Counter</td><td>The total number of bytes read from the bookie.</td></tr>
-<tr><td>bookkeeper_server_ADD_ENTRY_REQUEST</td><td>Histogram</td><td>The histogram of request latency of ADD_ENTRY requests at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
-<tr><td>bookkeeper_server_READ_ENTRY_REQUEST</td><td>Histogram</td><td>The histogram of request latency of READ_ENTRY requests at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
+<tr><td>bookkeeper_server_ADD_ENTRY_REQUEST</td><td>Summary</td><td>The summary of request latency of ADD_ENTRY requests at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
+<tr><td>bookkeeper_server_READ_ENTRY_REQUEST</td><td>Summary</td><td>The summary of request latency of READ_ENTRY requests at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
 </tbody>
 </table>
 <h3><a class="anchor" aria-hidden="true" id="journal-metrics"></a><a href="#journal-metrics" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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  [...]
@@ -91,8 +91,8 @@ in <code>bookkeeper.conf</code> configuration file.</p>
 <tr><td>bookie_journal_JOURNAL_QUEUE_SIZE</td><td>Gauge</td><td>The total number of requests pending in the journal queue.</td></tr>
 <tr><td>bookie_journal_JOURNAL_FORCE_WRITE_QUEUE_SIZE</td><td>Gauge</td><td>The total number of force write (fsync) requests pending in the force-write queue.</td></tr>
 <tr><td>bookie_journal_JOURNAL_CB_QUEUE_SIZE</td><td>Gauge</td><td>The total number of callbacks pending in the callback queue.</td></tr>
-<tr><td>bookie_journal_JOURNAL_ADD_ENTRY</td><td>Histogram</td><td>The histogram of request latency of adding entries to the journal.</td></tr>
-<tr><td>bookie_journal_JOURNAL_SYNC</td><td>Histogram</td><td>The histogram of fsync latency of syncing data to the journal disk.</td></tr>
+<tr><td>bookie_journal_JOURNAL_ADD_ENTRY</td><td>Summary</td><td>The summary of request latency of adding entries to the journal.</td></tr>
+<tr><td>bookie_journal_JOURNAL_SYNC</td><td>Summary</td><td>The summary of fsync latency of syncing data to the journal disk.</td></tr>
 </tbody>
 </table>
 <h3><a class="anchor" aria-hidden="true" id="storage-metrics"></a><a href="#storage-metrics" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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  [...]
diff --git a/content/docs/en/2.4.1/reference-metrics.html b/content/docs/en/2.4.1/reference-metrics.html
index 3bf65ac..bffee67 100644
--- a/content/docs/en/2.4.1/reference-metrics.html
+++ b/content/docs/en/2.4.1/reference-metrics.html
@@ -133,8 +133,8 @@ in <code>bookkeeper.conf</code> configuration file.</p>
 <tr><td>bookkeeper_server_READ_ENTRY_count</td><td>Counter</td><td>The total number of READ_ENTRY requests received at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
 <tr><td>bookie_WRITE_BYTES</td><td>Counter</td><td>The total number of bytes written to the bookie.</td></tr>
 <tr><td>bookie_READ_BYTES</td><td>Counter</td><td>The total number of bytes read from the bookie.</td></tr>
-<tr><td>bookkeeper_server_ADD_ENTRY_REQUEST</td><td>Histogram</td><td>The histogram of request latency of ADD_ENTRY requests at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
-<tr><td>bookkeeper_server_READ_ENTRY_REQUEST</td><td>Histogram</td><td>The histogram of request latency of READ_ENTRY requests at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
+<tr><td>bookkeeper_server_ADD_ENTRY_REQUEST</td><td>Summary</td><td>The summary of request latency of ADD_ENTRY requests at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
+<tr><td>bookkeeper_server_READ_ENTRY_REQUEST</td><td>Summary</td><td>The summary of request latency of READ_ENTRY requests at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
 </tbody>
 </table>
 <h3><a class="anchor" aria-hidden="true" id="journal-metrics"></a><a href="#journal-metrics" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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  [...]
@@ -147,8 +147,8 @@ in <code>bookkeeper.conf</code> configuration file.</p>
 <tr><td>bookie_journal_JOURNAL_QUEUE_SIZE</td><td>Gauge</td><td>The total number of requests pending in the journal queue.</td></tr>
 <tr><td>bookie_journal_JOURNAL_FORCE_WRITE_QUEUE_SIZE</td><td>Gauge</td><td>The total number of force write (fsync) requests pending in the force-write queue.</td></tr>
 <tr><td>bookie_journal_JOURNAL_CB_QUEUE_SIZE</td><td>Gauge</td><td>The total number of callbacks pending in the callback queue.</td></tr>
-<tr><td>bookie_journal_JOURNAL_ADD_ENTRY</td><td>Histogram</td><td>The histogram of request latency of adding entries to the journal.</td></tr>
-<tr><td>bookie_journal_JOURNAL_SYNC</td><td>Histogram</td><td>The histogram of fsync latency of syncing data to the journal disk.</td></tr>
+<tr><td>bookie_journal_JOURNAL_ADD_ENTRY</td><td>Summary</td><td>The summary of request latency of adding entries to the journal.</td></tr>
+<tr><td>bookie_journal_JOURNAL_SYNC</td><td>Summary</td><td>The summary of fsync latency of syncing data to the journal disk.</td></tr>
 </tbody>
 </table>
 <h3><a class="anchor" aria-hidden="true" id="storage-metrics"></a><a href="#storage-metrics" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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  [...]
diff --git a/content/docs/en/2.4.1/reference-metrics/index.html b/content/docs/en/2.4.1/reference-metrics/index.html
index 3bf65ac..bffee67 100644
--- a/content/docs/en/2.4.1/reference-metrics/index.html
+++ b/content/docs/en/2.4.1/reference-metrics/index.html
@@ -133,8 +133,8 @@ in <code>bookkeeper.conf</code> configuration file.</p>
 <tr><td>bookkeeper_server_READ_ENTRY_count</td><td>Counter</td><td>The total number of READ_ENTRY requests received at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
 <tr><td>bookie_WRITE_BYTES</td><td>Counter</td><td>The total number of bytes written to the bookie.</td></tr>
 <tr><td>bookie_READ_BYTES</td><td>Counter</td><td>The total number of bytes read from the bookie.</td></tr>
-<tr><td>bookkeeper_server_ADD_ENTRY_REQUEST</td><td>Histogram</td><td>The histogram of request latency of ADD_ENTRY requests at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
-<tr><td>bookkeeper_server_READ_ENTRY_REQUEST</td><td>Histogram</td><td>The histogram of request latency of READ_ENTRY requests at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
+<tr><td>bookkeeper_server_ADD_ENTRY_REQUEST</td><td>Summary</td><td>The summary of request latency of ADD_ENTRY requests at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
+<tr><td>bookkeeper_server_READ_ENTRY_REQUEST</td><td>Summary</td><td>The summary of request latency of READ_ENTRY requests at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
 </tbody>
 </table>
 <h3><a class="anchor" aria-hidden="true" id="journal-metrics"></a><a href="#journal-metrics" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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  [...]
@@ -147,8 +147,8 @@ in <code>bookkeeper.conf</code> configuration file.</p>
 <tr><td>bookie_journal_JOURNAL_QUEUE_SIZE</td><td>Gauge</td><td>The total number of requests pending in the journal queue.</td></tr>
 <tr><td>bookie_journal_JOURNAL_FORCE_WRITE_QUEUE_SIZE</td><td>Gauge</td><td>The total number of force write (fsync) requests pending in the force-write queue.</td></tr>
 <tr><td>bookie_journal_JOURNAL_CB_QUEUE_SIZE</td><td>Gauge</td><td>The total number of callbacks pending in the callback queue.</td></tr>
-<tr><td>bookie_journal_JOURNAL_ADD_ENTRY</td><td>Histogram</td><td>The histogram of request latency of adding entries to the journal.</td></tr>
-<tr><td>bookie_journal_JOURNAL_SYNC</td><td>Histogram</td><td>The histogram of fsync latency of syncing data to the journal disk.</td></tr>
+<tr><td>bookie_journal_JOURNAL_ADD_ENTRY</td><td>Summary</td><td>The summary of request latency of adding entries to the journal.</td></tr>
+<tr><td>bookie_journal_JOURNAL_SYNC</td><td>Summary</td><td>The summary of fsync latency of syncing data to the journal disk.</td></tr>
 </tbody>
 </table>
 <h3><a class="anchor" aria-hidden="true" id="storage-metrics"></a><a href="#storage-metrics" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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  [...]
diff --git a/content/docs/en/2.4.2/reference-metrics.html b/content/docs/en/2.4.2/reference-metrics.html
index 57408ae..94b3626 100644
--- a/content/docs/en/2.4.2/reference-metrics.html
+++ b/content/docs/en/2.4.2/reference-metrics.html
@@ -133,8 +133,8 @@ in <code>bookkeeper.conf</code> configuration file.</p>
 <tr><td>bookkeeper_server_READ_ENTRY_count</td><td>Counter</td><td>The total number of READ_ENTRY requests received at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
 <tr><td>bookie_WRITE_BYTES</td><td>Counter</td><td>The total number of bytes written to the bookie.</td></tr>
 <tr><td>bookie_READ_BYTES</td><td>Counter</td><td>The total number of bytes read from the bookie.</td></tr>
-<tr><td>bookkeeper_server_ADD_ENTRY_REQUEST</td><td>Histogram</td><td>The histogram of request latency of ADD_ENTRY requests at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
-<tr><td>bookkeeper_server_READ_ENTRY_REQUEST</td><td>Histogram</td><td>The histogram of request latency of READ_ENTRY requests at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
+<tr><td>bookkeeper_server_ADD_ENTRY_REQUEST</td><td>Summary</td><td>The summary of request latency of ADD_ENTRY requests at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
+<tr><td>bookkeeper_server_READ_ENTRY_REQUEST</td><td>Summary</td><td>The summary of request latency of READ_ENTRY requests at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
 </tbody>
 </table>
 <h3><a class="anchor" aria-hidden="true" id="journal-metrics"></a><a href="#journal-metrics" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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  [...]
@@ -147,8 +147,8 @@ in <code>bookkeeper.conf</code> configuration file.</p>
 <tr><td>bookie_journal_JOURNAL_QUEUE_SIZE</td><td>Gauge</td><td>The total number of requests pending in the journal queue.</td></tr>
 <tr><td>bookie_journal_JOURNAL_FORCE_WRITE_QUEUE_SIZE</td><td>Gauge</td><td>The total number of force write (fsync) requests pending in the force-write queue.</td></tr>
 <tr><td>bookie_journal_JOURNAL_CB_QUEUE_SIZE</td><td>Gauge</td><td>The total number of callbacks pending in the callback queue.</td></tr>
-<tr><td>bookie_journal_JOURNAL_ADD_ENTRY</td><td>Histogram</td><td>The histogram of request latency of adding entries to the journal.</td></tr>
-<tr><td>bookie_journal_JOURNAL_SYNC</td><td>Histogram</td><td>The histogram of fsync latency of syncing data to the journal disk.</td></tr>
+<tr><td>bookie_journal_JOURNAL_ADD_ENTRY</td><td>Summary</td><td>The summary of request latency of adding entries to the journal.</td></tr>
+<tr><td>bookie_journal_JOURNAL_SYNC</td><td>Summary</td><td>The summary of fsync latency of syncing data to the journal disk.</td></tr>
 </tbody>
 </table>
 <h3><a class="anchor" aria-hidden="true" id="storage-metrics"></a><a href="#storage-metrics" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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  [...]
diff --git a/content/docs/en/2.4.2/reference-metrics/index.html b/content/docs/en/2.4.2/reference-metrics/index.html
index 57408ae..94b3626 100644
--- a/content/docs/en/2.4.2/reference-metrics/index.html
+++ b/content/docs/en/2.4.2/reference-metrics/index.html
@@ -133,8 +133,8 @@ in <code>bookkeeper.conf</code> configuration file.</p>
 <tr><td>bookkeeper_server_READ_ENTRY_count</td><td>Counter</td><td>The total number of READ_ENTRY requests received at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
 <tr><td>bookie_WRITE_BYTES</td><td>Counter</td><td>The total number of bytes written to the bookie.</td></tr>
 <tr><td>bookie_READ_BYTES</td><td>Counter</td><td>The total number of bytes read from the bookie.</td></tr>
-<tr><td>bookkeeper_server_ADD_ENTRY_REQUEST</td><td>Histogram</td><td>The histogram of request latency of ADD_ENTRY requests at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
-<tr><td>bookkeeper_server_READ_ENTRY_REQUEST</td><td>Histogram</td><td>The histogram of request latency of READ_ENTRY requests at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
+<tr><td>bookkeeper_server_ADD_ENTRY_REQUEST</td><td>Summary</td><td>The summary of request latency of ADD_ENTRY requests at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
+<tr><td>bookkeeper_server_READ_ENTRY_REQUEST</td><td>Summary</td><td>The summary of request latency of READ_ENTRY requests at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
 </tbody>
 </table>
 <h3><a class="anchor" aria-hidden="true" id="journal-metrics"></a><a href="#journal-metrics" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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  [...]
@@ -147,8 +147,8 @@ in <code>bookkeeper.conf</code> configuration file.</p>
 <tr><td>bookie_journal_JOURNAL_QUEUE_SIZE</td><td>Gauge</td><td>The total number of requests pending in the journal queue.</td></tr>
 <tr><td>bookie_journal_JOURNAL_FORCE_WRITE_QUEUE_SIZE</td><td>Gauge</td><td>The total number of force write (fsync) requests pending in the force-write queue.</td></tr>
 <tr><td>bookie_journal_JOURNAL_CB_QUEUE_SIZE</td><td>Gauge</td><td>The total number of callbacks pending in the callback queue.</td></tr>
-<tr><td>bookie_journal_JOURNAL_ADD_ENTRY</td><td>Histogram</td><td>The histogram of request latency of adding entries to the journal.</td></tr>
-<tr><td>bookie_journal_JOURNAL_SYNC</td><td>Histogram</td><td>The histogram of fsync latency of syncing data to the journal disk.</td></tr>
+<tr><td>bookie_journal_JOURNAL_ADD_ENTRY</td><td>Summary</td><td>The summary of request latency of adding entries to the journal.</td></tr>
+<tr><td>bookie_journal_JOURNAL_SYNC</td><td>Summary</td><td>The summary of fsync latency of syncing data to the journal disk.</td></tr>
 </tbody>
 </table>
 <h3><a class="anchor" aria-hidden="true" id="storage-metrics"></a><a href="#storage-metrics" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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  [...]
diff --git a/content/docs/en/2.5.0/client-libraries-java.html b/content/docs/en/2.5.0/client-libraries-java.html
index 9a8c581..76d6814 100644
--- a/content/docs/en/2.5.0/client-libraries-java.html
+++ b/content/docs/en/2.5.0/client-libraries-java.html
@@ -296,7 +296,7 @@ client.close();
 <tr><td>Set&lt;String&gt;</td><td><code>topicNames</code></td><td>Topic name</td><td>Sets.newTreeSet()</td></tr>
 <tr><td>Pattern</td><td><code>topicsPattern</code></td><td>Topic pattern</td><td>None</td></tr>
 <tr><td>String</td><td><code>subscriptionName</code></td><td>Subscription name</td><td>None</td></tr>
-<tr><td>SubscriptionType</td><td><code>subscriptionType</code></td><td>Subscription type <br/><br/>Three subscription types are available:<li>Exclusive</li><li>Failover</li><li>Shared</li></td><td>SubscriptionType.Exclusive</td></tr>
+<tr><td>SubscriptionType</td><td><code>subscriptionType</code></td><td>Subscription type <br/><br/>Four subscription types are available:<li>Exclusive</li><li>Failover</li><li>Shared</li><li>Key_Shared</li></td><td>SubscriptionType.Exclusive</td></tr>
 <tr><td>int</td><td><code>receiverQueueSize</code></td><td>Size of a consumer's receiver queue. <br/><br/>For example, the number of messages accumulated by a consumer before an application calls <code>Receive</code>. <br/><br/>A value higher than the default value increases consumer throughput, though at the expense of more memory utilization.</td><td>1000</td></tr>
 <tr><td>long</td><td><code>acknowledgementsGroupTimeMicros</code></td><td>Group a consumer acknowledgment for a specified time.<br/><br/>By default, a consumer uses 100ms grouping time to send out acknowledgments to a broker.<br/><br/>Setting a group time of 0 sends out acknowledgments immediately. <br/><br/>A longer ack group time is more efficient at the expense of a slight increase in message re-deliveries after a failure.</td><td>TimeUnit.MILLISECONDS.toMicros(100)</td></tr>
 <tr><td>long</td><td><code>negativeAckRedeliveryDelayMicros</code></td><td>Delay to wait before redelivering messages that failed to be processed.<br/><br/> When an application uses {@link Consumer#negativeAcknowledge(Message)}, failed messages are redelivered after a fixed timeout.</td><td>TimeUnit.MINUTES.toMicros(1)</td></tr>
diff --git a/content/docs/en/2.5.0/client-libraries-java/index.html b/content/docs/en/2.5.0/client-libraries-java/index.html
index 9a8c581..76d6814 100644
--- a/content/docs/en/2.5.0/client-libraries-java/index.html
+++ b/content/docs/en/2.5.0/client-libraries-java/index.html
@@ -296,7 +296,7 @@ client.close();
 <tr><td>Set&lt;String&gt;</td><td><code>topicNames</code></td><td>Topic name</td><td>Sets.newTreeSet()</td></tr>
 <tr><td>Pattern</td><td><code>topicsPattern</code></td><td>Topic pattern</td><td>None</td></tr>
 <tr><td>String</td><td><code>subscriptionName</code></td><td>Subscription name</td><td>None</td></tr>
-<tr><td>SubscriptionType</td><td><code>subscriptionType</code></td><td>Subscription type <br/><br/>Three subscription types are available:<li>Exclusive</li><li>Failover</li><li>Shared</li></td><td>SubscriptionType.Exclusive</td></tr>
+<tr><td>SubscriptionType</td><td><code>subscriptionType</code></td><td>Subscription type <br/><br/>Four subscription types are available:<li>Exclusive</li><li>Failover</li><li>Shared</li><li>Key_Shared</li></td><td>SubscriptionType.Exclusive</td></tr>
 <tr><td>int</td><td><code>receiverQueueSize</code></td><td>Size of a consumer's receiver queue. <br/><br/>For example, the number of messages accumulated by a consumer before an application calls <code>Receive</code>. <br/><br/>A value higher than the default value increases consumer throughput, though at the expense of more memory utilization.</td><td>1000</td></tr>
 <tr><td>long</td><td><code>acknowledgementsGroupTimeMicros</code></td><td>Group a consumer acknowledgment for a specified time.<br/><br/>By default, a consumer uses 100ms grouping time to send out acknowledgments to a broker.<br/><br/>Setting a group time of 0 sends out acknowledgments immediately. <br/><br/>A longer ack group time is more efficient at the expense of a slight increase in message re-deliveries after a failure.</td><td>TimeUnit.MILLISECONDS.toMicros(100)</td></tr>
 <tr><td>long</td><td><code>negativeAckRedeliveryDelayMicros</code></td><td>Delay to wait before redelivering messages that failed to be processed.<br/><br/> When an application uses {@link Consumer#negativeAcknowledge(Message)}, failed messages are redelivered after a fixed timeout.</td><td>TimeUnit.MINUTES.toMicros(1)</td></tr>
diff --git a/content/docs/en/2.5.0/client-libraries-node.html b/content/docs/en/2.5.0/client-libraries-node.html
index ae04168..32f95c7 100644
--- a/content/docs/en/2.5.0/client-libraries-node.html
+++ b/content/docs/en/2.5.0/client-libraries-node.html
@@ -266,7 +266,7 @@ In this example, using await operator instead of executor function.</p>
 <tbody>
 <tr><td style="text-align:left"><code>topic</code></td><td style="text-align:left">The Pulsar <a href="/docs/en/2.5.0/reference-terminology#topic">topic</a> on which the consumer will establish a subscription and listen for messages.</td><td style="text-align:left"></td></tr>
 <tr><td style="text-align:left"><code>subscription</code></td><td style="text-align:left">The subscription name for this consumer.</td><td style="text-align:left"></td></tr>
-<tr><td style="text-align:left"><code>subscriptionType</code></td><td style="text-align:left">Available options are <code>Exclusive</code>, <code>Shared</code>, and <code>Failover</code>.</td><td style="text-align:left"><code>Exclusive</code></td></tr>
+<tr><td style="text-align:left"><code>subscriptionType</code></td><td style="text-align:left">Available options are <code>Exclusive</code>, <code>Shared</code>, <code>Key_Shared</code>, and <code>Failover</code>.</td><td style="text-align:left"><code>Exclusive</code></td></tr>
 <tr><td style="text-align:left"><code>ackTimeoutMs</code></td><td style="text-align:left">Acknowledge timeout in milliseconds.</td><td style="text-align:left">0</td></tr>
 <tr><td style="text-align:left"><code>receiverQueueSize</code></td><td style="text-align:left">Sets the size of the consumer's receiver queue, i.e. the number of messages that can be accumulated by the consumer before the application calls <code>receive</code>. A value higher than the default of 1000 could increase consumer throughput, though at the expense of more memory utilization.</td><td style="text-align:left">1000</td></tr>
 <tr><td style="text-align:left"><code>receiverQueueSizeAcrossPartitions</code></td><td style="text-align:left">Set the max total receiver queue size across partitions. This setting will be used to reduce the receiver queue size for individual partitions if the total exceeds this value.</td><td style="text-align:left">50000</td></tr>
diff --git a/content/docs/en/2.5.0/client-libraries-node/index.html b/content/docs/en/2.5.0/client-libraries-node/index.html
index ae04168..32f95c7 100644
--- a/content/docs/en/2.5.0/client-libraries-node/index.html
+++ b/content/docs/en/2.5.0/client-libraries-node/index.html
@@ -266,7 +266,7 @@ In this example, using await operator instead of executor function.</p>
 <tbody>
 <tr><td style="text-align:left"><code>topic</code></td><td style="text-align:left">The Pulsar <a href="/docs/en/2.5.0/reference-terminology#topic">topic</a> on which the consumer will establish a subscription and listen for messages.</td><td style="text-align:left"></td></tr>
 <tr><td style="text-align:left"><code>subscription</code></td><td style="text-align:left">The subscription name for this consumer.</td><td style="text-align:left"></td></tr>
-<tr><td style="text-align:left"><code>subscriptionType</code></td><td style="text-align:left">Available options are <code>Exclusive</code>, <code>Shared</code>, and <code>Failover</code>.</td><td style="text-align:left"><code>Exclusive</code></td></tr>
+<tr><td style="text-align:left"><code>subscriptionType</code></td><td style="text-align:left">Available options are <code>Exclusive</code>, <code>Shared</code>, <code>Key_Shared</code>, and <code>Failover</code>.</td><td style="text-align:left"><code>Exclusive</code></td></tr>
 <tr><td style="text-align:left"><code>ackTimeoutMs</code></td><td style="text-align:left">Acknowledge timeout in milliseconds.</td><td style="text-align:left">0</td></tr>
 <tr><td style="text-align:left"><code>receiverQueueSize</code></td><td style="text-align:left">Sets the size of the consumer's receiver queue, i.e. the number of messages that can be accumulated by the consumer before the application calls <code>receive</code>. A value higher than the default of 1000 could increase consumer throughput, though at the expense of more memory utilization.</td><td style="text-align:left">1000</td></tr>
 <tr><td style="text-align:left"><code>receiverQueueSizeAcrossPartitions</code></td><td style="text-align:left">Set the max total receiver queue size across partitions. This setting will be used to reduce the receiver queue size for individual partitions if the total exceeds this value.</td><td style="text-align:left">50000</td></tr>
diff --git a/content/docs/en/2.5.0/reference-metrics.html b/content/docs/en/2.5.0/reference-metrics.html
index b15dbce..eeb0e8d 100644
--- a/content/docs/en/2.5.0/reference-metrics.html
+++ b/content/docs/en/2.5.0/reference-metrics.html
@@ -133,8 +133,8 @@ in <code>bookkeeper.conf</code> configuration file.</p>
 <tr><td>bookkeeper_server_READ_ENTRY_count</td><td>Counter</td><td>The total number of READ_ENTRY requests received at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
 <tr><td>bookie_WRITE_BYTES</td><td>Counter</td><td>The total number of bytes written to the bookie.</td></tr>
 <tr><td>bookie_READ_BYTES</td><td>Counter</td><td>The total number of bytes read from the bookie.</td></tr>
-<tr><td>bookkeeper_server_ADD_ENTRY_REQUEST</td><td>Histogram</td><td>The histogram of request latency of ADD_ENTRY requests at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
-<tr><td>bookkeeper_server_READ_ENTRY_REQUEST</td><td>Histogram</td><td>The histogram of request latency of READ_ENTRY requests at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
+<tr><td>bookkeeper_server_ADD_ENTRY_REQUEST</td><td>Summary</td><td>The summary of request latency of ADD_ENTRY requests at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
+<tr><td>bookkeeper_server_READ_ENTRY_REQUEST</td><td>Summary</td><td>The summary of request latency of READ_ENTRY requests at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
 </tbody>
 </table>
 <h3><a class="anchor" aria-hidden="true" id="journal-metrics"></a><a href="#journal-metrics" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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  [...]
@@ -147,8 +147,8 @@ in <code>bookkeeper.conf</code> configuration file.</p>
 <tr><td>bookie_journal_JOURNAL_QUEUE_SIZE</td><td>Gauge</td><td>The total number of requests pending in the journal queue.</td></tr>
 <tr><td>bookie_journal_JOURNAL_FORCE_WRITE_QUEUE_SIZE</td><td>Gauge</td><td>The total number of force write (fsync) requests pending in the force-write queue.</td></tr>
 <tr><td>bookie_journal_JOURNAL_CB_QUEUE_SIZE</td><td>Gauge</td><td>The total number of callbacks pending in the callback queue.</td></tr>
-<tr><td>bookie_journal_JOURNAL_ADD_ENTRY</td><td>Histogram</td><td>The histogram of request latency of adding entries to the journal.</td></tr>
-<tr><td>bookie_journal_JOURNAL_SYNC</td><td>Histogram</td><td>The histogram of fsync latency of syncing data to the journal disk.</td></tr>
+<tr><td>bookie_journal_JOURNAL_ADD_ENTRY</td><td>Summary</td><td>The summary of request latency of adding entries to the journal.</td></tr>
+<tr><td>bookie_journal_JOURNAL_SYNC</td><td>Summary</td><td>The summary of fsync latency of syncing data to the journal disk.</td></tr>
 </tbody>
 </table>
 <h3><a class="anchor" aria-hidden="true" id="storage-metrics"></a><a href="#storage-metrics" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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  [...]
diff --git a/content/docs/en/2.5.0/reference-metrics/index.html b/content/docs/en/2.5.0/reference-metrics/index.html
index b15dbce..eeb0e8d 100644
--- a/content/docs/en/2.5.0/reference-metrics/index.html
+++ b/content/docs/en/2.5.0/reference-metrics/index.html
@@ -133,8 +133,8 @@ in <code>bookkeeper.conf</code> configuration file.</p>
 <tr><td>bookkeeper_server_READ_ENTRY_count</td><td>Counter</td><td>The total number of READ_ENTRY requests received at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
 <tr><td>bookie_WRITE_BYTES</td><td>Counter</td><td>The total number of bytes written to the bookie.</td></tr>
 <tr><td>bookie_READ_BYTES</td><td>Counter</td><td>The total number of bytes read from the bookie.</td></tr>
-<tr><td>bookkeeper_server_ADD_ENTRY_REQUEST</td><td>Histogram</td><td>The histogram of request latency of ADD_ENTRY requests at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
-<tr><td>bookkeeper_server_READ_ENTRY_REQUEST</td><td>Histogram</td><td>The histogram of request latency of READ_ENTRY requests at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
+<tr><td>bookkeeper_server_ADD_ENTRY_REQUEST</td><td>Summary</td><td>The summary of request latency of ADD_ENTRY requests at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
+<tr><td>bookkeeper_server_READ_ENTRY_REQUEST</td><td>Summary</td><td>The summary of request latency of READ_ENTRY requests at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
 </tbody>
 </table>
 <h3><a class="anchor" aria-hidden="true" id="journal-metrics"></a><a href="#journal-metrics" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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  [...]
@@ -147,8 +147,8 @@ in <code>bookkeeper.conf</code> configuration file.</p>
 <tr><td>bookie_journal_JOURNAL_QUEUE_SIZE</td><td>Gauge</td><td>The total number of requests pending in the journal queue.</td></tr>
 <tr><td>bookie_journal_JOURNAL_FORCE_WRITE_QUEUE_SIZE</td><td>Gauge</td><td>The total number of force write (fsync) requests pending in the force-write queue.</td></tr>
 <tr><td>bookie_journal_JOURNAL_CB_QUEUE_SIZE</td><td>Gauge</td><td>The total number of callbacks pending in the callback queue.</td></tr>
-<tr><td>bookie_journal_JOURNAL_ADD_ENTRY</td><td>Histogram</td><td>The histogram of request latency of adding entries to the journal.</td></tr>
-<tr><td>bookie_journal_JOURNAL_SYNC</td><td>Histogram</td><td>The histogram of fsync latency of syncing data to the journal disk.</td></tr>
+<tr><td>bookie_journal_JOURNAL_ADD_ENTRY</td><td>Summary</td><td>The summary of request latency of adding entries to the journal.</td></tr>
+<tr><td>bookie_journal_JOURNAL_SYNC</td><td>Summary</td><td>The summary of fsync latency of syncing data to the journal disk.</td></tr>
 </tbody>
 </table>
 <h3><a class="anchor" aria-hidden="true" id="storage-metrics"></a><a href="#storage-metrics" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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  [...]
diff --git a/content/docs/en/2.5.1/client-libraries-java.html b/content/docs/en/2.5.1/client-libraries-java.html
index 2b6af1f..728c902 100644
--- a/content/docs/en/2.5.1/client-libraries-java.html
+++ b/content/docs/en/2.5.1/client-libraries-java.html
@@ -297,7 +297,7 @@ client.close();
 <tr><td>Set&lt;String&gt;</td><td><code>topicNames</code></td><td>Topic name</td><td>Sets.newTreeSet()</td></tr>
 <tr><td>Pattern</td><td><code>topicsPattern</code></td><td>Topic pattern</td><td>None</td></tr>
 <tr><td>String</td><td><code>subscriptionName</code></td><td>Subscription name</td><td>None</td></tr>
-<tr><td>SubscriptionType</td><td><code>subscriptionType</code></td><td>Subscription type <br/><br/>Three subscription types are available:<li>Exclusive</li><li>Failover</li><li>Shared</li></td><td>SubscriptionType.Exclusive</td></tr>
+<tr><td>SubscriptionType</td><td><code>subscriptionType</code></td><td>Subscription type <br/><br/>Four subscription types are available:<li>Exclusive</li><li>Failover</li><li>Shared</li><li>Key_Shared</li></td><td>SubscriptionType.Exclusive</td></tr>
 <tr><td>int</td><td><code>receiverQueueSize</code></td><td>Size of a consumer's receiver queue. <br/><br/>For example, the number of messages accumulated by a consumer before an application calls <code>Receive</code>. <br/><br/>A value higher than the default value increases consumer throughput, though at the expense of more memory utilization.</td><td>1000</td></tr>
 <tr><td>long</td><td><code>acknowledgementsGroupTimeMicros</code></td><td>Group a consumer acknowledgment for a specified time.<br/><br/>By default, a consumer uses 100ms grouping time to send out acknowledgments to a broker.<br/><br/>Setting a group time of 0 sends out acknowledgments immediately. <br/><br/>A longer ack group time is more efficient at the expense of a slight increase in message re-deliveries after a failure.</td><td>TimeUnit.MILLISECONDS.toMicros(100)</td></tr>
 <tr><td>long</td><td><code>negativeAckRedeliveryDelayMicros</code></td><td>Delay to wait before redelivering messages that failed to be processed.<br/><br/> When an application uses {@link Consumer#negativeAcknowledge(Message)}, failed messages are redelivered after a fixed timeout.</td><td>TimeUnit.MINUTES.toMicros(1)</td></tr>
diff --git a/content/docs/en/2.5.1/client-libraries-java/index.html b/content/docs/en/2.5.1/client-libraries-java/index.html
index 2b6af1f..728c902 100644
--- a/content/docs/en/2.5.1/client-libraries-java/index.html
+++ b/content/docs/en/2.5.1/client-libraries-java/index.html
@@ -297,7 +297,7 @@ client.close();
 <tr><td>Set&lt;String&gt;</td><td><code>topicNames</code></td><td>Topic name</td><td>Sets.newTreeSet()</td></tr>
 <tr><td>Pattern</td><td><code>topicsPattern</code></td><td>Topic pattern</td><td>None</td></tr>
 <tr><td>String</td><td><code>subscriptionName</code></td><td>Subscription name</td><td>None</td></tr>
-<tr><td>SubscriptionType</td><td><code>subscriptionType</code></td><td>Subscription type <br/><br/>Three subscription types are available:<li>Exclusive</li><li>Failover</li><li>Shared</li></td><td>SubscriptionType.Exclusive</td></tr>
+<tr><td>SubscriptionType</td><td><code>subscriptionType</code></td><td>Subscription type <br/><br/>Four subscription types are available:<li>Exclusive</li><li>Failover</li><li>Shared</li><li>Key_Shared</li></td><td>SubscriptionType.Exclusive</td></tr>
 <tr><td>int</td><td><code>receiverQueueSize</code></td><td>Size of a consumer's receiver queue. <br/><br/>For example, the number of messages accumulated by a consumer before an application calls <code>Receive</code>. <br/><br/>A value higher than the default value increases consumer throughput, though at the expense of more memory utilization.</td><td>1000</td></tr>
 <tr><td>long</td><td><code>acknowledgementsGroupTimeMicros</code></td><td>Group a consumer acknowledgment for a specified time.<br/><br/>By default, a consumer uses 100ms grouping time to send out acknowledgments to a broker.<br/><br/>Setting a group time of 0 sends out acknowledgments immediately. <br/><br/>A longer ack group time is more efficient at the expense of a slight increase in message re-deliveries after a failure.</td><td>TimeUnit.MILLISECONDS.toMicros(100)</td></tr>
 <tr><td>long</td><td><code>negativeAckRedeliveryDelayMicros</code></td><td>Delay to wait before redelivering messages that failed to be processed.<br/><br/> When an application uses {@link Consumer#negativeAcknowledge(Message)}, failed messages are redelivered after a fixed timeout.</td><td>TimeUnit.MINUTES.toMicros(1)</td></tr>
diff --git a/content/docs/en/2.5.1/client-libraries-node.html b/content/docs/en/2.5.1/client-libraries-node.html
index b05263b..54bb195 100644
--- a/content/docs/en/2.5.1/client-libraries-node.html
+++ b/content/docs/en/2.5.1/client-libraries-node.html
@@ -267,7 +267,7 @@ In this example, using await operator instead of executor function.</p>
 <tbody>
 <tr><td style="text-align:left"><code>topic</code></td><td style="text-align:left">The Pulsar <a href="/docs/en/2.5.1/reference-terminology#topic">topic</a> on which the consumer will establish a subscription and listen for messages.</td><td style="text-align:left"></td></tr>
 <tr><td style="text-align:left"><code>subscription</code></td><td style="text-align:left">The subscription name for this consumer.</td><td style="text-align:left"></td></tr>
-<tr><td style="text-align:left"><code>subscriptionType</code></td><td style="text-align:left">Available options are <code>Exclusive</code>, <code>Shared</code>, and <code>Failover</code>.</td><td style="text-align:left"><code>Exclusive</code></td></tr>
+<tr><td style="text-align:left"><code>subscriptionType</code></td><td style="text-align:left">Available options are <code>Exclusive</code>, <code>Shared</code>, <code>Key_Shared</code>, and <code>Failover</code>.</td><td style="text-align:left"><code>Exclusive</code></td></tr>
 <tr><td style="text-align:left"><code>ackTimeoutMs</code></td><td style="text-align:left">Acknowledge timeout in milliseconds.</td><td style="text-align:left">0</td></tr>
 <tr><td style="text-align:left"><code>receiverQueueSize</code></td><td style="text-align:left">Sets the size of the consumer's receiver queue, i.e. the number of messages that can be accumulated by the consumer before the application calls <code>receive</code>. A value higher than the default of 1000 could increase consumer throughput, though at the expense of more memory utilization.</td><td style="text-align:left">1000</td></tr>
 <tr><td style="text-align:left"><code>receiverQueueSizeAcrossPartitions</code></td><td style="text-align:left">Set the max total receiver queue size across partitions. This setting will be used to reduce the receiver queue size for individual partitions if the total exceeds this value.</td><td style="text-align:left">50000</td></tr>
diff --git a/content/docs/en/2.5.1/client-libraries-node/index.html b/content/docs/en/2.5.1/client-libraries-node/index.html
index b05263b..54bb195 100644
--- a/content/docs/en/2.5.1/client-libraries-node/index.html
+++ b/content/docs/en/2.5.1/client-libraries-node/index.html
@@ -267,7 +267,7 @@ In this example, using await operator instead of executor function.</p>
 <tbody>
 <tr><td style="text-align:left"><code>topic</code></td><td style="text-align:left">The Pulsar <a href="/docs/en/2.5.1/reference-terminology#topic">topic</a> on which the consumer will establish a subscription and listen for messages.</td><td style="text-align:left"></td></tr>
 <tr><td style="text-align:left"><code>subscription</code></td><td style="text-align:left">The subscription name for this consumer.</td><td style="text-align:left"></td></tr>
-<tr><td style="text-align:left"><code>subscriptionType</code></td><td style="text-align:left">Available options are <code>Exclusive</code>, <code>Shared</code>, and <code>Failover</code>.</td><td style="text-align:left"><code>Exclusive</code></td></tr>
+<tr><td style="text-align:left"><code>subscriptionType</code></td><td style="text-align:left">Available options are <code>Exclusive</code>, <code>Shared</code>, <code>Key_Shared</code>, and <code>Failover</code>.</td><td style="text-align:left"><code>Exclusive</code></td></tr>
 <tr><td style="text-align:left"><code>ackTimeoutMs</code></td><td style="text-align:left">Acknowledge timeout in milliseconds.</td><td style="text-align:left">0</td></tr>
 <tr><td style="text-align:left"><code>receiverQueueSize</code></td><td style="text-align:left">Sets the size of the consumer's receiver queue, i.e. the number of messages that can be accumulated by the consumer before the application calls <code>receive</code>. A value higher than the default of 1000 could increase consumer throughput, though at the expense of more memory utilization.</td><td style="text-align:left">1000</td></tr>
 <tr><td style="text-align:left"><code>receiverQueueSizeAcrossPartitions</code></td><td style="text-align:left">Set the max total receiver queue size across partitions. This setting will be used to reduce the receiver queue size for individual partitions if the total exceeds this value.</td><td style="text-align:left">50000</td></tr>
diff --git a/content/docs/en/2.5.1/reference-metrics.html b/content/docs/en/2.5.1/reference-metrics.html
index 28d5c51..cd60942 100644
--- a/content/docs/en/2.5.1/reference-metrics.html
+++ b/content/docs/en/2.5.1/reference-metrics.html
@@ -133,8 +133,8 @@ in <code>bookkeeper.conf</code> configuration file.</p>
 <tr><td>bookkeeper_server_READ_ENTRY_count</td><td>Counter</td><td>The total number of READ_ENTRY requests received at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
 <tr><td>bookie_WRITE_BYTES</td><td>Counter</td><td>The total number of bytes written to the bookie.</td></tr>
 <tr><td>bookie_READ_BYTES</td><td>Counter</td><td>The total number of bytes read from the bookie.</td></tr>
-<tr><td>bookkeeper_server_ADD_ENTRY_REQUEST</td><td>Histogram</td><td>The histogram of request latency of ADD_ENTRY requests at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
-<tr><td>bookkeeper_server_READ_ENTRY_REQUEST</td><td>Histogram</td><td>The histogram of request latency of READ_ENTRY requests at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
+<tr><td>bookkeeper_server_ADD_ENTRY_REQUEST</td><td>Summary</td><td>The summary of request latency of ADD_ENTRY requests at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
+<tr><td>bookkeeper_server_READ_ENTRY_REQUEST</td><td>Summary</td><td>The summary of request latency of READ_ENTRY requests at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
 </tbody>
 </table>
 <h3><a class="anchor" aria-hidden="true" id="journal-metrics"></a><a href="#journal-metrics" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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  [...]
@@ -147,8 +147,8 @@ in <code>bookkeeper.conf</code> configuration file.</p>
 <tr><td>bookie_journal_JOURNAL_QUEUE_SIZE</td><td>Gauge</td><td>The total number of requests pending in the journal queue.</td></tr>
 <tr><td>bookie_journal_JOURNAL_FORCE_WRITE_QUEUE_SIZE</td><td>Gauge</td><td>The total number of force write (fsync) requests pending in the force-write queue.</td></tr>
 <tr><td>bookie_journal_JOURNAL_CB_QUEUE_SIZE</td><td>Gauge</td><td>The total number of callbacks pending in the callback queue.</td></tr>
-<tr><td>bookie_journal_JOURNAL_ADD_ENTRY</td><td>Histogram</td><td>The histogram of request latency of adding entries to the journal.</td></tr>
-<tr><td>bookie_journal_JOURNAL_SYNC</td><td>Histogram</td><td>The histogram of fsync latency of syncing data to the journal disk.</td></tr>
+<tr><td>bookie_journal_JOURNAL_ADD_ENTRY</td><td>Summary</td><td>The summary of request latency of adding entries to the journal.</td></tr>
+<tr><td>bookie_journal_JOURNAL_SYNC</td><td>Summary</td><td>The summary of fsync latency of syncing data to the journal disk.</td></tr>
 </tbody>
 </table>
 <h3><a class="anchor" aria-hidden="true" id="storage-metrics"></a><a href="#storage-metrics" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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  [...]
diff --git a/content/docs/en/2.5.1/reference-metrics/index.html b/content/docs/en/2.5.1/reference-metrics/index.html
index 28d5c51..cd60942 100644
--- a/content/docs/en/2.5.1/reference-metrics/index.html
+++ b/content/docs/en/2.5.1/reference-metrics/index.html
@@ -133,8 +133,8 @@ in <code>bookkeeper.conf</code> configuration file.</p>
 <tr><td>bookkeeper_server_READ_ENTRY_count</td><td>Counter</td><td>The total number of READ_ENTRY requests received at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
 <tr><td>bookie_WRITE_BYTES</td><td>Counter</td><td>The total number of bytes written to the bookie.</td></tr>
 <tr><td>bookie_READ_BYTES</td><td>Counter</td><td>The total number of bytes read from the bookie.</td></tr>
-<tr><td>bookkeeper_server_ADD_ENTRY_REQUEST</td><td>Histogram</td><td>The histogram of request latency of ADD_ENTRY requests at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
-<tr><td>bookkeeper_server_READ_ENTRY_REQUEST</td><td>Histogram</td><td>The histogram of request latency of READ_ENTRY requests at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
+<tr><td>bookkeeper_server_ADD_ENTRY_REQUEST</td><td>Summary</td><td>The summary of request latency of ADD_ENTRY requests at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
+<tr><td>bookkeeper_server_READ_ENTRY_REQUEST</td><td>Summary</td><td>The summary of request latency of READ_ENTRY requests at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
 </tbody>
 </table>
 <h3><a class="anchor" aria-hidden="true" id="journal-metrics"></a><a href="#journal-metrics" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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  [...]
@@ -147,8 +147,8 @@ in <code>bookkeeper.conf</code> configuration file.</p>
 <tr><td>bookie_journal_JOURNAL_QUEUE_SIZE</td><td>Gauge</td><td>The total number of requests pending in the journal queue.</td></tr>
 <tr><td>bookie_journal_JOURNAL_FORCE_WRITE_QUEUE_SIZE</td><td>Gauge</td><td>The total number of force write (fsync) requests pending in the force-write queue.</td></tr>
 <tr><td>bookie_journal_JOURNAL_CB_QUEUE_SIZE</td><td>Gauge</td><td>The total number of callbacks pending in the callback queue.</td></tr>
-<tr><td>bookie_journal_JOURNAL_ADD_ENTRY</td><td>Histogram</td><td>The histogram of request latency of adding entries to the journal.</td></tr>
-<tr><td>bookie_journal_JOURNAL_SYNC</td><td>Histogram</td><td>The histogram of fsync latency of syncing data to the journal disk.</td></tr>
+<tr><td>bookie_journal_JOURNAL_ADD_ENTRY</td><td>Summary</td><td>The summary of request latency of adding entries to the journal.</td></tr>
+<tr><td>bookie_journal_JOURNAL_SYNC</td><td>Summary</td><td>The summary of fsync latency of syncing data to the journal disk.</td></tr>
 </tbody>
 </table>
 <h3><a class="anchor" aria-hidden="true" id="storage-metrics"></a><a href="#storage-metrics" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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  [...]
diff --git a/content/docs/en/2.5.2/client-libraries-java.html b/content/docs/en/2.5.2/client-libraries-java.html
index c3af1ae..0bac29d 100644
--- a/content/docs/en/2.5.2/client-libraries-java.html
+++ b/content/docs/en/2.5.2/client-libraries-java.html
@@ -297,7 +297,7 @@ client.close();
 <tr><td>Set&lt;String&gt;</td><td><code>topicNames</code></td><td>Topic name</td><td>Sets.newTreeSet()</td></tr>
 <tr><td>Pattern</td><td><code>topicsPattern</code></td><td>Topic pattern</td><td>None</td></tr>
 <tr><td>String</td><td><code>subscriptionName</code></td><td>Subscription name</td><td>None</td></tr>
-<tr><td>SubscriptionType</td><td><code>subscriptionType</code></td><td>Subscription type <br/><br/>Three subscription types are available:<li>Exclusive</li><li>Failover</li><li>Shared</li></td><td>SubscriptionType.Exclusive</td></tr>
+<tr><td>SubscriptionType</td><td><code>subscriptionType</code></td><td>Subscription type <br/><br/>Four subscription types are available:<li>Exclusive</li><li>Failover</li><li>Shared</li><li>Key_Shared</li></td><td>SubscriptionType.Exclusive</td></tr>
 <tr><td>int</td><td><code>receiverQueueSize</code></td><td>Size of a consumer's receiver queue. <br/><br/>For example, the number of messages accumulated by a consumer before an application calls <code>Receive</code>. <br/><br/>A value higher than the default value increases consumer throughput, though at the expense of more memory utilization.</td><td>1000</td></tr>
 <tr><td>long</td><td><code>acknowledgementsGroupTimeMicros</code></td><td>Group a consumer acknowledgment for a specified time.<br/><br/>By default, a consumer uses 100ms grouping time to send out acknowledgments to a broker.<br/><br/>Setting a group time of 0 sends out acknowledgments immediately. <br/><br/>A longer ack group time is more efficient at the expense of a slight increase in message re-deliveries after a failure.</td><td>TimeUnit.MILLISECONDS.toMicros(100)</td></tr>
 <tr><td>long</td><td><code>negativeAckRedeliveryDelayMicros</code></td><td>Delay to wait before redelivering messages that failed to be processed.<br/><br/> When an application uses {@link Consumer#negativeAcknowledge(Message)}, failed messages are redelivered after a fixed timeout.</td><td>TimeUnit.MINUTES.toMicros(1)</td></tr>
diff --git a/content/docs/en/2.5.2/client-libraries-java/index.html b/content/docs/en/2.5.2/client-libraries-java/index.html
index c3af1ae..0bac29d 100644
--- a/content/docs/en/2.5.2/client-libraries-java/index.html
+++ b/content/docs/en/2.5.2/client-libraries-java/index.html
@@ -297,7 +297,7 @@ client.close();
 <tr><td>Set&lt;String&gt;</td><td><code>topicNames</code></td><td>Topic name</td><td>Sets.newTreeSet()</td></tr>
 <tr><td>Pattern</td><td><code>topicsPattern</code></td><td>Topic pattern</td><td>None</td></tr>
 <tr><td>String</td><td><code>subscriptionName</code></td><td>Subscription name</td><td>None</td></tr>
-<tr><td>SubscriptionType</td><td><code>subscriptionType</code></td><td>Subscription type <br/><br/>Three subscription types are available:<li>Exclusive</li><li>Failover</li><li>Shared</li></td><td>SubscriptionType.Exclusive</td></tr>
+<tr><td>SubscriptionType</td><td><code>subscriptionType</code></td><td>Subscription type <br/><br/>Four subscription types are available:<li>Exclusive</li><li>Failover</li><li>Shared</li><li>Key_Shared</li></td><td>SubscriptionType.Exclusive</td></tr>
 <tr><td>int</td><td><code>receiverQueueSize</code></td><td>Size of a consumer's receiver queue. <br/><br/>For example, the number of messages accumulated by a consumer before an application calls <code>Receive</code>. <br/><br/>A value higher than the default value increases consumer throughput, though at the expense of more memory utilization.</td><td>1000</td></tr>
 <tr><td>long</td><td><code>acknowledgementsGroupTimeMicros</code></td><td>Group a consumer acknowledgment for a specified time.<br/><br/>By default, a consumer uses 100ms grouping time to send out acknowledgments to a broker.<br/><br/>Setting a group time of 0 sends out acknowledgments immediately. <br/><br/>A longer ack group time is more efficient at the expense of a slight increase in message re-deliveries after a failure.</td><td>TimeUnit.MILLISECONDS.toMicros(100)</td></tr>
 <tr><td>long</td><td><code>negativeAckRedeliveryDelayMicros</code></td><td>Delay to wait before redelivering messages that failed to be processed.<br/><br/> When an application uses {@link Consumer#negativeAcknowledge(Message)}, failed messages are redelivered after a fixed timeout.</td><td>TimeUnit.MINUTES.toMicros(1)</td></tr>
diff --git a/content/docs/en/2.5.2/client-libraries-node.html b/content/docs/en/2.5.2/client-libraries-node.html
index 3cdf248..e0d29aa 100644
--- a/content/docs/en/2.5.2/client-libraries-node.html
+++ b/content/docs/en/2.5.2/client-libraries-node.html
@@ -267,7 +267,7 @@ In this example, using await operator instead of executor function.</p>
 <tbody>
 <tr><td style="text-align:left"><code>topic</code></td><td style="text-align:left">The Pulsar <a href="/docs/en/2.5.2/reference-terminology#topic">topic</a> on which the consumer will establish a subscription and listen for messages.</td><td style="text-align:left"></td></tr>
 <tr><td style="text-align:left"><code>subscription</code></td><td style="text-align:left">The subscription name for this consumer.</td><td style="text-align:left"></td></tr>
-<tr><td style="text-align:left"><code>subscriptionType</code></td><td style="text-align:left">Available options are <code>Exclusive</code>, <code>Shared</code>, and <code>Failover</code>.</td><td style="text-align:left"><code>Exclusive</code></td></tr>
+<tr><td style="text-align:left"><code>subscriptionType</code></td><td style="text-align:left">Available options are <code>Exclusive</code>, <code>Shared</code>, <code>Key_Shared</code>, and <code>Failover</code>.</td><td style="text-align:left"><code>Exclusive</code></td></tr>
 <tr><td style="text-align:left"><code>ackTimeoutMs</code></td><td style="text-align:left">Acknowledge timeout in milliseconds.</td><td style="text-align:left">0</td></tr>
 <tr><td style="text-align:left"><code>receiverQueueSize</code></td><td style="text-align:left">Sets the size of the consumer's receiver queue, i.e. the number of messages that can be accumulated by the consumer before the application calls <code>receive</code>. A value higher than the default of 1000 could increase consumer throughput, though at the expense of more memory utilization.</td><td style="text-align:left">1000</td></tr>
 <tr><td style="text-align:left"><code>receiverQueueSizeAcrossPartitions</code></td><td style="text-align:left">Set the max total receiver queue size across partitions. This setting will be used to reduce the receiver queue size for individual partitions if the total exceeds this value.</td><td style="text-align:left">50000</td></tr>
diff --git a/content/docs/en/2.5.2/client-libraries-node/index.html b/content/docs/en/2.5.2/client-libraries-node/index.html
index 3cdf248..e0d29aa 100644
--- a/content/docs/en/2.5.2/client-libraries-node/index.html
+++ b/content/docs/en/2.5.2/client-libraries-node/index.html
@@ -267,7 +267,7 @@ In this example, using await operator instead of executor function.</p>
 <tbody>
 <tr><td style="text-align:left"><code>topic</code></td><td style="text-align:left">The Pulsar <a href="/docs/en/2.5.2/reference-terminology#topic">topic</a> on which the consumer will establish a subscription and listen for messages.</td><td style="text-align:left"></td></tr>
 <tr><td style="text-align:left"><code>subscription</code></td><td style="text-align:left">The subscription name for this consumer.</td><td style="text-align:left"></td></tr>
-<tr><td style="text-align:left"><code>subscriptionType</code></td><td style="text-align:left">Available options are <code>Exclusive</code>, <code>Shared</code>, and <code>Failover</code>.</td><td style="text-align:left"><code>Exclusive</code></td></tr>
+<tr><td style="text-align:left"><code>subscriptionType</code></td><td style="text-align:left">Available options are <code>Exclusive</code>, <code>Shared</code>, <code>Key_Shared</code>, and <code>Failover</code>.</td><td style="text-align:left"><code>Exclusive</code></td></tr>
 <tr><td style="text-align:left"><code>ackTimeoutMs</code></td><td style="text-align:left">Acknowledge timeout in milliseconds.</td><td style="text-align:left">0</td></tr>
 <tr><td style="text-align:left"><code>receiverQueueSize</code></td><td style="text-align:left">Sets the size of the consumer's receiver queue, i.e. the number of messages that can be accumulated by the consumer before the application calls <code>receive</code>. A value higher than the default of 1000 could increase consumer throughput, though at the expense of more memory utilization.</td><td style="text-align:left">1000</td></tr>
 <tr><td style="text-align:left"><code>receiverQueueSizeAcrossPartitions</code></td><td style="text-align:left">Set the max total receiver queue size across partitions. This setting will be used to reduce the receiver queue size for individual partitions if the total exceeds this value.</td><td style="text-align:left">50000</td></tr>
diff --git a/content/docs/en/2.5.2/reference-metrics.html b/content/docs/en/2.5.2/reference-metrics.html
index 4cce8a3..35ceb89 100644
--- a/content/docs/en/2.5.2/reference-metrics.html
+++ b/content/docs/en/2.5.2/reference-metrics.html
@@ -133,8 +133,8 @@ in <code>bookkeeper.conf</code> configuration file.</p>
 <tr><td>bookkeeper_server_READ_ENTRY_count</td><td>Counter</td><td>The total number of READ_ENTRY requests received at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
 <tr><td>bookie_WRITE_BYTES</td><td>Counter</td><td>The total number of bytes written to the bookie.</td></tr>
 <tr><td>bookie_READ_BYTES</td><td>Counter</td><td>The total number of bytes read from the bookie.</td></tr>
-<tr><td>bookkeeper_server_ADD_ENTRY_REQUEST</td><td>Histogram</td><td>The histogram of request latency of ADD_ENTRY requests at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
-<tr><td>bookkeeper_server_READ_ENTRY_REQUEST</td><td>Histogram</td><td>The histogram of request latency of READ_ENTRY requests at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
+<tr><td>bookkeeper_server_ADD_ENTRY_REQUEST</td><td>Summary</td><td>The summary of request latency of ADD_ENTRY requests at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
+<tr><td>bookkeeper_server_READ_ENTRY_REQUEST</td><td>Summary</td><td>The summary of request latency of READ_ENTRY requests at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
 </tbody>
 </table>
 <h3><a class="anchor" aria-hidden="true" id="journal-metrics"></a><a href="#journal-metrics" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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  [...]
@@ -147,8 +147,8 @@ in <code>bookkeeper.conf</code> configuration file.</p>
 <tr><td>bookie_journal_JOURNAL_QUEUE_SIZE</td><td>Gauge</td><td>The total number of requests pending in the journal queue.</td></tr>
 <tr><td>bookie_journal_JOURNAL_FORCE_WRITE_QUEUE_SIZE</td><td>Gauge</td><td>The total number of force write (fsync) requests pending in the force-write queue.</td></tr>
 <tr><td>bookie_journal_JOURNAL_CB_QUEUE_SIZE</td><td>Gauge</td><td>The total number of callbacks pending in the callback queue.</td></tr>
-<tr><td>bookie_journal_JOURNAL_ADD_ENTRY</td><td>Histogram</td><td>The histogram of request latency of adding entries to the journal.</td></tr>
-<tr><td>bookie_journal_JOURNAL_SYNC</td><td>Histogram</td><td>The histogram of fsync latency of syncing data to the journal disk.</td></tr>
+<tr><td>bookie_journal_JOURNAL_ADD_ENTRY</td><td>Summary</td><td>The summary of request latency of adding entries to the journal.</td></tr>
+<tr><td>bookie_journal_JOURNAL_SYNC</td><td>Summary</td><td>The summary of fsync latency of syncing data to the journal disk.</td></tr>
 </tbody>
 </table>
 <h3><a class="anchor" aria-hidden="true" id="storage-metrics"></a><a href="#storage-metrics" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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  [...]
diff --git a/content/docs/en/2.5.2/reference-metrics/index.html b/content/docs/en/2.5.2/reference-metrics/index.html
index 4cce8a3..35ceb89 100644
--- a/content/docs/en/2.5.2/reference-metrics/index.html
+++ b/content/docs/en/2.5.2/reference-metrics/index.html
@@ -133,8 +133,8 @@ in <code>bookkeeper.conf</code> configuration file.</p>
 <tr><td>bookkeeper_server_READ_ENTRY_count</td><td>Counter</td><td>The total number of READ_ENTRY requests received at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
 <tr><td>bookie_WRITE_BYTES</td><td>Counter</td><td>The total number of bytes written to the bookie.</td></tr>
 <tr><td>bookie_READ_BYTES</td><td>Counter</td><td>The total number of bytes read from the bookie.</td></tr>
-<tr><td>bookkeeper_server_ADD_ENTRY_REQUEST</td><td>Histogram</td><td>The histogram of request latency of ADD_ENTRY requests at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
-<tr><td>bookkeeper_server_READ_ENTRY_REQUEST</td><td>Histogram</td><td>The histogram of request latency of READ_ENTRY requests at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
+<tr><td>bookkeeper_server_ADD_ENTRY_REQUEST</td><td>Summary</td><td>The summary of request latency of ADD_ENTRY requests at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
+<tr><td>bookkeeper_server_READ_ENTRY_REQUEST</td><td>Summary</td><td>The summary of request latency of READ_ENTRY requests at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
 </tbody>
 </table>
 <h3><a class="anchor" aria-hidden="true" id="journal-metrics"></a><a href="#journal-metrics" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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  [...]
@@ -147,8 +147,8 @@ in <code>bookkeeper.conf</code> configuration file.</p>
 <tr><td>bookie_journal_JOURNAL_QUEUE_SIZE</td><td>Gauge</td><td>The total number of requests pending in the journal queue.</td></tr>
 <tr><td>bookie_journal_JOURNAL_FORCE_WRITE_QUEUE_SIZE</td><td>Gauge</td><td>The total number of force write (fsync) requests pending in the force-write queue.</td></tr>
 <tr><td>bookie_journal_JOURNAL_CB_QUEUE_SIZE</td><td>Gauge</td><td>The total number of callbacks pending in the callback queue.</td></tr>
-<tr><td>bookie_journal_JOURNAL_ADD_ENTRY</td><td>Histogram</td><td>The histogram of request latency of adding entries to the journal.</td></tr>
-<tr><td>bookie_journal_JOURNAL_SYNC</td><td>Histogram</td><td>The histogram of fsync latency of syncing data to the journal disk.</td></tr>
+<tr><td>bookie_journal_JOURNAL_ADD_ENTRY</td><td>Summary</td><td>The summary of request latency of adding entries to the journal.</td></tr>
+<tr><td>bookie_journal_JOURNAL_SYNC</td><td>Summary</td><td>The summary of fsync latency of syncing data to the journal disk.</td></tr>
 </tbody>
 </table>
 <h3><a class="anchor" aria-hidden="true" id="storage-metrics"></a><a href="#storage-metrics" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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  [...]
diff --git a/content/docs/en/2.6.0/client-libraries-java.html b/content/docs/en/2.6.0/client-libraries-java.html
index d69e570..31767b5 100644
--- a/content/docs/en/2.6.0/client-libraries-java.html
+++ b/content/docs/en/2.6.0/client-libraries-java.html
@@ -297,7 +297,7 @@ client.close();
 <tr><td>Set&lt;String&gt;</td><td><code>topicNames</code></td><td>Topic name</td><td>Sets.newTreeSet()</td></tr>
 <tr><td>Pattern</td><td><code>topicsPattern</code></td><td>Topic pattern</td><td>None</td></tr>
 <tr><td>String</td><td><code>subscriptionName</code></td><td>Subscription name</td><td>None</td></tr>
-<tr><td>SubscriptionType</td><td><code>subscriptionType</code></td><td>Subscription type <br/><br/>Three subscription types are available:<li>Exclusive</li><li>Failover</li><li>Shared</li></td><td>SubscriptionType.Exclusive</td></tr>
+<tr><td>SubscriptionType</td><td><code>subscriptionType</code></td><td>Subscription type <br/><br/>Four subscription types are available:<li>Exclusive</li><li>Failover</li><li>Shared</li><li>Key_Shared</li></td><td>SubscriptionType.Exclusive</td></tr>
 <tr><td>int</td><td><code>receiverQueueSize</code></td><td>Size of a consumer's receiver queue. <br/><br/>For example, the number of messages accumulated by a consumer before an application calls <code>Receive</code>. <br/><br/>A value higher than the default value increases consumer throughput, though at the expense of more memory utilization.</td><td>1000</td></tr>
 <tr><td>long</td><td><code>acknowledgementsGroupTimeMicros</code></td><td>Group a consumer acknowledgment for a specified time.<br/><br/>By default, a consumer uses 100ms grouping time to send out acknowledgments to a broker.<br/><br/>Setting a group time of 0 sends out acknowledgments immediately. <br/><br/>A longer ack group time is more efficient at the expense of a slight increase in message re-deliveries after a failure.</td><td>TimeUnit.MILLISECONDS.toMicros(100)</td></tr>
 <tr><td>long</td><td><code>negativeAckRedeliveryDelayMicros</code></td><td>Delay to wait before redelivering messages that failed to be processed.<br/><br/> When an application uses {@link Consumer#negativeAcknowledge(Message)}, failed messages are redelivered after a fixed timeout.</td><td>TimeUnit.MINUTES.toMicros(1)</td></tr>
diff --git a/content/docs/en/2.6.0/client-libraries-java/index.html b/content/docs/en/2.6.0/client-libraries-java/index.html
index d69e570..31767b5 100644
--- a/content/docs/en/2.6.0/client-libraries-java/index.html
+++ b/content/docs/en/2.6.0/client-libraries-java/index.html
@@ -297,7 +297,7 @@ client.close();
 <tr><td>Set&lt;String&gt;</td><td><code>topicNames</code></td><td>Topic name</td><td>Sets.newTreeSet()</td></tr>
 <tr><td>Pattern</td><td><code>topicsPattern</code></td><td>Topic pattern</td><td>None</td></tr>
 <tr><td>String</td><td><code>subscriptionName</code></td><td>Subscription name</td><td>None</td></tr>
-<tr><td>SubscriptionType</td><td><code>subscriptionType</code></td><td>Subscription type <br/><br/>Three subscription types are available:<li>Exclusive</li><li>Failover</li><li>Shared</li></td><td>SubscriptionType.Exclusive</td></tr>
+<tr><td>SubscriptionType</td><td><code>subscriptionType</code></td><td>Subscription type <br/><br/>Four subscription types are available:<li>Exclusive</li><li>Failover</li><li>Shared</li><li>Key_Shared</li></td><td>SubscriptionType.Exclusive</td></tr>
 <tr><td>int</td><td><code>receiverQueueSize</code></td><td>Size of a consumer's receiver queue. <br/><br/>For example, the number of messages accumulated by a consumer before an application calls <code>Receive</code>. <br/><br/>A value higher than the default value increases consumer throughput, though at the expense of more memory utilization.</td><td>1000</td></tr>
 <tr><td>long</td><td><code>acknowledgementsGroupTimeMicros</code></td><td>Group a consumer acknowledgment for a specified time.<br/><br/>By default, a consumer uses 100ms grouping time to send out acknowledgments to a broker.<br/><br/>Setting a group time of 0 sends out acknowledgments immediately. <br/><br/>A longer ack group time is more efficient at the expense of a slight increase in message re-deliveries after a failure.</td><td>TimeUnit.MILLISECONDS.toMicros(100)</td></tr>
 <tr><td>long</td><td><code>negativeAckRedeliveryDelayMicros</code></td><td>Delay to wait before redelivering messages that failed to be processed.<br/><br/> When an application uses {@link Consumer#negativeAcknowledge(Message)}, failed messages are redelivered after a fixed timeout.</td><td>TimeUnit.MINUTES.toMicros(1)</td></tr>
diff --git a/content/docs/en/2.6.0/client-libraries-node.html b/content/docs/en/2.6.0/client-libraries-node.html
index 01df8cf..41360f6 100644
--- a/content/docs/en/2.6.0/client-libraries-node.html
+++ b/content/docs/en/2.6.0/client-libraries-node.html
@@ -267,7 +267,7 @@ In this example, using await operator instead of executor function.</p>
 <tbody>
 <tr><td style="text-align:left"><code>topic</code></td><td style="text-align:left">The Pulsar <a href="/docs/en/2.6.0/reference-terminology#topic">topic</a> on which the consumer will establish a subscription and listen for messages.</td><td style="text-align:left"></td></tr>
 <tr><td style="text-align:left"><code>subscription</code></td><td style="text-align:left">The subscription name for this consumer.</td><td style="text-align:left"></td></tr>
-<tr><td style="text-align:left"><code>subscriptionType</code></td><td style="text-align:left">Available options are <code>Exclusive</code>, <code>Shared</code>, and <code>Failover</code>.</td><td style="text-align:left"><code>Exclusive</code></td></tr>
+<tr><td style="text-align:left"><code>subscriptionType</code></td><td style="text-align:left">Available options are <code>Exclusive</code>, <code>Shared</code>, <code>Key_Shared</code>, and <code>Failover</code>.</td><td style="text-align:left"><code>Exclusive</code></td></tr>
 <tr><td style="text-align:left"><code>ackTimeoutMs</code></td><td style="text-align:left">Acknowledge timeout in milliseconds.</td><td style="text-align:left">0</td></tr>
 <tr><td style="text-align:left"><code>receiverQueueSize</code></td><td style="text-align:left">Sets the size of the consumer's receiver queue, i.e. the number of messages that can be accumulated by the consumer before the application calls <code>receive</code>. A value higher than the default of 1000 could increase consumer throughput, though at the expense of more memory utilization.</td><td style="text-align:left">1000</td></tr>
 <tr><td style="text-align:left"><code>receiverQueueSizeAcrossPartitions</code></td><td style="text-align:left">Set the max total receiver queue size across partitions. This setting will be used to reduce the receiver queue size for individual partitions if the total exceeds this value.</td><td style="text-align:left">50000</td></tr>
diff --git a/content/docs/en/2.6.0/client-libraries-node/index.html b/content/docs/en/2.6.0/client-libraries-node/index.html
index 01df8cf..41360f6 100644
--- a/content/docs/en/2.6.0/client-libraries-node/index.html
+++ b/content/docs/en/2.6.0/client-libraries-node/index.html
@@ -267,7 +267,7 @@ In this example, using await operator instead of executor function.</p>
 <tbody>
 <tr><td style="text-align:left"><code>topic</code></td><td style="text-align:left">The Pulsar <a href="/docs/en/2.6.0/reference-terminology#topic">topic</a> on which the consumer will establish a subscription and listen for messages.</td><td style="text-align:left"></td></tr>
 <tr><td style="text-align:left"><code>subscription</code></td><td style="text-align:left">The subscription name for this consumer.</td><td style="text-align:left"></td></tr>
-<tr><td style="text-align:left"><code>subscriptionType</code></td><td style="text-align:left">Available options are <code>Exclusive</code>, <code>Shared</code>, and <code>Failover</code>.</td><td style="text-align:left"><code>Exclusive</code></td></tr>
+<tr><td style="text-align:left"><code>subscriptionType</code></td><td style="text-align:left">Available options are <code>Exclusive</code>, <code>Shared</code>, <code>Key_Shared</code>, and <code>Failover</code>.</td><td style="text-align:left"><code>Exclusive</code></td></tr>
 <tr><td style="text-align:left"><code>ackTimeoutMs</code></td><td style="text-align:left">Acknowledge timeout in milliseconds.</td><td style="text-align:left">0</td></tr>
 <tr><td style="text-align:left"><code>receiverQueueSize</code></td><td style="text-align:left">Sets the size of the consumer's receiver queue, i.e. the number of messages that can be accumulated by the consumer before the application calls <code>receive</code>. A value higher than the default of 1000 could increase consumer throughput, though at the expense of more memory utilization.</td><td style="text-align:left">1000</td></tr>
 <tr><td style="text-align:left"><code>receiverQueueSizeAcrossPartitions</code></td><td style="text-align:left">Set the max total receiver queue size across partitions. This setting will be used to reduce the receiver queue size for individual partitions if the total exceeds this value.</td><td style="text-align:left">50000</td></tr>
diff --git a/content/docs/en/2.6.0/client-libraries-websocket.html b/content/docs/en/2.6.0/client-libraries-websocket.html
index 09b7ced..3a6fd87 100644
--- a/content/docs/en/2.6.0/client-libraries-websocket.html
+++ b/content/docs/en/2.6.0/client-libraries-websocket.html
@@ -184,7 +184,7 @@
 </thead>
 <tbody>
 <tr><td style="text-align:left"><code>ackTimeoutMillis</code></td><td style="text-align:left">long</td><td style="text-align:left">no</td><td style="text-align:left">Set the timeout for unacked messages (default: 0)</td></tr>
-<tr><td style="text-align:left"><code>subscriptionType</code></td><td style="text-align:left">string</td><td style="text-align:left">no</td><td style="text-align:left"><a href="https://pulsar.apache.org/api/client/2.6.0-SNAPSHOT/index.html?org/apache/pulsar/client/api/SubscriptionType.html">Subscription type</a>: <code>Exclusive</code>, <code>Failover</code>, <code>Shared</code></td></tr>
+<tr><td style="text-align:left"><code>subscriptionType</code></td><td style="text-align:left">string</td><td style="text-align:left">no</td><td style="text-align:left"><a href="https://pulsar.apache.org/api/client/2.6.0-SNAPSHOT/index.html?org/apache/pulsar/client/api/SubscriptionType.html">Subscription type</a>: <code>Exclusive</code>, <code>Failover</code>, <code>Shared</code>, <code>Key_Shared</code></td></tr>
 <tr><td style="text-align:left"><code>receiverQueueSize</code></td><td style="text-align:left">int</td><td style="text-align:left">no</td><td style="text-align:left">Size of the consumer receive queue (default: 1000)</td></tr>
 <tr><td style="text-align:left"><code>consumerName</code></td><td style="text-align:left">string</td><td style="text-align:left">no</td><td style="text-align:left">Consumer name</td></tr>
 <tr><td style="text-align:left"><code>priorityLevel</code></td><td style="text-align:left">int</td><td style="text-align:left">no</td><td style="text-align:left">Define a <a href="http://pulsar.apache.org/api/client/2.6.0-SNAPSHOT/org/apache/pulsar/client/api/ConsumerConfiguration.html#setPriorityLevel-int-">priority</a> for the consumer</td></tr>
diff --git a/content/docs/en/2.6.0/client-libraries-websocket/index.html b/content/docs/en/2.6.0/client-libraries-websocket/index.html
index 09b7ced..3a6fd87 100644
--- a/content/docs/en/2.6.0/client-libraries-websocket/index.html
+++ b/content/docs/en/2.6.0/client-libraries-websocket/index.html
@@ -184,7 +184,7 @@
 </thead>
 <tbody>
 <tr><td style="text-align:left"><code>ackTimeoutMillis</code></td><td style="text-align:left">long</td><td style="text-align:left">no</td><td style="text-align:left">Set the timeout for unacked messages (default: 0)</td></tr>
-<tr><td style="text-align:left"><code>subscriptionType</code></td><td style="text-align:left">string</td><td style="text-align:left">no</td><td style="text-align:left"><a href="https://pulsar.apache.org/api/client/2.6.0-SNAPSHOT/index.html?org/apache/pulsar/client/api/SubscriptionType.html">Subscription type</a>: <code>Exclusive</code>, <code>Failover</code>, <code>Shared</code></td></tr>
+<tr><td style="text-align:left"><code>subscriptionType</code></td><td style="text-align:left">string</td><td style="text-align:left">no</td><td style="text-align:left"><a href="https://pulsar.apache.org/api/client/2.6.0-SNAPSHOT/index.html?org/apache/pulsar/client/api/SubscriptionType.html">Subscription type</a>: <code>Exclusive</code>, <code>Failover</code>, <code>Shared</code>, <code>Key_Shared</code></td></tr>
 <tr><td style="text-align:left"><code>receiverQueueSize</code></td><td style="text-align:left">int</td><td style="text-align:left">no</td><td style="text-align:left">Size of the consumer receive queue (default: 1000)</td></tr>
 <tr><td style="text-align:left"><code>consumerName</code></td><td style="text-align:left">string</td><td style="text-align:left">no</td><td style="text-align:left">Consumer name</td></tr>
 <tr><td style="text-align:left"><code>priorityLevel</code></td><td style="text-align:left">int</td><td style="text-align:left">no</td><td style="text-align:left">Define a <a href="http://pulsar.apache.org/api/client/2.6.0-SNAPSHOT/org/apache/pulsar/client/api/ConsumerConfiguration.html#setPriorityLevel-int-">priority</a> for the consumer</td></tr>
diff --git a/content/docs/en/2.6.0/reference-metrics.html b/content/docs/en/2.6.0/reference-metrics.html
index c162ba3..192103c 100644
--- a/content/docs/en/2.6.0/reference-metrics.html
+++ b/content/docs/en/2.6.0/reference-metrics.html
@@ -136,8 +136,8 @@ in <code>bookkeeper.conf</code> configuration file.</p>
 <tr><td>bookkeeper_server_READ_ENTRY_count</td><td>Counter</td><td>The total number of READ_ENTRY requests received at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
 <tr><td>bookie_WRITE_BYTES</td><td>Counter</td><td>The total number of bytes written to the bookie.</td></tr>
 <tr><td>bookie_READ_BYTES</td><td>Counter</td><td>The total number of bytes read from the bookie.</td></tr>
-<tr><td>bookkeeper_server_ADD_ENTRY_REQUEST</td><td>Histogram</td><td>The histogram of request latency of ADD_ENTRY requests at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
-<tr><td>bookkeeper_server_READ_ENTRY_REQUEST</td><td>Histogram</td><td>The histogram of request latency of READ_ENTRY requests at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
+<tr><td>bookkeeper_server_ADD_ENTRY_REQUEST</td><td>Summary</td><td>The summary of request latency of ADD_ENTRY requests at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
+<tr><td>bookkeeper_server_READ_ENTRY_REQUEST</td><td>Summary</td><td>The summary of request latency of READ_ENTRY requests at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
 </tbody>
 </table>
 <h3><a class="anchor" aria-hidden="true" id="journal-metrics"></a><a href="#journal-metrics" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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  [...]
@@ -150,8 +150,8 @@ in <code>bookkeeper.conf</code> configuration file.</p>
 <tr><td>bookie_journal_JOURNAL_QUEUE_SIZE</td><td>Gauge</td><td>The total number of requests pending in the journal queue.</td></tr>
 <tr><td>bookie_journal_JOURNAL_FORCE_WRITE_QUEUE_SIZE</td><td>Gauge</td><td>The total number of force write (fsync) requests pending in the force-write queue.</td></tr>
 <tr><td>bookie_journal_JOURNAL_CB_QUEUE_SIZE</td><td>Gauge</td><td>The total number of callbacks pending in the callback queue.</td></tr>
-<tr><td>bookie_journal_JOURNAL_ADD_ENTRY</td><td>Histogram</td><td>The histogram of request latency of adding entries to the journal.</td></tr>
-<tr><td>bookie_journal_JOURNAL_SYNC</td><td>Histogram</td><td>The histogram of fsync latency of syncing data to the journal disk.</td></tr>
+<tr><td>bookie_journal_JOURNAL_ADD_ENTRY</td><td>Summary</td><td>The summary of request latency of adding entries to the journal.</td></tr>
+<tr><td>bookie_journal_JOURNAL_SYNC</td><td>Summary</td><td>The summary of fsync latency of syncing data to the journal disk.</td></tr>
 </tbody>
 </table>
 <h3><a class="anchor" aria-hidden="true" id="storage-metrics"></a><a href="#storage-metrics" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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  [...]
diff --git a/content/docs/en/2.6.0/reference-metrics/index.html b/content/docs/en/2.6.0/reference-metrics/index.html
index c162ba3..192103c 100644
--- a/content/docs/en/2.6.0/reference-metrics/index.html
+++ b/content/docs/en/2.6.0/reference-metrics/index.html
@@ -136,8 +136,8 @@ in <code>bookkeeper.conf</code> configuration file.</p>
 <tr><td>bookkeeper_server_READ_ENTRY_count</td><td>Counter</td><td>The total number of READ_ENTRY requests received at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
 <tr><td>bookie_WRITE_BYTES</td><td>Counter</td><td>The total number of bytes written to the bookie.</td></tr>
 <tr><td>bookie_READ_BYTES</td><td>Counter</td><td>The total number of bytes read from the bookie.</td></tr>
-<tr><td>bookkeeper_server_ADD_ENTRY_REQUEST</td><td>Histogram</td><td>The histogram of request latency of ADD_ENTRY requests at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
-<tr><td>bookkeeper_server_READ_ENTRY_REQUEST</td><td>Histogram</td><td>The histogram of request latency of READ_ENTRY requests at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
+<tr><td>bookkeeper_server_ADD_ENTRY_REQUEST</td><td>Summary</td><td>The summary of request latency of ADD_ENTRY requests at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
+<tr><td>bookkeeper_server_READ_ENTRY_REQUEST</td><td>Summary</td><td>The summary of request latency of READ_ENTRY requests at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
 </tbody>
 </table>
 <h3><a class="anchor" aria-hidden="true" id="journal-metrics"></a><a href="#journal-metrics" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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  [...]
@@ -150,8 +150,8 @@ in <code>bookkeeper.conf</code> configuration file.</p>
 <tr><td>bookie_journal_JOURNAL_QUEUE_SIZE</td><td>Gauge</td><td>The total number of requests pending in the journal queue.</td></tr>
 <tr><td>bookie_journal_JOURNAL_FORCE_WRITE_QUEUE_SIZE</td><td>Gauge</td><td>The total number of force write (fsync) requests pending in the force-write queue.</td></tr>
 <tr><td>bookie_journal_JOURNAL_CB_QUEUE_SIZE</td><td>Gauge</td><td>The total number of callbacks pending in the callback queue.</td></tr>
-<tr><td>bookie_journal_JOURNAL_ADD_ENTRY</td><td>Histogram</td><td>The histogram of request latency of adding entries to the journal.</td></tr>
-<tr><td>bookie_journal_JOURNAL_SYNC</td><td>Histogram</td><td>The histogram of fsync latency of syncing data to the journal disk.</td></tr>
+<tr><td>bookie_journal_JOURNAL_ADD_ENTRY</td><td>Summary</td><td>The summary of request latency of adding entries to the journal.</td></tr>
+<tr><td>bookie_journal_JOURNAL_SYNC</td><td>Summary</td><td>The summary of fsync latency of syncing data to the journal disk.</td></tr>
 </tbody>
 </table>
 <h3><a class="anchor" aria-hidden="true" id="storage-metrics"></a><a href="#storage-metrics" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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  [...]
diff --git a/content/docs/en/2.6.1/client-libraries-java.html b/content/docs/en/2.6.1/client-libraries-java.html
index bb25377..0585e82 100644
--- a/content/docs/en/2.6.1/client-libraries-java.html
+++ b/content/docs/en/2.6.1/client-libraries-java.html
@@ -297,7 +297,7 @@ client.close();
 <tr><td>Set&lt;String&gt;</td><td><code>topicNames</code></td><td>Topic name</td><td>Sets.newTreeSet()</td></tr>
 <tr><td>Pattern</td><td><code>topicsPattern</code></td><td>Topic pattern</td><td>None</td></tr>
 <tr><td>String</td><td><code>subscriptionName</code></td><td>Subscription name</td><td>None</td></tr>
-<tr><td>SubscriptionType</td><td><code>subscriptionType</code></td><td>Subscription type <br/><br/>Three subscription types are available:<li>Exclusive</li><li>Failover</li><li>Shared</li></td><td>SubscriptionType.Exclusive</td></tr>
+<tr><td>SubscriptionType</td><td><code>subscriptionType</code></td><td>Subscription type <br/><br/>Four subscription types are available:<li>Exclusive</li><li>Failover</li><li>Shared</li><li>Key_Shared</li></td><td>SubscriptionType.Exclusive</td></tr>
 <tr><td>int</td><td><code>receiverQueueSize</code></td><td>Size of a consumer's receiver queue. <br/><br/>For example, the number of messages accumulated by a consumer before an application calls <code>Receive</code>. <br/><br/>A value higher than the default value increases consumer throughput, though at the expense of more memory utilization.</td><td>1000</td></tr>
 <tr><td>long</td><td><code>acknowledgementsGroupTimeMicros</code></td><td>Group a consumer acknowledgment for a specified time.<br/><br/>By default, a consumer uses 100ms grouping time to send out acknowledgments to a broker.<br/><br/>Setting a group time of 0 sends out acknowledgments immediately. <br/><br/>A longer ack group time is more efficient at the expense of a slight increase in message re-deliveries after a failure.</td><td>TimeUnit.MILLISECONDS.toMicros(100)</td></tr>
 <tr><td>long</td><td><code>negativeAckRedeliveryDelayMicros</code></td><td>Delay to wait before redelivering messages that failed to be processed.<br/><br/> When an application uses {@link Consumer#negativeAcknowledge(Message)}, failed messages are redelivered after a fixed timeout.</td><td>TimeUnit.MINUTES.toMicros(1)</td></tr>
diff --git a/content/docs/en/2.6.1/client-libraries-java/index.html b/content/docs/en/2.6.1/client-libraries-java/index.html
index bb25377..0585e82 100644
--- a/content/docs/en/2.6.1/client-libraries-java/index.html
+++ b/content/docs/en/2.6.1/client-libraries-java/index.html
@@ -297,7 +297,7 @@ client.close();
 <tr><td>Set&lt;String&gt;</td><td><code>topicNames</code></td><td>Topic name</td><td>Sets.newTreeSet()</td></tr>
 <tr><td>Pattern</td><td><code>topicsPattern</code></td><td>Topic pattern</td><td>None</td></tr>
 <tr><td>String</td><td><code>subscriptionName</code></td><td>Subscription name</td><td>None</td></tr>
-<tr><td>SubscriptionType</td><td><code>subscriptionType</code></td><td>Subscription type <br/><br/>Three subscription types are available:<li>Exclusive</li><li>Failover</li><li>Shared</li></td><td>SubscriptionType.Exclusive</td></tr>
+<tr><td>SubscriptionType</td><td><code>subscriptionType</code></td><td>Subscription type <br/><br/>Four subscription types are available:<li>Exclusive</li><li>Failover</li><li>Shared</li><li>Key_Shared</li></td><td>SubscriptionType.Exclusive</td></tr>
 <tr><td>int</td><td><code>receiverQueueSize</code></td><td>Size of a consumer's receiver queue. <br/><br/>For example, the number of messages accumulated by a consumer before an application calls <code>Receive</code>. <br/><br/>A value higher than the default value increases consumer throughput, though at the expense of more memory utilization.</td><td>1000</td></tr>
 <tr><td>long</td><td><code>acknowledgementsGroupTimeMicros</code></td><td>Group a consumer acknowledgment for a specified time.<br/><br/>By default, a consumer uses 100ms grouping time to send out acknowledgments to a broker.<br/><br/>Setting a group time of 0 sends out acknowledgments immediately. <br/><br/>A longer ack group time is more efficient at the expense of a slight increase in message re-deliveries after a failure.</td><td>TimeUnit.MILLISECONDS.toMicros(100)</td></tr>
 <tr><td>long</td><td><code>negativeAckRedeliveryDelayMicros</code></td><td>Delay to wait before redelivering messages that failed to be processed.<br/><br/> When an application uses {@link Consumer#negativeAcknowledge(Message)}, failed messages are redelivered after a fixed timeout.</td><td>TimeUnit.MINUTES.toMicros(1)</td></tr>
diff --git a/content/docs/en/2.6.1/client-libraries-node.html b/content/docs/en/2.6.1/client-libraries-node.html
index 4f34b78..d4c7c79 100644
--- a/content/docs/en/2.6.1/client-libraries-node.html
+++ b/content/docs/en/2.6.1/client-libraries-node.html
@@ -267,7 +267,7 @@ In this example, using await operator instead of executor function.</p>
 <tbody>
 <tr><td style="text-align:left"><code>topic</code></td><td style="text-align:left">The Pulsar <a href="/docs/en/2.6.1/reference-terminology#topic">topic</a> on which the consumer will establish a subscription and listen for messages.</td><td style="text-align:left"></td></tr>
 <tr><td style="text-align:left"><code>subscription</code></td><td style="text-align:left">The subscription name for this consumer.</td><td style="text-align:left"></td></tr>
-<tr><td style="text-align:left"><code>subscriptionType</code></td><td style="text-align:left">Available options are <code>Exclusive</code>, <code>Shared</code>, and <code>Failover</code>.</td><td style="text-align:left"><code>Exclusive</code></td></tr>
+<tr><td style="text-align:left"><code>subscriptionType</code></td><td style="text-align:left">Available options are <code>Exclusive</code>, <code>Shared</code>, <code>Key_Shared</code>, and <code>Failover</code>.</td><td style="text-align:left"><code>Exclusive</code></td></tr>
 <tr><td style="text-align:left"><code>ackTimeoutMs</code></td><td style="text-align:left">Acknowledge timeout in milliseconds.</td><td style="text-align:left">0</td></tr>
 <tr><td style="text-align:left"><code>receiverQueueSize</code></td><td style="text-align:left">Sets the size of the consumer's receiver queue, i.e. the number of messages that can be accumulated by the consumer before the application calls <code>receive</code>. A value higher than the default of 1000 could increase consumer throughput, though at the expense of more memory utilization.</td><td style="text-align:left">1000</td></tr>
 <tr><td style="text-align:left"><code>receiverQueueSizeAcrossPartitions</code></td><td style="text-align:left">Set the max total receiver queue size across partitions. This setting will be used to reduce the receiver queue size for individual partitions if the total exceeds this value.</td><td style="text-align:left">50000</td></tr>
diff --git a/content/docs/en/2.6.1/client-libraries-node/index.html b/content/docs/en/2.6.1/client-libraries-node/index.html
index 4f34b78..d4c7c79 100644
--- a/content/docs/en/2.6.1/client-libraries-node/index.html
+++ b/content/docs/en/2.6.1/client-libraries-node/index.html
@@ -267,7 +267,7 @@ In this example, using await operator instead of executor function.</p>
 <tbody>
 <tr><td style="text-align:left"><code>topic</code></td><td style="text-align:left">The Pulsar <a href="/docs/en/2.6.1/reference-terminology#topic">topic</a> on which the consumer will establish a subscription and listen for messages.</td><td style="text-align:left"></td></tr>
 <tr><td style="text-align:left"><code>subscription</code></td><td style="text-align:left">The subscription name for this consumer.</td><td style="text-align:left"></td></tr>
-<tr><td style="text-align:left"><code>subscriptionType</code></td><td style="text-align:left">Available options are <code>Exclusive</code>, <code>Shared</code>, and <code>Failover</code>.</td><td style="text-align:left"><code>Exclusive</code></td></tr>
+<tr><td style="text-align:left"><code>subscriptionType</code></td><td style="text-align:left">Available options are <code>Exclusive</code>, <code>Shared</code>, <code>Key_Shared</code>, and <code>Failover</code>.</td><td style="text-align:left"><code>Exclusive</code></td></tr>
 <tr><td style="text-align:left"><code>ackTimeoutMs</code></td><td style="text-align:left">Acknowledge timeout in milliseconds.</td><td style="text-align:left">0</td></tr>
 <tr><td style="text-align:left"><code>receiverQueueSize</code></td><td style="text-align:left">Sets the size of the consumer's receiver queue, i.e. the number of messages that can be accumulated by the consumer before the application calls <code>receive</code>. A value higher than the default of 1000 could increase consumer throughput, though at the expense of more memory utilization.</td><td style="text-align:left">1000</td></tr>
 <tr><td style="text-align:left"><code>receiverQueueSizeAcrossPartitions</code></td><td style="text-align:left">Set the max total receiver queue size across partitions. This setting will be used to reduce the receiver queue size for individual partitions if the total exceeds this value.</td><td style="text-align:left">50000</td></tr>
diff --git a/content/docs/en/2.6.1/client-libraries-websocket.html b/content/docs/en/2.6.1/client-libraries-websocket.html
index a2997cf..439e7f2 100644
--- a/content/docs/en/2.6.1/client-libraries-websocket.html
+++ b/content/docs/en/2.6.1/client-libraries-websocket.html
@@ -184,7 +184,7 @@
 </thead>
 <tbody>
 <tr><td style="text-align:left"><code>ackTimeoutMillis</code></td><td style="text-align:left">long</td><td style="text-align:left">no</td><td style="text-align:left">Set the timeout for unacked messages (default: 0)</td></tr>
-<tr><td style="text-align:left"><code>subscriptionType</code></td><td style="text-align:left">string</td><td style="text-align:left">no</td><td style="text-align:left"><a href="https://pulsar.apache.org/api/client/2.6.0-SNAPSHOT/index.html?org/apache/pulsar/client/api/SubscriptionType.html">Subscription type</a>: <code>Exclusive</code>, <code>Failover</code>, <code>Shared</code></td></tr>
+<tr><td style="text-align:left"><code>subscriptionType</code></td><td style="text-align:left">string</td><td style="text-align:left">no</td><td style="text-align:left"><a href="https://pulsar.apache.org/api/client/2.6.0-SNAPSHOT/index.html?org/apache/pulsar/client/api/SubscriptionType.html">Subscription type</a>: <code>Exclusive</code>, <code>Failover</code>, <code>Shared</code>, <code>Key_Shared</code></td></tr>
 <tr><td style="text-align:left"><code>receiverQueueSize</code></td><td style="text-align:left">int</td><td style="text-align:left">no</td><td style="text-align:left">Size of the consumer receive queue (default: 1000)</td></tr>
 <tr><td style="text-align:left"><code>consumerName</code></td><td style="text-align:left">string</td><td style="text-align:left">no</td><td style="text-align:left">Consumer name</td></tr>
 <tr><td style="text-align:left"><code>priorityLevel</code></td><td style="text-align:left">int</td><td style="text-align:left">no</td><td style="text-align:left">Define a <a href="http://pulsar.apache.org/api/client/2.6.0-SNAPSHOT/org/apache/pulsar/client/api/ConsumerConfiguration.html#setPriorityLevel-int-">priority</a> for the consumer</td></tr>
diff --git a/content/docs/en/2.6.1/client-libraries-websocket/index.html b/content/docs/en/2.6.1/client-libraries-websocket/index.html
index a2997cf..439e7f2 100644
--- a/content/docs/en/2.6.1/client-libraries-websocket/index.html
+++ b/content/docs/en/2.6.1/client-libraries-websocket/index.html
@@ -184,7 +184,7 @@
 </thead>
 <tbody>
 <tr><td style="text-align:left"><code>ackTimeoutMillis</code></td><td style="text-align:left">long</td><td style="text-align:left">no</td><td style="text-align:left">Set the timeout for unacked messages (default: 0)</td></tr>
-<tr><td style="text-align:left"><code>subscriptionType</code></td><td style="text-align:left">string</td><td style="text-align:left">no</td><td style="text-align:left"><a href="https://pulsar.apache.org/api/client/2.6.0-SNAPSHOT/index.html?org/apache/pulsar/client/api/SubscriptionType.html">Subscription type</a>: <code>Exclusive</code>, <code>Failover</code>, <code>Shared</code></td></tr>
+<tr><td style="text-align:left"><code>subscriptionType</code></td><td style="text-align:left">string</td><td style="text-align:left">no</td><td style="text-align:left"><a href="https://pulsar.apache.org/api/client/2.6.0-SNAPSHOT/index.html?org/apache/pulsar/client/api/SubscriptionType.html">Subscription type</a>: <code>Exclusive</code>, <code>Failover</code>, <code>Shared</code>, <code>Key_Shared</code></td></tr>
 <tr><td style="text-align:left"><code>receiverQueueSize</code></td><td style="text-align:left">int</td><td style="text-align:left">no</td><td style="text-align:left">Size of the consumer receive queue (default: 1000)</td></tr>
 <tr><td style="text-align:left"><code>consumerName</code></td><td style="text-align:left">string</td><td style="text-align:left">no</td><td style="text-align:left">Consumer name</td></tr>
 <tr><td style="text-align:left"><code>priorityLevel</code></td><td style="text-align:left">int</td><td style="text-align:left">no</td><td style="text-align:left">Define a <a href="http://pulsar.apache.org/api/client/2.6.0-SNAPSHOT/org/apache/pulsar/client/api/ConsumerConfiguration.html#setPriorityLevel-int-">priority</a> for the consumer</td></tr>
diff --git a/content/docs/en/2.6.1/reference-metrics.html b/content/docs/en/2.6.1/reference-metrics.html
index e93fd06..b402aa0 100644
--- a/content/docs/en/2.6.1/reference-metrics.html
+++ b/content/docs/en/2.6.1/reference-metrics.html
@@ -136,8 +136,8 @@ in <code>bookkeeper.conf</code> configuration file.</p>
 <tr><td>bookkeeper_server_READ_ENTRY_count</td><td>Counter</td><td>The total number of READ_ENTRY requests received at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
 <tr><td>bookie_WRITE_BYTES</td><td>Counter</td><td>The total number of bytes written to the bookie.</td></tr>
 <tr><td>bookie_READ_BYTES</td><td>Counter</td><td>The total number of bytes read from the bookie.</td></tr>
-<tr><td>bookkeeper_server_ADD_ENTRY_REQUEST</td><td>Histogram</td><td>The histogram of request latency of ADD_ENTRY requests at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
-<tr><td>bookkeeper_server_READ_ENTRY_REQUEST</td><td>Histogram</td><td>The histogram of request latency of READ_ENTRY requests at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
+<tr><td>bookkeeper_server_ADD_ENTRY_REQUEST</td><td>Summary</td><td>The summary of request latency of ADD_ENTRY requests at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
+<tr><td>bookkeeper_server_READ_ENTRY_REQUEST</td><td>Summary</td><td>The summary of request latency of READ_ENTRY requests at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
 </tbody>
 </table>
 <h3><a class="anchor" aria-hidden="true" id="journal-metrics"></a><a href="#journal-metrics" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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  [...]
@@ -150,8 +150,8 @@ in <code>bookkeeper.conf</code> configuration file.</p>
 <tr><td>bookie_journal_JOURNAL_QUEUE_SIZE</td><td>Gauge</td><td>The total number of requests pending in the journal queue.</td></tr>
 <tr><td>bookie_journal_JOURNAL_FORCE_WRITE_QUEUE_SIZE</td><td>Gauge</td><td>The total number of force write (fsync) requests pending in the force-write queue.</td></tr>
 <tr><td>bookie_journal_JOURNAL_CB_QUEUE_SIZE</td><td>Gauge</td><td>The total number of callbacks pending in the callback queue.</td></tr>
-<tr><td>bookie_journal_JOURNAL_ADD_ENTRY</td><td>Histogram</td><td>The histogram of request latency of adding entries to the journal.</td></tr>
-<tr><td>bookie_journal_JOURNAL_SYNC</td><td>Histogram</td><td>The histogram of fsync latency of syncing data to the journal disk.</td></tr>
+<tr><td>bookie_journal_JOURNAL_ADD_ENTRY</td><td>Summary</td><td>The summary of request latency of adding entries to the journal.</td></tr>
+<tr><td>bookie_journal_JOURNAL_SYNC</td><td>Summary</td><td>The summary of fsync latency of syncing data to the journal disk.</td></tr>
 </tbody>
 </table>
 <h3><a class="anchor" aria-hidden="true" id="storage-metrics"></a><a href="#storage-metrics" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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  [...]
diff --git a/content/docs/en/2.6.1/reference-metrics/index.html b/content/docs/en/2.6.1/reference-metrics/index.html
index e93fd06..b402aa0 100644
--- a/content/docs/en/2.6.1/reference-metrics/index.html
+++ b/content/docs/en/2.6.1/reference-metrics/index.html
@@ -136,8 +136,8 @@ in <code>bookkeeper.conf</code> configuration file.</p>
 <tr><td>bookkeeper_server_READ_ENTRY_count</td><td>Counter</td><td>The total number of READ_ENTRY requests received at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
 <tr><td>bookie_WRITE_BYTES</td><td>Counter</td><td>The total number of bytes written to the bookie.</td></tr>
 <tr><td>bookie_READ_BYTES</td><td>Counter</td><td>The total number of bytes read from the bookie.</td></tr>
-<tr><td>bookkeeper_server_ADD_ENTRY_REQUEST</td><td>Histogram</td><td>The histogram of request latency of ADD_ENTRY requests at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
-<tr><td>bookkeeper_server_READ_ENTRY_REQUEST</td><td>Histogram</td><td>The histogram of request latency of READ_ENTRY requests at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
+<tr><td>bookkeeper_server_ADD_ENTRY_REQUEST</td><td>Summary</td><td>The summary of request latency of ADD_ENTRY requests at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
+<tr><td>bookkeeper_server_READ_ENTRY_REQUEST</td><td>Summary</td><td>The summary of request latency of READ_ENTRY requests at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
 </tbody>
 </table>
 <h3><a class="anchor" aria-hidden="true" id="journal-metrics"></a><a href="#journal-metrics" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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  [...]
@@ -150,8 +150,8 @@ in <code>bookkeeper.conf</code> configuration file.</p>
 <tr><td>bookie_journal_JOURNAL_QUEUE_SIZE</td><td>Gauge</td><td>The total number of requests pending in the journal queue.</td></tr>
 <tr><td>bookie_journal_JOURNAL_FORCE_WRITE_QUEUE_SIZE</td><td>Gauge</td><td>The total number of force write (fsync) requests pending in the force-write queue.</td></tr>
 <tr><td>bookie_journal_JOURNAL_CB_QUEUE_SIZE</td><td>Gauge</td><td>The total number of callbacks pending in the callback queue.</td></tr>
-<tr><td>bookie_journal_JOURNAL_ADD_ENTRY</td><td>Histogram</td><td>The histogram of request latency of adding entries to the journal.</td></tr>
-<tr><td>bookie_journal_JOURNAL_SYNC</td><td>Histogram</td><td>The histogram of fsync latency of syncing data to the journal disk.</td></tr>
+<tr><td>bookie_journal_JOURNAL_ADD_ENTRY</td><td>Summary</td><td>The summary of request latency of adding entries to the journal.</td></tr>
+<tr><td>bookie_journal_JOURNAL_SYNC</td><td>Summary</td><td>The summary of fsync latency of syncing data to the journal disk.</td></tr>
 </tbody>
 </table>
 <h3><a class="anchor" aria-hidden="true" id="storage-metrics"></a><a href="#storage-metrics" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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  [...]
diff --git a/content/docs/en/2.6.2/client-libraries-java.html b/content/docs/en/2.6.2/client-libraries-java.html
index d00ed2c..396ed7c 100644
--- a/content/docs/en/2.6.2/client-libraries-java.html
+++ b/content/docs/en/2.6.2/client-libraries-java.html
@@ -297,7 +297,7 @@ client.close();
 <tr><td>Set&lt;String&gt;</td><td><code>topicNames</code></td><td>Topic name</td><td>Sets.newTreeSet()</td></tr>
 <tr><td>Pattern</td><td><code>topicsPattern</code></td><td>Topic pattern</td><td>None</td></tr>
 <tr><td>String</td><td><code>subscriptionName</code></td><td>Subscription name</td><td>None</td></tr>
-<tr><td>SubscriptionType</td><td><code>subscriptionType</code></td><td>Subscription type <br/><br/>Three subscription types are available:<li>Exclusive</li><li>Failover</li><li>Shared</li></td><td>SubscriptionType.Exclusive</td></tr>
+<tr><td>SubscriptionType</td><td><code>subscriptionType</code></td><td>Subscription type <br/><br/>Four subscription types are available:<li>Exclusive</li><li>Failover</li><li>Shared</li><li>Key_Shared</li></td><td>SubscriptionType.Exclusive</td></tr>
 <tr><td>int</td><td><code>receiverQueueSize</code></td><td>Size of a consumer's receiver queue. <br/><br/>For example, the number of messages accumulated by a consumer before an application calls <code>Receive</code>. <br/><br/>A value higher than the default value increases consumer throughput, though at the expense of more memory utilization.</td><td>1000</td></tr>
 <tr><td>long</td><td><code>acknowledgementsGroupTimeMicros</code></td><td>Group a consumer acknowledgment for a specified time.<br/><br/>By default, a consumer uses 100ms grouping time to send out acknowledgments to a broker.<br/><br/>Setting a group time of 0 sends out acknowledgments immediately. <br/><br/>A longer ack group time is more efficient at the expense of a slight increase in message re-deliveries after a failure.</td><td>TimeUnit.MILLISECONDS.toMicros(100)</td></tr>
 <tr><td>long</td><td><code>negativeAckRedeliveryDelayMicros</code></td><td>Delay to wait before redelivering messages that failed to be processed.<br/><br/> When an application uses {@link Consumer#negativeAcknowledge(Message)}, failed messages are redelivered after a fixed timeout.</td><td>TimeUnit.MINUTES.toMicros(1)</td></tr>
diff --git a/content/docs/en/2.6.2/client-libraries-java/index.html b/content/docs/en/2.6.2/client-libraries-java/index.html
index d00ed2c..396ed7c 100644
--- a/content/docs/en/2.6.2/client-libraries-java/index.html
+++ b/content/docs/en/2.6.2/client-libraries-java/index.html
@@ -297,7 +297,7 @@ client.close();
 <tr><td>Set&lt;String&gt;</td><td><code>topicNames</code></td><td>Topic name</td><td>Sets.newTreeSet()</td></tr>
 <tr><td>Pattern</td><td><code>topicsPattern</code></td><td>Topic pattern</td><td>None</td></tr>
 <tr><td>String</td><td><code>subscriptionName</code></td><td>Subscription name</td><td>None</td></tr>
-<tr><td>SubscriptionType</td><td><code>subscriptionType</code></td><td>Subscription type <br/><br/>Three subscription types are available:<li>Exclusive</li><li>Failover</li><li>Shared</li></td><td>SubscriptionType.Exclusive</td></tr>
+<tr><td>SubscriptionType</td><td><code>subscriptionType</code></td><td>Subscription type <br/><br/>Four subscription types are available:<li>Exclusive</li><li>Failover</li><li>Shared</li><li>Key_Shared</li></td><td>SubscriptionType.Exclusive</td></tr>
 <tr><td>int</td><td><code>receiverQueueSize</code></td><td>Size of a consumer's receiver queue. <br/><br/>For example, the number of messages accumulated by a consumer before an application calls <code>Receive</code>. <br/><br/>A value higher than the default value increases consumer throughput, though at the expense of more memory utilization.</td><td>1000</td></tr>
 <tr><td>long</td><td><code>acknowledgementsGroupTimeMicros</code></td><td>Group a consumer acknowledgment for a specified time.<br/><br/>By default, a consumer uses 100ms grouping time to send out acknowledgments to a broker.<br/><br/>Setting a group time of 0 sends out acknowledgments immediately. <br/><br/>A longer ack group time is more efficient at the expense of a slight increase in message re-deliveries after a failure.</td><td>TimeUnit.MILLISECONDS.toMicros(100)</td></tr>
 <tr><td>long</td><td><code>negativeAckRedeliveryDelayMicros</code></td><td>Delay to wait before redelivering messages that failed to be processed.<br/><br/> When an application uses {@link Consumer#negativeAcknowledge(Message)}, failed messages are redelivered after a fixed timeout.</td><td>TimeUnit.MINUTES.toMicros(1)</td></tr>
diff --git a/content/docs/en/2.6.2/client-libraries-node.html b/content/docs/en/2.6.2/client-libraries-node.html
index 5de39a7..3945702 100644
--- a/content/docs/en/2.6.2/client-libraries-node.html
+++ b/content/docs/en/2.6.2/client-libraries-node.html
@@ -267,7 +267,7 @@ In this example, using await operator instead of executor function.</p>
 <tbody>
 <tr><td style="text-align:left"><code>topic</code></td><td style="text-align:left">The Pulsar <a href="/docs/en/2.6.2/reference-terminology#topic">topic</a> on which the consumer will establish a subscription and listen for messages.</td><td style="text-align:left"></td></tr>
 <tr><td style="text-align:left"><code>subscription</code></td><td style="text-align:left">The subscription name for this consumer.</td><td style="text-align:left"></td></tr>
-<tr><td style="text-align:left"><code>subscriptionType</code></td><td style="text-align:left">Available options are <code>Exclusive</code>, <code>Shared</code>, and <code>Failover</code>.</td><td style="text-align:left"><code>Exclusive</code></td></tr>
+<tr><td style="text-align:left"><code>subscriptionType</code></td><td style="text-align:left">Available options are <code>Exclusive</code>, <code>Shared</code>, <code>Key_Shared</code>, and <code>Failover</code>.</td><td style="text-align:left"><code>Exclusive</code></td></tr>
 <tr><td style="text-align:left"><code>ackTimeoutMs</code></td><td style="text-align:left">Acknowledge timeout in milliseconds.</td><td style="text-align:left">0</td></tr>
 <tr><td style="text-align:left"><code>receiverQueueSize</code></td><td style="text-align:left">Sets the size of the consumer's receiver queue, i.e. the number of messages that can be accumulated by the consumer before the application calls <code>receive</code>. A value higher than the default of 1000 could increase consumer throughput, though at the expense of more memory utilization.</td><td style="text-align:left">1000</td></tr>
 <tr><td style="text-align:left"><code>receiverQueueSizeAcrossPartitions</code></td><td style="text-align:left">Set the max total receiver queue size across partitions. This setting will be used to reduce the receiver queue size for individual partitions if the total exceeds this value.</td><td style="text-align:left">50000</td></tr>
diff --git a/content/docs/en/2.6.2/client-libraries-node/index.html b/content/docs/en/2.6.2/client-libraries-node/index.html
index 5de39a7..3945702 100644
--- a/content/docs/en/2.6.2/client-libraries-node/index.html
+++ b/content/docs/en/2.6.2/client-libraries-node/index.html
@@ -267,7 +267,7 @@ In this example, using await operator instead of executor function.</p>
 <tbody>
 <tr><td style="text-align:left"><code>topic</code></td><td style="text-align:left">The Pulsar <a href="/docs/en/2.6.2/reference-terminology#topic">topic</a> on which the consumer will establish a subscription and listen for messages.</td><td style="text-align:left"></td></tr>
 <tr><td style="text-align:left"><code>subscription</code></td><td style="text-align:left">The subscription name for this consumer.</td><td style="text-align:left"></td></tr>
-<tr><td style="text-align:left"><code>subscriptionType</code></td><td style="text-align:left">Available options are <code>Exclusive</code>, <code>Shared</code>, and <code>Failover</code>.</td><td style="text-align:left"><code>Exclusive</code></td></tr>
+<tr><td style="text-align:left"><code>subscriptionType</code></td><td style="text-align:left">Available options are <code>Exclusive</code>, <code>Shared</code>, <code>Key_Shared</code>, and <code>Failover</code>.</td><td style="text-align:left"><code>Exclusive</code></td></tr>
 <tr><td style="text-align:left"><code>ackTimeoutMs</code></td><td style="text-align:left">Acknowledge timeout in milliseconds.</td><td style="text-align:left">0</td></tr>
 <tr><td style="text-align:left"><code>receiverQueueSize</code></td><td style="text-align:left">Sets the size of the consumer's receiver queue, i.e. the number of messages that can be accumulated by the consumer before the application calls <code>receive</code>. A value higher than the default of 1000 could increase consumer throughput, though at the expense of more memory utilization.</td><td style="text-align:left">1000</td></tr>
 <tr><td style="text-align:left"><code>receiverQueueSizeAcrossPartitions</code></td><td style="text-align:left">Set the max total receiver queue size across partitions. This setting will be used to reduce the receiver queue size for individual partitions if the total exceeds this value.</td><td style="text-align:left">50000</td></tr>
diff --git a/content/docs/en/2.6.2/client-libraries-websocket.html b/content/docs/en/2.6.2/client-libraries-websocket.html
index 7375ef4..6d6a4684 100644
--- a/content/docs/en/2.6.2/client-libraries-websocket.html
+++ b/content/docs/en/2.6.2/client-libraries-websocket.html
@@ -184,7 +184,7 @@
 </thead>
 <tbody>
 <tr><td style="text-align:left"><code>ackTimeoutMillis</code></td><td style="text-align:left">long</td><td style="text-align:left">no</td><td style="text-align:left">Set the timeout for unacked messages (default: 0)</td></tr>
-<tr><td style="text-align:left"><code>subscriptionType</code></td><td style="text-align:left">string</td><td style="text-align:left">no</td><td style="text-align:left"><a href="https://pulsar.apache.org/api/client/2.6.0-SNAPSHOT/index.html?org/apache/pulsar/client/api/SubscriptionType.html">Subscription type</a>: <code>Exclusive</code>, <code>Failover</code>, <code>Shared</code></td></tr>
+<tr><td style="text-align:left"><code>subscriptionType</code></td><td style="text-align:left">string</td><td style="text-align:left">no</td><td style="text-align:left"><a href="https://pulsar.apache.org/api/client/2.6.0-SNAPSHOT/index.html?org/apache/pulsar/client/api/SubscriptionType.html">Subscription type</a>: <code>Exclusive</code>, <code>Failover</code>, <code>Shared</code>, <code>Key_Shared</code></td></tr>
 <tr><td style="text-align:left"><code>receiverQueueSize</code></td><td style="text-align:left">int</td><td style="text-align:left">no</td><td style="text-align:left">Size of the consumer receive queue (default: 1000)</td></tr>
 <tr><td style="text-align:left"><code>consumerName</code></td><td style="text-align:left">string</td><td style="text-align:left">no</td><td style="text-align:left">Consumer name</td></tr>
 <tr><td style="text-align:left"><code>priorityLevel</code></td><td style="text-align:left">int</td><td style="text-align:left">no</td><td style="text-align:left">Define a <a href="http://pulsar.apache.org/api/client/2.6.0-SNAPSHOT/org/apache/pulsar/client/api/ConsumerConfiguration.html#setPriorityLevel-int-">priority</a> for the consumer</td></tr>
diff --git a/content/docs/en/2.6.2/client-libraries-websocket/index.html b/content/docs/en/2.6.2/client-libraries-websocket/index.html
index 7375ef4..6d6a4684 100644
--- a/content/docs/en/2.6.2/client-libraries-websocket/index.html
+++ b/content/docs/en/2.6.2/client-libraries-websocket/index.html
@@ -184,7 +184,7 @@
 </thead>
 <tbody>
 <tr><td style="text-align:left"><code>ackTimeoutMillis</code></td><td style="text-align:left">long</td><td style="text-align:left">no</td><td style="text-align:left">Set the timeout for unacked messages (default: 0)</td></tr>
-<tr><td style="text-align:left"><code>subscriptionType</code></td><td style="text-align:left">string</td><td style="text-align:left">no</td><td style="text-align:left"><a href="https://pulsar.apache.org/api/client/2.6.0-SNAPSHOT/index.html?org/apache/pulsar/client/api/SubscriptionType.html">Subscription type</a>: <code>Exclusive</code>, <code>Failover</code>, <code>Shared</code></td></tr>
+<tr><td style="text-align:left"><code>subscriptionType</code></td><td style="text-align:left">string</td><td style="text-align:left">no</td><td style="text-align:left"><a href="https://pulsar.apache.org/api/client/2.6.0-SNAPSHOT/index.html?org/apache/pulsar/client/api/SubscriptionType.html">Subscription type</a>: <code>Exclusive</code>, <code>Failover</code>, <code>Shared</code>, <code>Key_Shared</code></td></tr>
 <tr><td style="text-align:left"><code>receiverQueueSize</code></td><td style="text-align:left">int</td><td style="text-align:left">no</td><td style="text-align:left">Size of the consumer receive queue (default: 1000)</td></tr>
 <tr><td style="text-align:left"><code>consumerName</code></td><td style="text-align:left">string</td><td style="text-align:left">no</td><td style="text-align:left">Consumer name</td></tr>
 <tr><td style="text-align:left"><code>priorityLevel</code></td><td style="text-align:left">int</td><td style="text-align:left">no</td><td style="text-align:left">Define a <a href="http://pulsar.apache.org/api/client/2.6.0-SNAPSHOT/org/apache/pulsar/client/api/ConsumerConfiguration.html#setPriorityLevel-int-">priority</a> for the consumer</td></tr>
diff --git a/content/docs/en/2.6.2/reference-metrics.html b/content/docs/en/2.6.2/reference-metrics.html
index c075ba5..56c5e03 100644
--- a/content/docs/en/2.6.2/reference-metrics.html
+++ b/content/docs/en/2.6.2/reference-metrics.html
@@ -136,8 +136,8 @@ in <code>bookkeeper.conf</code> configuration file.</p>
 <tr><td>bookkeeper_server_READ_ENTRY_count</td><td>Counter</td><td>The total number of READ_ENTRY requests received at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
 <tr><td>bookie_WRITE_BYTES</td><td>Counter</td><td>The total number of bytes written to the bookie.</td></tr>
 <tr><td>bookie_READ_BYTES</td><td>Counter</td><td>The total number of bytes read from the bookie.</td></tr>
-<tr><td>bookkeeper_server_ADD_ENTRY_REQUEST</td><td>Histogram</td><td>The histogram of request latency of ADD_ENTRY requests at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
-<tr><td>bookkeeper_server_READ_ENTRY_REQUEST</td><td>Histogram</td><td>The histogram of request latency of READ_ENTRY requests at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
+<tr><td>bookkeeper_server_ADD_ENTRY_REQUEST</td><td>Summary</td><td>The summary of request latency of ADD_ENTRY requests at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
+<tr><td>bookkeeper_server_READ_ENTRY_REQUEST</td><td>Summary</td><td>The summary of request latency of READ_ENTRY requests at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
 </tbody>
 </table>
 <h3><a class="anchor" aria-hidden="true" id="journal-metrics"></a><a href="#journal-metrics" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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  [...]
@@ -150,8 +150,8 @@ in <code>bookkeeper.conf</code> configuration file.</p>
 <tr><td>bookie_journal_JOURNAL_QUEUE_SIZE</td><td>Gauge</td><td>The total number of requests pending in the journal queue.</td></tr>
 <tr><td>bookie_journal_JOURNAL_FORCE_WRITE_QUEUE_SIZE</td><td>Gauge</td><td>The total number of force write (fsync) requests pending in the force-write queue.</td></tr>
 <tr><td>bookie_journal_JOURNAL_CB_QUEUE_SIZE</td><td>Gauge</td><td>The total number of callbacks pending in the callback queue.</td></tr>
-<tr><td>bookie_journal_JOURNAL_ADD_ENTRY</td><td>Histogram</td><td>The histogram of request latency of adding entries to the journal.</td></tr>
-<tr><td>bookie_journal_JOURNAL_SYNC</td><td>Histogram</td><td>The histogram of fsync latency of syncing data to the journal disk.</td></tr>
+<tr><td>bookie_journal_JOURNAL_ADD_ENTRY</td><td>Summary</td><td>The summary of request latency of adding entries to the journal.</td></tr>
+<tr><td>bookie_journal_JOURNAL_SYNC</td><td>Summary</td><td>The summary of fsync latency of syncing data to the journal disk.</td></tr>
 </tbody>
 </table>
 <h3><a class="anchor" aria-hidden="true" id="storage-metrics"></a><a href="#storage-metrics" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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  [...]
diff --git a/content/docs/en/2.6.2/reference-metrics/index.html b/content/docs/en/2.6.2/reference-metrics/index.html
index c075ba5..56c5e03 100644
--- a/content/docs/en/2.6.2/reference-metrics/index.html
+++ b/content/docs/en/2.6.2/reference-metrics/index.html
@@ -136,8 +136,8 @@ in <code>bookkeeper.conf</code> configuration file.</p>
 <tr><td>bookkeeper_server_READ_ENTRY_count</td><td>Counter</td><td>The total number of READ_ENTRY requests received at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
 <tr><td>bookie_WRITE_BYTES</td><td>Counter</td><td>The total number of bytes written to the bookie.</td></tr>
 <tr><td>bookie_READ_BYTES</td><td>Counter</td><td>The total number of bytes read from the bookie.</td></tr>
-<tr><td>bookkeeper_server_ADD_ENTRY_REQUEST</td><td>Histogram</td><td>The histogram of request latency of ADD_ENTRY requests at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
-<tr><td>bookkeeper_server_READ_ENTRY_REQUEST</td><td>Histogram</td><td>The histogram of request latency of READ_ENTRY requests at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
+<tr><td>bookkeeper_server_ADD_ENTRY_REQUEST</td><td>Summary</td><td>The summary of request latency of ADD_ENTRY requests at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
+<tr><td>bookkeeper_server_READ_ENTRY_REQUEST</td><td>Summary</td><td>The summary of request latency of READ_ENTRY requests at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
 </tbody>
 </table>
 <h3><a class="anchor" aria-hidden="true" id="journal-metrics"></a><a href="#journal-metrics" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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  [...]
@@ -150,8 +150,8 @@ in <code>bookkeeper.conf</code> configuration file.</p>
 <tr><td>bookie_journal_JOURNAL_QUEUE_SIZE</td><td>Gauge</td><td>The total number of requests pending in the journal queue.</td></tr>
 <tr><td>bookie_journal_JOURNAL_FORCE_WRITE_QUEUE_SIZE</td><td>Gauge</td><td>The total number of force write (fsync) requests pending in the force-write queue.</td></tr>
 <tr><td>bookie_journal_JOURNAL_CB_QUEUE_SIZE</td><td>Gauge</td><td>The total number of callbacks pending in the callback queue.</td></tr>
-<tr><td>bookie_journal_JOURNAL_ADD_ENTRY</td><td>Histogram</td><td>The histogram of request latency of adding entries to the journal.</td></tr>
-<tr><td>bookie_journal_JOURNAL_SYNC</td><td>Histogram</td><td>The histogram of fsync latency of syncing data to the journal disk.</td></tr>
+<tr><td>bookie_journal_JOURNAL_ADD_ENTRY</td><td>Summary</td><td>The summary of request latency of adding entries to the journal.</td></tr>
+<tr><td>bookie_journal_JOURNAL_SYNC</td><td>Summary</td><td>The summary of fsync latency of syncing data to the journal disk.</td></tr>
 </tbody>
 </table>
 <h3><a class="anchor" aria-hidden="true" id="storage-metrics"></a><a href="#storage-metrics" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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  [...]
diff --git a/content/docs/en/2.6.3/client-libraries-java.html b/content/docs/en/2.6.3/client-libraries-java.html
index 02fd0e4..7650112 100644
--- a/content/docs/en/2.6.3/client-libraries-java.html
+++ b/content/docs/en/2.6.3/client-libraries-java.html
@@ -297,7 +297,7 @@ client.close();
 <tr><td>Set&lt;String&gt;</td><td><code>topicNames</code></td><td>Topic name</td><td>Sets.newTreeSet()</td></tr>
 <tr><td>Pattern</td><td><code>topicsPattern</code></td><td>Topic pattern</td><td>None</td></tr>
 <tr><td>String</td><td><code>subscriptionName</code></td><td>Subscription name</td><td>None</td></tr>
-<tr><td>SubscriptionType</td><td><code>subscriptionType</code></td><td>Subscription type <br/><br/>Three subscription types are available:<li>Exclusive</li><li>Failover</li><li>Shared</li></td><td>SubscriptionType.Exclusive</td></tr>
+<tr><td>SubscriptionType</td><td><code>subscriptionType</code></td><td>Subscription type <br/><br/>Four subscription types are available:<li>Exclusive</li><li>Failover</li><li>Shared</li><li>Key_Shared</li></td><td>SubscriptionType.Exclusive</td></tr>
 <tr><td>int</td><td><code>receiverQueueSize</code></td><td>Size of a consumer's receiver queue. <br/><br/>For example, the number of messages accumulated by a consumer before an application calls <code>Receive</code>. <br/><br/>A value higher than the default value increases consumer throughput, though at the expense of more memory utilization.</td><td>1000</td></tr>
 <tr><td>long</td><td><code>acknowledgementsGroupTimeMicros</code></td><td>Group a consumer acknowledgment for a specified time.<br/><br/>By default, a consumer uses 100ms grouping time to send out acknowledgments to a broker.<br/><br/>Setting a group time of 0 sends out acknowledgments immediately. <br/><br/>A longer ack group time is more efficient at the expense of a slight increase in message re-deliveries after a failure.</td><td>TimeUnit.MILLISECONDS.toMicros(100)</td></tr>
 <tr><td>long</td><td><code>negativeAckRedeliveryDelayMicros</code></td><td>Delay to wait before redelivering messages that failed to be processed.<br/><br/> When an application uses {@link Consumer#negativeAcknowledge(Message)}, failed messages are redelivered after a fixed timeout.</td><td>TimeUnit.MINUTES.toMicros(1)</td></tr>
diff --git a/content/docs/en/2.6.3/client-libraries-java/index.html b/content/docs/en/2.6.3/client-libraries-java/index.html
index 02fd0e4..7650112 100644
--- a/content/docs/en/2.6.3/client-libraries-java/index.html
+++ b/content/docs/en/2.6.3/client-libraries-java/index.html
@@ -297,7 +297,7 @@ client.close();
 <tr><td>Set&lt;String&gt;</td><td><code>topicNames</code></td><td>Topic name</td><td>Sets.newTreeSet()</td></tr>
 <tr><td>Pattern</td><td><code>topicsPattern</code></td><td>Topic pattern</td><td>None</td></tr>
 <tr><td>String</td><td><code>subscriptionName</code></td><td>Subscription name</td><td>None</td></tr>
-<tr><td>SubscriptionType</td><td><code>subscriptionType</code></td><td>Subscription type <br/><br/>Three subscription types are available:<li>Exclusive</li><li>Failover</li><li>Shared</li></td><td>SubscriptionType.Exclusive</td></tr>
+<tr><td>SubscriptionType</td><td><code>subscriptionType</code></td><td>Subscription type <br/><br/>Four subscription types are available:<li>Exclusive</li><li>Failover</li><li>Shared</li><li>Key_Shared</li></td><td>SubscriptionType.Exclusive</td></tr>
 <tr><td>int</td><td><code>receiverQueueSize</code></td><td>Size of a consumer's receiver queue. <br/><br/>For example, the number of messages accumulated by a consumer before an application calls <code>Receive</code>. <br/><br/>A value higher than the default value increases consumer throughput, though at the expense of more memory utilization.</td><td>1000</td></tr>
 <tr><td>long</td><td><code>acknowledgementsGroupTimeMicros</code></td><td>Group a consumer acknowledgment for a specified time.<br/><br/>By default, a consumer uses 100ms grouping time to send out acknowledgments to a broker.<br/><br/>Setting a group time of 0 sends out acknowledgments immediately. <br/><br/>A longer ack group time is more efficient at the expense of a slight increase in message re-deliveries after a failure.</td><td>TimeUnit.MILLISECONDS.toMicros(100)</td></tr>
 <tr><td>long</td><td><code>negativeAckRedeliveryDelayMicros</code></td><td>Delay to wait before redelivering messages that failed to be processed.<br/><br/> When an application uses {@link Consumer#negativeAcknowledge(Message)}, failed messages are redelivered after a fixed timeout.</td><td>TimeUnit.MINUTES.toMicros(1)</td></tr>
diff --git a/content/docs/en/2.6.3/client-libraries-node.html b/content/docs/en/2.6.3/client-libraries-node.html
index ae8821b..c9324e9 100644
--- a/content/docs/en/2.6.3/client-libraries-node.html
+++ b/content/docs/en/2.6.3/client-libraries-node.html
@@ -267,7 +267,7 @@ In this example, using await operator instead of executor function.</p>
 <tbody>
 <tr><td style="text-align:left"><code>topic</code></td><td style="text-align:left">The Pulsar <a href="/docs/en/2.6.3/reference-terminology#topic">topic</a> on which the consumer will establish a subscription and listen for messages.</td><td style="text-align:left"></td></tr>
 <tr><td style="text-align:left"><code>subscription</code></td><td style="text-align:left">The subscription name for this consumer.</td><td style="text-align:left"></td></tr>
-<tr><td style="text-align:left"><code>subscriptionType</code></td><td style="text-align:left">Available options are <code>Exclusive</code>, <code>Shared</code>, and <code>Failover</code>.</td><td style="text-align:left"><code>Exclusive</code></td></tr>
+<tr><td style="text-align:left"><code>subscriptionType</code></td><td style="text-align:left">Available options are <code>Exclusive</code>, <code>Shared</code>, <code>Key_Shared</code>, and <code>Failover</code>.</td><td style="text-align:left"><code>Exclusive</code></td></tr>
 <tr><td style="text-align:left"><code>ackTimeoutMs</code></td><td style="text-align:left">Acknowledge timeout in milliseconds.</td><td style="text-align:left">0</td></tr>
 <tr><td style="text-align:left"><code>receiverQueueSize</code></td><td style="text-align:left">Sets the size of the consumer's receiver queue, i.e. the number of messages that can be accumulated by the consumer before the application calls <code>receive</code>. A value higher than the default of 1000 could increase consumer throughput, though at the expense of more memory utilization.</td><td style="text-align:left">1000</td></tr>
 <tr><td style="text-align:left"><code>receiverQueueSizeAcrossPartitions</code></td><td style="text-align:left">Set the max total receiver queue size across partitions. This setting will be used to reduce the receiver queue size for individual partitions if the total exceeds this value.</td><td style="text-align:left">50000</td></tr>
diff --git a/content/docs/en/2.6.3/client-libraries-node/index.html b/content/docs/en/2.6.3/client-libraries-node/index.html
index ae8821b..c9324e9 100644
--- a/content/docs/en/2.6.3/client-libraries-node/index.html
+++ b/content/docs/en/2.6.3/client-libraries-node/index.html
@@ -267,7 +267,7 @@ In this example, using await operator instead of executor function.</p>
 <tbody>
 <tr><td style="text-align:left"><code>topic</code></td><td style="text-align:left">The Pulsar <a href="/docs/en/2.6.3/reference-terminology#topic">topic</a> on which the consumer will establish a subscription and listen for messages.</td><td style="text-align:left"></td></tr>
 <tr><td style="text-align:left"><code>subscription</code></td><td style="text-align:left">The subscription name for this consumer.</td><td style="text-align:left"></td></tr>
-<tr><td style="text-align:left"><code>subscriptionType</code></td><td style="text-align:left">Available options are <code>Exclusive</code>, <code>Shared</code>, and <code>Failover</code>.</td><td style="text-align:left"><code>Exclusive</code></td></tr>
+<tr><td style="text-align:left"><code>subscriptionType</code></td><td style="text-align:left">Available options are <code>Exclusive</code>, <code>Shared</code>, <code>Key_Shared</code>, and <code>Failover</code>.</td><td style="text-align:left"><code>Exclusive</code></td></tr>
 <tr><td style="text-align:left"><code>ackTimeoutMs</code></td><td style="text-align:left">Acknowledge timeout in milliseconds.</td><td style="text-align:left">0</td></tr>
 <tr><td style="text-align:left"><code>receiverQueueSize</code></td><td style="text-align:left">Sets the size of the consumer's receiver queue, i.e. the number of messages that can be accumulated by the consumer before the application calls <code>receive</code>. A value higher than the default of 1000 could increase consumer throughput, though at the expense of more memory utilization.</td><td style="text-align:left">1000</td></tr>
 <tr><td style="text-align:left"><code>receiverQueueSizeAcrossPartitions</code></td><td style="text-align:left">Set the max total receiver queue size across partitions. This setting will be used to reduce the receiver queue size for individual partitions if the total exceeds this value.</td><td style="text-align:left">50000</td></tr>
diff --git a/content/docs/en/2.6.3/client-libraries-websocket.html b/content/docs/en/2.6.3/client-libraries-websocket.html
index 6fa1bfc..a2834aa 100644
--- a/content/docs/en/2.6.3/client-libraries-websocket.html
+++ b/content/docs/en/2.6.3/client-libraries-websocket.html
@@ -184,7 +184,7 @@
 </thead>
 <tbody>
 <tr><td style="text-align:left"><code>ackTimeoutMillis</code></td><td style="text-align:left">long</td><td style="text-align:left">no</td><td style="text-align:left">Set the timeout for unacked messages (default: 0)</td></tr>
-<tr><td style="text-align:left"><code>subscriptionType</code></td><td style="text-align:left">string</td><td style="text-align:left">no</td><td style="text-align:left"><a href="https://pulsar.apache.org/api/client/2.6.0-SNAPSHOT/index.html?org/apache/pulsar/client/api/SubscriptionType.html">Subscription type</a>: <code>Exclusive</code>, <code>Failover</code>, <code>Shared</code></td></tr>
+<tr><td style="text-align:left"><code>subscriptionType</code></td><td style="text-align:left">string</td><td style="text-align:left">no</td><td style="text-align:left"><a href="https://pulsar.apache.org/api/client/2.6.0-SNAPSHOT/index.html?org/apache/pulsar/client/api/SubscriptionType.html">Subscription type</a>: <code>Exclusive</code>, <code>Failover</code>, <code>Shared</code>, <code>Key_Shared</code></td></tr>
 <tr><td style="text-align:left"><code>receiverQueueSize</code></td><td style="text-align:left">int</td><td style="text-align:left">no</td><td style="text-align:left">Size of the consumer receive queue (default: 1000)</td></tr>
 <tr><td style="text-align:left"><code>consumerName</code></td><td style="text-align:left">string</td><td style="text-align:left">no</td><td style="text-align:left">Consumer name</td></tr>
 <tr><td style="text-align:left"><code>priorityLevel</code></td><td style="text-align:left">int</td><td style="text-align:left">no</td><td style="text-align:left">Define a <a href="http://pulsar.apache.org/api/client/2.6.0-SNAPSHOT/org/apache/pulsar/client/api/ConsumerConfiguration.html#setPriorityLevel-int-">priority</a> for the consumer</td></tr>
diff --git a/content/docs/en/2.6.3/client-libraries-websocket/index.html b/content/docs/en/2.6.3/client-libraries-websocket/index.html
index 6fa1bfc..a2834aa 100644
--- a/content/docs/en/2.6.3/client-libraries-websocket/index.html
+++ b/content/docs/en/2.6.3/client-libraries-websocket/index.html
@@ -184,7 +184,7 @@
 </thead>
 <tbody>
 <tr><td style="text-align:left"><code>ackTimeoutMillis</code></td><td style="text-align:left">long</td><td style="text-align:left">no</td><td style="text-align:left">Set the timeout for unacked messages (default: 0)</td></tr>
-<tr><td style="text-align:left"><code>subscriptionType</code></td><td style="text-align:left">string</td><td style="text-align:left">no</td><td style="text-align:left"><a href="https://pulsar.apache.org/api/client/2.6.0-SNAPSHOT/index.html?org/apache/pulsar/client/api/SubscriptionType.html">Subscription type</a>: <code>Exclusive</code>, <code>Failover</code>, <code>Shared</code></td></tr>
+<tr><td style="text-align:left"><code>subscriptionType</code></td><td style="text-align:left">string</td><td style="text-align:left">no</td><td style="text-align:left"><a href="https://pulsar.apache.org/api/client/2.6.0-SNAPSHOT/index.html?org/apache/pulsar/client/api/SubscriptionType.html">Subscription type</a>: <code>Exclusive</code>, <code>Failover</code>, <code>Shared</code>, <code>Key_Shared</code></td></tr>
 <tr><td style="text-align:left"><code>receiverQueueSize</code></td><td style="text-align:left">int</td><td style="text-align:left">no</td><td style="text-align:left">Size of the consumer receive queue (default: 1000)</td></tr>
 <tr><td style="text-align:left"><code>consumerName</code></td><td style="text-align:left">string</td><td style="text-align:left">no</td><td style="text-align:left">Consumer name</td></tr>
 <tr><td style="text-align:left"><code>priorityLevel</code></td><td style="text-align:left">int</td><td style="text-align:left">no</td><td style="text-align:left">Define a <a href="http://pulsar.apache.org/api/client/2.6.0-SNAPSHOT/org/apache/pulsar/client/api/ConsumerConfiguration.html#setPriorityLevel-int-">priority</a> for the consumer</td></tr>
diff --git a/content/docs/en/2.6.3/reference-metrics.html b/content/docs/en/2.6.3/reference-metrics.html
index 3b9cd6f..0cf8546 100644
--- a/content/docs/en/2.6.3/reference-metrics.html
+++ b/content/docs/en/2.6.3/reference-metrics.html
@@ -136,8 +136,8 @@ in <code>bookkeeper.conf</code> configuration file.</p>
 <tr><td>bookkeeper_server_READ_ENTRY_count</td><td>Counter</td><td>The total number of READ_ENTRY requests received at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
 <tr><td>bookie_WRITE_BYTES</td><td>Counter</td><td>The total number of bytes written to the bookie.</td></tr>
 <tr><td>bookie_READ_BYTES</td><td>Counter</td><td>The total number of bytes read from the bookie.</td></tr>
-<tr><td>bookkeeper_server_ADD_ENTRY_REQUEST</td><td>Histogram</td><td>The histogram of request latency of ADD_ENTRY requests at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
-<tr><td>bookkeeper_server_READ_ENTRY_REQUEST</td><td>Histogram</td><td>The histogram of request latency of READ_ENTRY requests at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
+<tr><td>bookkeeper_server_ADD_ENTRY_REQUEST</td><td>Summary</td><td>The summary of request latency of ADD_ENTRY requests at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
+<tr><td>bookkeeper_server_READ_ENTRY_REQUEST</td><td>Summary</td><td>The summary of request latency of READ_ENTRY requests at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
 </tbody>
 </table>
 <h3><a class="anchor" aria-hidden="true" id="journal-metrics"></a><a href="#journal-metrics" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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  [...]
@@ -150,8 +150,8 @@ in <code>bookkeeper.conf</code> configuration file.</p>
 <tr><td>bookie_journal_JOURNAL_QUEUE_SIZE</td><td>Gauge</td><td>The total number of requests pending in the journal queue.</td></tr>
 <tr><td>bookie_journal_JOURNAL_FORCE_WRITE_QUEUE_SIZE</td><td>Gauge</td><td>The total number of force write (fsync) requests pending in the force-write queue.</td></tr>
 <tr><td>bookie_journal_JOURNAL_CB_QUEUE_SIZE</td><td>Gauge</td><td>The total number of callbacks pending in the callback queue.</td></tr>
-<tr><td>bookie_journal_JOURNAL_ADD_ENTRY</td><td>Histogram</td><td>The histogram of request latency of adding entries to the journal.</td></tr>
-<tr><td>bookie_journal_JOURNAL_SYNC</td><td>Histogram</td><td>The histogram of fsync latency of syncing data to the journal disk.</td></tr>
+<tr><td>bookie_journal_JOURNAL_ADD_ENTRY</td><td>Summary</td><td>The summary of request latency of adding entries to the journal.</td></tr>
+<tr><td>bookie_journal_JOURNAL_SYNC</td><td>Summary</td><td>The summary of fsync latency of syncing data to the journal disk.</td></tr>
 </tbody>
 </table>
 <h3><a class="anchor" aria-hidden="true" id="storage-metrics"></a><a href="#storage-metrics" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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  [...]
diff --git a/content/docs/en/2.6.3/reference-metrics/index.html b/content/docs/en/2.6.3/reference-metrics/index.html
index 3b9cd6f..0cf8546 100644
--- a/content/docs/en/2.6.3/reference-metrics/index.html
+++ b/content/docs/en/2.6.3/reference-metrics/index.html
@@ -136,8 +136,8 @@ in <code>bookkeeper.conf</code> configuration file.</p>
 <tr><td>bookkeeper_server_READ_ENTRY_count</td><td>Counter</td><td>The total number of READ_ENTRY requests received at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
 <tr><td>bookie_WRITE_BYTES</td><td>Counter</td><td>The total number of bytes written to the bookie.</td></tr>
 <tr><td>bookie_READ_BYTES</td><td>Counter</td><td>The total number of bytes read from the bookie.</td></tr>
-<tr><td>bookkeeper_server_ADD_ENTRY_REQUEST</td><td>Histogram</td><td>The histogram of request latency of ADD_ENTRY requests at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
-<tr><td>bookkeeper_server_READ_ENTRY_REQUEST</td><td>Histogram</td><td>The histogram of request latency of READ_ENTRY requests at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
+<tr><td>bookkeeper_server_ADD_ENTRY_REQUEST</td><td>Summary</td><td>The summary of request latency of ADD_ENTRY requests at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
+<tr><td>bookkeeper_server_READ_ENTRY_REQUEST</td><td>Summary</td><td>The summary of request latency of READ_ENTRY requests at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
 </tbody>
 </table>
 <h3><a class="anchor" aria-hidden="true" id="journal-metrics"></a><a href="#journal-metrics" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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  [...]
@@ -150,8 +150,8 @@ in <code>bookkeeper.conf</code> configuration file.</p>
 <tr><td>bookie_journal_JOURNAL_QUEUE_SIZE</td><td>Gauge</td><td>The total number of requests pending in the journal queue.</td></tr>
 <tr><td>bookie_journal_JOURNAL_FORCE_WRITE_QUEUE_SIZE</td><td>Gauge</td><td>The total number of force write (fsync) requests pending in the force-write queue.</td></tr>
 <tr><td>bookie_journal_JOURNAL_CB_QUEUE_SIZE</td><td>Gauge</td><td>The total number of callbacks pending in the callback queue.</td></tr>
-<tr><td>bookie_journal_JOURNAL_ADD_ENTRY</td><td>Histogram</td><td>The histogram of request latency of adding entries to the journal.</td></tr>
-<tr><td>bookie_journal_JOURNAL_SYNC</td><td>Histogram</td><td>The histogram of fsync latency of syncing data to the journal disk.</td></tr>
+<tr><td>bookie_journal_JOURNAL_ADD_ENTRY</td><td>Summary</td><td>The summary of request latency of adding entries to the journal.</td></tr>
+<tr><td>bookie_journal_JOURNAL_SYNC</td><td>Summary</td><td>The summary of fsync latency of syncing data to the journal disk.</td></tr>
 </tbody>
 </table>
 <h3><a class="anchor" aria-hidden="true" id="storage-metrics"></a><a href="#storage-metrics" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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  [...]
diff --git a/content/docs/en/client-libraries-java.html b/content/docs/en/client-libraries-java.html
index 83e0f29..aea3fbe 100644
--- a/content/docs/en/client-libraries-java.html
+++ b/content/docs/en/client-libraries-java.html
@@ -297,7 +297,7 @@ client.close();
 <tr><td>Set&lt;String&gt;</td><td><code>topicNames</code></td><td>Topic name</td><td>Sets.newTreeSet()</td></tr>
 <tr><td>Pattern</td><td><code>topicsPattern</code></td><td>Topic pattern</td><td>None</td></tr>
 <tr><td>String</td><td><code>subscriptionName</code></td><td>Subscription name</td><td>None</td></tr>
-<tr><td>SubscriptionType</td><td><code>subscriptionType</code></td><td>Subscription type <br/><br/>Three subscription types are available:<li>Exclusive</li><li>Failover</li><li>Shared</li></td><td>SubscriptionType.Exclusive</td></tr>
+<tr><td>SubscriptionType</td><td><code>subscriptionType</code></td><td>Subscription type <br/><br/>Four subscription types are available:<li>Exclusive</li><li>Failover</li><li>Shared</li><li>Key_Shared</li></td><td>SubscriptionType.Exclusive</td></tr>
 <tr><td>int</td><td><code>receiverQueueSize</code></td><td>Size of a consumer's receiver queue. <br/><br/>For example, the number of messages accumulated by a consumer before an application calls <code>Receive</code>. <br/><br/>A value higher than the default value increases consumer throughput, though at the expense of more memory utilization.</td><td>1000</td></tr>
 <tr><td>long</td><td><code>acknowledgementsGroupTimeMicros</code></td><td>Group a consumer acknowledgment for a specified time.<br/><br/>By default, a consumer uses 100ms grouping time to send out acknowledgments to a broker.<br/><br/>Setting a group time of 0 sends out acknowledgments immediately. <br/><br/>A longer ack group time is more efficient at the expense of a slight increase in message re-deliveries after a failure.</td><td>TimeUnit.MILLISECONDS.toMicros(100)</td></tr>
 <tr><td>long</td><td><code>negativeAckRedeliveryDelayMicros</code></td><td>Delay to wait before redelivering messages that failed to be processed.<br/><br/> When an application uses {@link Consumer#negativeAcknowledge(Message)}, failed messages are redelivered after a fixed timeout.</td><td>TimeUnit.MINUTES.toMicros(1)</td></tr>
diff --git a/content/docs/en/client-libraries-java/index.html b/content/docs/en/client-libraries-java/index.html
index 83e0f29..aea3fbe 100644
--- a/content/docs/en/client-libraries-java/index.html
+++ b/content/docs/en/client-libraries-java/index.html
@@ -297,7 +297,7 @@ client.close();
 <tr><td>Set&lt;String&gt;</td><td><code>topicNames</code></td><td>Topic name</td><td>Sets.newTreeSet()</td></tr>
 <tr><td>Pattern</td><td><code>topicsPattern</code></td><td>Topic pattern</td><td>None</td></tr>
 <tr><td>String</td><td><code>subscriptionName</code></td><td>Subscription name</td><td>None</td></tr>
-<tr><td>SubscriptionType</td><td><code>subscriptionType</code></td><td>Subscription type <br/><br/>Three subscription types are available:<li>Exclusive</li><li>Failover</li><li>Shared</li></td><td>SubscriptionType.Exclusive</td></tr>
+<tr><td>SubscriptionType</td><td><code>subscriptionType</code></td><td>Subscription type <br/><br/>Four subscription types are available:<li>Exclusive</li><li>Failover</li><li>Shared</li><li>Key_Shared</li></td><td>SubscriptionType.Exclusive</td></tr>
 <tr><td>int</td><td><code>receiverQueueSize</code></td><td>Size of a consumer's receiver queue. <br/><br/>For example, the number of messages accumulated by a consumer before an application calls <code>Receive</code>. <br/><br/>A value higher than the default value increases consumer throughput, though at the expense of more memory utilization.</td><td>1000</td></tr>
 <tr><td>long</td><td><code>acknowledgementsGroupTimeMicros</code></td><td>Group a consumer acknowledgment for a specified time.<br/><br/>By default, a consumer uses 100ms grouping time to send out acknowledgments to a broker.<br/><br/>Setting a group time of 0 sends out acknowledgments immediately. <br/><br/>A longer ack group time is more efficient at the expense of a slight increase in message re-deliveries after a failure.</td><td>TimeUnit.MILLISECONDS.toMicros(100)</td></tr>
 <tr><td>long</td><td><code>negativeAckRedeliveryDelayMicros</code></td><td>Delay to wait before redelivering messages that failed to be processed.<br/><br/> When an application uses {@link Consumer#negativeAcknowledge(Message)}, failed messages are redelivered after a fixed timeout.</td><td>TimeUnit.MINUTES.toMicros(1)</td></tr>
diff --git a/content/docs/en/client-libraries-node.html b/content/docs/en/client-libraries-node.html
index f69b684..5462e27 100644
--- a/content/docs/en/client-libraries-node.html
+++ b/content/docs/en/client-libraries-node.html
@@ -272,7 +272,7 @@ In this example, using await operator instead of executor function.</p>
 <tbody>
 <tr><td style="text-align:left"><code>topic</code></td><td style="text-align:left">The Pulsar <a href="/docs/en/reference-terminology#topic">topic</a> on which the consumer will establish a subscription and listen for messages.</td><td style="text-align:left"></td></tr>
 <tr><td style="text-align:left"><code>subscription</code></td><td style="text-align:left">The subscription name for this consumer.</td><td style="text-align:left"></td></tr>
-<tr><td style="text-align:left"><code>subscriptionType</code></td><td style="text-align:left">Available options are <code>Exclusive</code>, <code>Shared</code>, and <code>Failover</code>.</td><td style="text-align:left"><code>Exclusive</code></td></tr>
+<tr><td style="text-align:left"><code>subscriptionType</code></td><td style="text-align:left">Available options are <code>Exclusive</code>, <code>Shared</code>, <code>Key_Shared</code>, and <code>Failover</code>.</td><td style="text-align:left"><code>Exclusive</code></td></tr>
 <tr><td style="text-align:left"><code>subscriptionInitialPosition</code></td><td style="text-align:left">Initial position at which to set cursor when subscribing to a topic at first time.</td><td style="text-align:left"><code>SubscriptionInitialPosition.Latest</code></td></tr>
 <tr><td style="text-align:left"><code>ackTimeoutMs</code></td><td style="text-align:left">Acknowledge timeout in milliseconds.</td><td style="text-align:left">0</td></tr>
 <tr><td style="text-align:left"><code>nAckRedeliverTimeoutMs</code></td><td style="text-align:left">Delay to wait before redelivering messages that failed to be processed.</td><td style="text-align:left">60000</td></tr>
diff --git a/content/docs/en/client-libraries-node/index.html b/content/docs/en/client-libraries-node/index.html
index f69b684..5462e27 100644
--- a/content/docs/en/client-libraries-node/index.html
+++ b/content/docs/en/client-libraries-node/index.html
@@ -272,7 +272,7 @@ In this example, using await operator instead of executor function.</p>
 <tbody>
 <tr><td style="text-align:left"><code>topic</code></td><td style="text-align:left">The Pulsar <a href="/docs/en/reference-terminology#topic">topic</a> on which the consumer will establish a subscription and listen for messages.</td><td style="text-align:left"></td></tr>
 <tr><td style="text-align:left"><code>subscription</code></td><td style="text-align:left">The subscription name for this consumer.</td><td style="text-align:left"></td></tr>
-<tr><td style="text-align:left"><code>subscriptionType</code></td><td style="text-align:left">Available options are <code>Exclusive</code>, <code>Shared</code>, and <code>Failover</code>.</td><td style="text-align:left"><code>Exclusive</code></td></tr>
+<tr><td style="text-align:left"><code>subscriptionType</code></td><td style="text-align:left">Available options are <code>Exclusive</code>, <code>Shared</code>, <code>Key_Shared</code>, and <code>Failover</code>.</td><td style="text-align:left"><code>Exclusive</code></td></tr>
 <tr><td style="text-align:left"><code>subscriptionInitialPosition</code></td><td style="text-align:left">Initial position at which to set cursor when subscribing to a topic at first time.</td><td style="text-align:left"><code>SubscriptionInitialPosition.Latest</code></td></tr>
 <tr><td style="text-align:left"><code>ackTimeoutMs</code></td><td style="text-align:left">Acknowledge timeout in milliseconds.</td><td style="text-align:left">0</td></tr>
 <tr><td style="text-align:left"><code>nAckRedeliverTimeoutMs</code></td><td style="text-align:left">Delay to wait before redelivering messages that failed to be processed.</td><td style="text-align:left">60000</td></tr>
diff --git a/content/docs/en/client-libraries-websocket.html b/content/docs/en/client-libraries-websocket.html
index 85f3712..26bfd6e 100644
--- a/content/docs/en/client-libraries-websocket.html
+++ b/content/docs/en/client-libraries-websocket.html
@@ -184,7 +184,7 @@
 </thead>
 <tbody>
 <tr><td style="text-align:left"><code>ackTimeoutMillis</code></td><td style="text-align:left">long</td><td style="text-align:left">no</td><td style="text-align:left">Set the timeout for unacked messages (default: 0)</td></tr>
-<tr><td style="text-align:left"><code>subscriptionType</code></td><td style="text-align:left">string</td><td style="text-align:left">no</td><td style="text-align:left"><a href="https://pulsar.apache.org/api/client/2.7.0-SNAPSHOT/index.html?org/apache/pulsar/client/api/SubscriptionType.html">Subscription type</a>: <code>Exclusive</code>, <code>Failover</code>, <code>Shared</code></td></tr>
+<tr><td style="text-align:left"><code>subscriptionType</code></td><td style="text-align:left">string</td><td style="text-align:left">no</td><td style="text-align:left"><a href="https://pulsar.apache.org/api/client/2.7.0-SNAPSHOT/index.html?org/apache/pulsar/client/api/SubscriptionType.html">Subscription type</a>: <code>Exclusive</code>, <code>Failover</code>, <code>Shared</code>, <code>Key_Shared</code></td></tr>
 <tr><td style="text-align:left"><code>receiverQueueSize</code></td><td style="text-align:left">int</td><td style="text-align:left">no</td><td style="text-align:left">Size of the consumer receive queue (default: 1000)</td></tr>
 <tr><td style="text-align:left"><code>consumerName</code></td><td style="text-align:left">string</td><td style="text-align:left">no</td><td style="text-align:left">Consumer name</td></tr>
 <tr><td style="text-align:left"><code>priorityLevel</code></td><td style="text-align:left">int</td><td style="text-align:left">no</td><td style="text-align:left">Define a <a href="http://pulsar.apache.org/api/client/2.7.0-SNAPSHOT/org/apache/pulsar/client/api/ConsumerConfiguration.html#setPriorityLevel-int-">priority</a> for the consumer</td></tr>
diff --git a/content/docs/en/client-libraries-websocket/index.html b/content/docs/en/client-libraries-websocket/index.html
index 85f3712..26bfd6e 100644
--- a/content/docs/en/client-libraries-websocket/index.html
+++ b/content/docs/en/client-libraries-websocket/index.html
@@ -184,7 +184,7 @@
 </thead>
 <tbody>
 <tr><td style="text-align:left"><code>ackTimeoutMillis</code></td><td style="text-align:left">long</td><td style="text-align:left">no</td><td style="text-align:left">Set the timeout for unacked messages (default: 0)</td></tr>
-<tr><td style="text-align:left"><code>subscriptionType</code></td><td style="text-align:left">string</td><td style="text-align:left">no</td><td style="text-align:left"><a href="https://pulsar.apache.org/api/client/2.7.0-SNAPSHOT/index.html?org/apache/pulsar/client/api/SubscriptionType.html">Subscription type</a>: <code>Exclusive</code>, <code>Failover</code>, <code>Shared</code></td></tr>
+<tr><td style="text-align:left"><code>subscriptionType</code></td><td style="text-align:left">string</td><td style="text-align:left">no</td><td style="text-align:left"><a href="https://pulsar.apache.org/api/client/2.7.0-SNAPSHOT/index.html?org/apache/pulsar/client/api/SubscriptionType.html">Subscription type</a>: <code>Exclusive</code>, <code>Failover</code>, <code>Shared</code>, <code>Key_Shared</code></td></tr>
 <tr><td style="text-align:left"><code>receiverQueueSize</code></td><td style="text-align:left">int</td><td style="text-align:left">no</td><td style="text-align:left">Size of the consumer receive queue (default: 1000)</td></tr>
 <tr><td style="text-align:left"><code>consumerName</code></td><td style="text-align:left">string</td><td style="text-align:left">no</td><td style="text-align:left">Consumer name</td></tr>
 <tr><td style="text-align:left"><code>priorityLevel</code></td><td style="text-align:left">int</td><td style="text-align:left">no</td><td style="text-align:left">Define a <a href="http://pulsar.apache.org/api/client/2.7.0-SNAPSHOT/org/apache/pulsar/client/api/ConsumerConfiguration.html#setPriorityLevel-int-">priority</a> for the consumer</td></tr>
diff --git a/content/docs/en/next/adaptors-kafka.html b/content/docs/en/next/adaptors-kafka.html
index eeecda9..f60d9e3 100644
--- a/content/docs/en/next/adaptors-kafka.html
+++ b/content/docs/en/next/adaptors-kafka.html
@@ -151,10 +151,10 @@ consumer.subscribe(Arrays.asList(topic));
 </code></pre>
 <h2><a class="anchor" aria-hidden="true" id="complete-examples"></a><a href="#complete-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.22-2- [...]
 <p>You can find the complete producer and consumer examples
-<a href="https://github.com/apache/pulsar/tree/master/pulsar-client-kafka-compat/pulsar-client-kafka-tests/src/test/java/org/apache/pulsar/client/kafka/compat/examples">here</a>.</p>
+<a href="https://github.com/apache/pulsar-adapters/tree/master/pulsar-client-kafka-compat/pulsar-client-kafka-tests/src/test/java/org/apache/pulsar/client/kafka/compat/examples">here</a>.</p>
 <h2><a class="anchor" aria-hidden="true" id="compatibility-matrix"></a><a href="#compatibility-matrix" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>Currently the Pulsar Kafka wrapper supports most of the operations offered by the Kafka API.</p>
-<h4><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  [...]
+<h3><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>APIs:</p>
 <table>
 <thead>
@@ -203,7 +203,7 @@ consumer.subscribe(Arrays.asList(topic));
 <tr><td style="text-align:left"><code>value.serializer</code></td><td style="text-align:left">Yes</td><td style="text-align:left"></td></tr>
 </tbody>
 </table>
-<h4><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  [...]
+<h3><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>The following table lists consumer APIs.</p>
 <table>
 <thead>
@@ -321,7 +321,7 @@ consumer.subscribe(Arrays.asList(topic));
 <tr><td style="text-align:left"><a href="http://pulsar.apache.org/api/client/2.7.0-SNAPSHOT/org/apache/pulsar/client/api/ConsumerBuilder.html#subscriptionTopicsMode-Mode-"><code>pulsar.consumer.subscription.topics.mode</code></a></td><td style="text-align:left">PersistentOnly</td><td style="text-align:left">Set the subscription topic mode for consumers.</td></tr>
 </tbody>
 </table>
-</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/en/next/admin-api-packages"><span class="arrow-prev">← </span><span>Packages</span></a><a class="docs-next button" href="/docs/en/next/adaptors-spark"><span>Apache Spark</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#using-the-pulsar-kafka-compatibility-wrapper">Using the Pulsar Kafka compatibility wrapper</a></li><li [...]
+</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/en/next/admin-api-packages"><span class="arrow-prev">← </span><span>Packages</span></a><a class="docs-next button" href="/docs/en/next/adaptors-spark"><span>Apache Spark</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#using-the-pulsar-kafka-compatibility-wrapper">Using the Pulsar Kafka compatibility wrapper</a></li><li [...]
       const community = document.querySelector("a[href='#community']").parentNode;
       const communityMenu =
         '<li>' +
diff --git a/content/docs/en/next/adaptors-kafka/index.html b/content/docs/en/next/adaptors-kafka/index.html
index eeecda9..f60d9e3 100644
--- a/content/docs/en/next/adaptors-kafka/index.html
+++ b/content/docs/en/next/adaptors-kafka/index.html
@@ -151,10 +151,10 @@ consumer.subscribe(Arrays.asList(topic));
 </code></pre>
 <h2><a class="anchor" aria-hidden="true" id="complete-examples"></a><a href="#complete-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.22-2- [...]
 <p>You can find the complete producer and consumer examples
-<a href="https://github.com/apache/pulsar/tree/master/pulsar-client-kafka-compat/pulsar-client-kafka-tests/src/test/java/org/apache/pulsar/client/kafka/compat/examples">here</a>.</p>
+<a href="https://github.com/apache/pulsar-adapters/tree/master/pulsar-client-kafka-compat/pulsar-client-kafka-tests/src/test/java/org/apache/pulsar/client/kafka/compat/examples">here</a>.</p>
 <h2><a class="anchor" aria-hidden="true" id="compatibility-matrix"></a><a href="#compatibility-matrix" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>Currently the Pulsar Kafka wrapper supports most of the operations offered by the Kafka API.</p>
-<h4><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  [...]
+<h3><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>APIs:</p>
 <table>
 <thead>
@@ -203,7 +203,7 @@ consumer.subscribe(Arrays.asList(topic));
 <tr><td style="text-align:left"><code>value.serializer</code></td><td style="text-align:left">Yes</td><td style="text-align:left"></td></tr>
 </tbody>
 </table>
-<h4><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  [...]
+<h3><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>The following table lists consumer APIs.</p>
 <table>
 <thead>
@@ -321,7 +321,7 @@ consumer.subscribe(Arrays.asList(topic));
 <tr><td style="text-align:left"><a href="http://pulsar.apache.org/api/client/2.7.0-SNAPSHOT/org/apache/pulsar/client/api/ConsumerBuilder.html#subscriptionTopicsMode-Mode-"><code>pulsar.consumer.subscription.topics.mode</code></a></td><td style="text-align:left">PersistentOnly</td><td style="text-align:left">Set the subscription topic mode for consumers.</td></tr>
 </tbody>
 </table>
-</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/en/next/admin-api-packages"><span class="arrow-prev">← </span><span>Packages</span></a><a class="docs-next button" href="/docs/en/next/adaptors-spark"><span>Apache Spark</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#using-the-pulsar-kafka-compatibility-wrapper">Using the Pulsar Kafka compatibility wrapper</a></li><li [...]
+</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/en/next/admin-api-packages"><span class="arrow-prev">← </span><span>Packages</span></a><a class="docs-next button" href="/docs/en/next/adaptors-spark"><span>Apache Spark</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#using-the-pulsar-kafka-compatibility-wrapper">Using the Pulsar Kafka compatibility wrapper</a></li><li [...]
       const community = document.querySelector("a[href='#community']").parentNode;
       const communityMenu =
         '<li>' +
diff --git a/content/docs/en/next/adaptors-spark.html b/content/docs/en/next/adaptors-spark.html
index 388a7d1..b3eb059 100644
--- a/content/docs/en/next/adaptors-spark.html
+++ b/content/docs/en/next/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="## Spark structured streaming connector"/><meta name="docsearch:version" content="next"/><meta name="docsearch:language" content="en"/><meta property="og:title" content="Pulsar adaptor  [...]
               (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
               (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
               m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
@@ -74,11 +74,14 @@
                 };
               }
             });
-        </script></nav></div><div class="container mainContainer docsContainer"><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/adaptors-spark.md" target="_blank" rel="noreferrer noopener">Edit</a><h1 id="__docusaurus" class="postHeaderTitle">Pulsar adaptor for Apache Spark</h1></header><article><div><span><p>The Spark Streaming receiver for Pulsar is a custom receiv [...]
+        </script></nav></div><div class="container mainContainer docsContainer"><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/adaptors-spark.md" target="_blank" rel="noreferrer noopener">Edit</a><h1 id="__docusaurus" class="postHeaderTitle">Pulsar adaptor for Apache Spark</h1></header><article><div><span><h2><a class="anchor" aria-hidden="true" id="spark-structured [...]
+<p>Pulsar Spark Connector is an integration of Apache Pulsar and Apache Spark (data processing engine), which allows Spark reading data from Pulsar and writing data to Pulsar using Spark structured streaming and Spark SQL and provides exactly-once source semantics and at-least-once sink semantics. For details, refer to <a href="https://hub.streamnative.io/">Pulsar Spark Connector in StreamNative Hub</a>.</p>
+<h2><a class="anchor" aria-hidden="true" id="spark-streaming-connector"></a><a href="#spark-streaming-connector" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>The Spark Streaming receiver for Pulsar is a custom receiver that enables Apache <a href="https://spark.apache.org/streaming/">Spark Streaming</a> to receive data from Pulsar.</p>
 <p>An application can receive data in <a href="https://spark.apache.org/docs/latest/programming-guide.html#resilient-distributed-datasets-rdds">Resilient Distributed Dataset</a> (RDD) format via the Spark Streaming Pulsar receiver and can process it in a variety of ways.</p>
-<h2><a class="anchor" aria-hidden="true" id="prerequisites"></a><a href="#prerequisites" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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 [...]
+<h3><a class="anchor" aria-hidden="true" id="prerequisites"></a><a href="#prerequisites" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>To use the receiver, include a dependency for the <code>pulsar-spark</code> library in your Java configuration.</p>
-<h3><a class="anchor" aria-hidden="true" id="maven"></a><a href="#maven" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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 [...]
+<h4><a class="anchor" aria-hidden="true" id="maven"></a><a href="#maven" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>If you're using Maven, add this to your <code>pom.xml</code>:</p>
 <pre><code class="hljs css language-xml"><span class="hljs-comment">&lt;!-- in your &lt;properties&gt; block --&gt;</span>
 <span class="hljs-tag">&lt;<span class="hljs-name">pulsar.version</span>&gt;</span>2.7.0<span class="hljs-tag">&lt;/<span class="hljs-name">pulsar.version</span>&gt;</span>
@@ -90,7 +93,7 @@
   <span class="hljs-tag">&lt;<span class="hljs-name">version</span>&gt;</span>${pulsar.version}<span class="hljs-tag">&lt;/<span class="hljs-name">version</span>&gt;</span>
 <span class="hljs-tag">&lt;/<span class="hljs-name">dependency</span>&gt;</span>
 </code></pre>
-<h3><a class="anchor" aria-hidden="true" id="gradle"></a><a href="#gradle" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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="gradle"></a><a href="#gradle" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>If you're using Gradle, add this to your <code>build.gradle</code> file:</p>
 <pre><code class="hljs css language-groovy"><span class="hljs-keyword">def</span> pulsarVersion = <span class="hljs-string">"2.7.0"</span>
 
@@ -98,7 +101,7 @@ dependencies {
     compile <span class="hljs-string">group:</span> <span class="hljs-string">'org.apache.pulsar'</span>, <span class="hljs-string">name:</span> <span class="hljs-string">'pulsar-spark'</span>, <span class="hljs-string">version:</span> pulsarVersion
 }
 </code></pre>
-<h2><a class="anchor" aria-hidden="true" id="usage"></a><a href="#usage" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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 [...]
+<h3><a class="anchor" aria-hidden="true" id="usage"></a><a href="#usage" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>Pass an instance of <code>SparkStreamingPulsarReceiver</code> to the <code>receiverStream</code> method in <code>JavaStreamingContext</code>:</p>
 <pre><code class="hljs css language-java">    String serviceUrl = <span class="hljs-string">"pulsar://localhost:6650/"</span>;
     String topic = <span class="hljs-string">"persistent://public/default/test_src"</span>;
@@ -123,7 +126,7 @@ dependencies {
     JavaReceiverInputDStream&lt;<span class="hljs-keyword">byte</span>[]&gt; lineDStream = jsc.receiverStream(pulsarReceiver);
 </code></pre>
 <p>For a complete example, click <a href="https://github.com/apache/pulsar-adapters/blob/master/examples/spark/src/main/java/org/apache/spark/streaming/receiver/example/SparkStreamingPulsarReceiverExample.java">here</a>. In this example, the number of messages that contain the string &quot;Pulsar&quot; in received messages is counted.</p>
-</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/en/next/adaptors-kafka"><span class="arrow-prev">← </span><span>Kafka client wrapper</span></a><a class="docs-next button" href="/docs/en/next/adaptors-storm"><span>Apache Storm</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#prerequisites">Prerequisites</a><ul class="toc-headings"><li><a href="#maven">Maven</a></li><l [...]
+</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/en/next/adaptors-kafka"><span class="arrow-prev">← </span><span>Kafka client wrapper</span></a><a class="docs-next button" href="/docs/en/next/adaptors-storm"><span>Apache Storm</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#spark-structured-streaming-connector">Spark structured streaming connector</a></li><li><a href [...]
       const community = document.querySelector("a[href='#community']").parentNode;
       const communityMenu =
         '<li>' +
diff --git a/content/docs/en/next/adaptors-spark/index.html b/content/docs/en/next/adaptors-spark/index.html
index 388a7d1..b3eb059 100644
--- a/content/docs/en/next/adaptors-spark/index.html
+++ b/content/docs/en/next/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="## Spark structured streaming connector"/><meta name="docsearch:version" content="next"/><meta name="docsearch:language" content="en"/><meta property="og:title" content="Pulsar adaptor  [...]
               (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
               (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
               m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
@@ -74,11 +74,14 @@
                 };
               }
             });
-        </script></nav></div><div class="container mainContainer docsContainer"><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/adaptors-spark.md" target="_blank" rel="noreferrer noopener">Edit</a><h1 id="__docusaurus" class="postHeaderTitle">Pulsar adaptor for Apache Spark</h1></header><article><div><span><p>The Spark Streaming receiver for Pulsar is a custom receiv [...]
+        </script></nav></div><div class="container mainContainer docsContainer"><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/adaptors-spark.md" target="_blank" rel="noreferrer noopener">Edit</a><h1 id="__docusaurus" class="postHeaderTitle">Pulsar adaptor for Apache Spark</h1></header><article><div><span><h2><a class="anchor" aria-hidden="true" id="spark-structured [...]
+<p>Pulsar Spark Connector is an integration of Apache Pulsar and Apache Spark (data processing engine), which allows Spark reading data from Pulsar and writing data to Pulsar using Spark structured streaming and Spark SQL and provides exactly-once source semantics and at-least-once sink semantics. For details, refer to <a href="https://hub.streamnative.io/">Pulsar Spark Connector in StreamNative Hub</a>.</p>
+<h2><a class="anchor" aria-hidden="true" id="spark-streaming-connector"></a><a href="#spark-streaming-connector" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>The Spark Streaming receiver for Pulsar is a custom receiver that enables Apache <a href="https://spark.apache.org/streaming/">Spark Streaming</a> to receive data from Pulsar.</p>
 <p>An application can receive data in <a href="https://spark.apache.org/docs/latest/programming-guide.html#resilient-distributed-datasets-rdds">Resilient Distributed Dataset</a> (RDD) format via the Spark Streaming Pulsar receiver and can process it in a variety of ways.</p>
-<h2><a class="anchor" aria-hidden="true" id="prerequisites"></a><a href="#prerequisites" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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 [...]
+<h3><a class="anchor" aria-hidden="true" id="prerequisites"></a><a href="#prerequisites" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>To use the receiver, include a dependency for the <code>pulsar-spark</code> library in your Java configuration.</p>
-<h3><a class="anchor" aria-hidden="true" id="maven"></a><a href="#maven" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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 [...]
+<h4><a class="anchor" aria-hidden="true" id="maven"></a><a href="#maven" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>If you're using Maven, add this to your <code>pom.xml</code>:</p>
 <pre><code class="hljs css language-xml"><span class="hljs-comment">&lt;!-- in your &lt;properties&gt; block --&gt;</span>
 <span class="hljs-tag">&lt;<span class="hljs-name">pulsar.version</span>&gt;</span>2.7.0<span class="hljs-tag">&lt;/<span class="hljs-name">pulsar.version</span>&gt;</span>
@@ -90,7 +93,7 @@
   <span class="hljs-tag">&lt;<span class="hljs-name">version</span>&gt;</span>${pulsar.version}<span class="hljs-tag">&lt;/<span class="hljs-name">version</span>&gt;</span>
 <span class="hljs-tag">&lt;/<span class="hljs-name">dependency</span>&gt;</span>
 </code></pre>
-<h3><a class="anchor" aria-hidden="true" id="gradle"></a><a href="#gradle" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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="gradle"></a><a href="#gradle" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>If you're using Gradle, add this to your <code>build.gradle</code> file:</p>
 <pre><code class="hljs css language-groovy"><span class="hljs-keyword">def</span> pulsarVersion = <span class="hljs-string">"2.7.0"</span>
 
@@ -98,7 +101,7 @@ dependencies {
     compile <span class="hljs-string">group:</span> <span class="hljs-string">'org.apache.pulsar'</span>, <span class="hljs-string">name:</span> <span class="hljs-string">'pulsar-spark'</span>, <span class="hljs-string">version:</span> pulsarVersion
 }
 </code></pre>
-<h2><a class="anchor" aria-hidden="true" id="usage"></a><a href="#usage" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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 [...]
+<h3><a class="anchor" aria-hidden="true" id="usage"></a><a href="#usage" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>Pass an instance of <code>SparkStreamingPulsarReceiver</code> to the <code>receiverStream</code> method in <code>JavaStreamingContext</code>:</p>
 <pre><code class="hljs css language-java">    String serviceUrl = <span class="hljs-string">"pulsar://localhost:6650/"</span>;
     String topic = <span class="hljs-string">"persistent://public/default/test_src"</span>;
@@ -123,7 +126,7 @@ dependencies {
     JavaReceiverInputDStream&lt;<span class="hljs-keyword">byte</span>[]&gt; lineDStream = jsc.receiverStream(pulsarReceiver);
 </code></pre>
 <p>For a complete example, click <a href="https://github.com/apache/pulsar-adapters/blob/master/examples/spark/src/main/java/org/apache/spark/streaming/receiver/example/SparkStreamingPulsarReceiverExample.java">here</a>. In this example, the number of messages that contain the string &quot;Pulsar&quot; in received messages is counted.</p>
-</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/en/next/adaptors-kafka"><span class="arrow-prev">← </span><span>Kafka client wrapper</span></a><a class="docs-next button" href="/docs/en/next/adaptors-storm"><span>Apache Storm</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#prerequisites">Prerequisites</a><ul class="toc-headings"><li><a href="#maven">Maven</a></li><l [...]
+</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/en/next/adaptors-kafka"><span class="arrow-prev">← </span><span>Kafka client wrapper</span></a><a class="docs-next button" href="/docs/en/next/adaptors-storm"><span>Apache Storm</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#spark-structured-streaming-connector">Spark structured streaming connector</a></li><li><a href [...]
       const community = document.querySelector("a[href='#community']").parentNode;
       const communityMenu =
         '<li>' +
diff --git a/content/docs/en/next/client-libraries-java.html b/content/docs/en/next/client-libraries-java.html
index 7cc110c..d380e72 100644
--- a/content/docs/en/next/client-libraries-java.html
+++ b/content/docs/en/next/client-libraries-java.html
@@ -297,7 +297,7 @@ client.close();
 <tr><td>Set&lt;String&gt;</td><td><code>topicNames</code></td><td>Topic name</td><td>Sets.newTreeSet()</td></tr>
 <tr><td>Pattern</td><td><code>topicsPattern</code></td><td>Topic pattern</td><td>None</td></tr>
 <tr><td>String</td><td><code>subscriptionName</code></td><td>Subscription name</td><td>None</td></tr>
-<tr><td>SubscriptionType</td><td><code>subscriptionType</code></td><td>Subscription type <br/><br/>Three subscription types are available:<li>Exclusive</li><li>Failover</li><li>Shared</li></td><td>SubscriptionType.Exclusive</td></tr>
+<tr><td>SubscriptionType</td><td><code>subscriptionType</code></td><td>Subscription type <br/><br/>Four subscription types are available:<li>Exclusive</li><li>Failover</li><li>Shared</li><li>Key_Shared</li></td><td>SubscriptionType.Exclusive</td></tr>
 <tr><td>int</td><td><code>receiverQueueSize</code></td><td>Size of a consumer's receiver queue. <br/><br/>For example, the number of messages accumulated by a consumer before an application calls <code>Receive</code>. <br/><br/>A value higher than the default value increases consumer throughput, though at the expense of more memory utilization.</td><td>1000</td></tr>
 <tr><td>long</td><td><code>acknowledgementsGroupTimeMicros</code></td><td>Group a consumer acknowledgment for a specified time.<br/><br/>By default, a consumer uses 100ms grouping time to send out acknowledgments to a broker.<br/><br/>Setting a group time of 0 sends out acknowledgments immediately. <br/><br/>A longer ack group time is more efficient at the expense of a slight increase in message re-deliveries after a failure.</td><td>TimeUnit.MILLISECONDS.toMicros(100)</td></tr>
 <tr><td>long</td><td><code>negativeAckRedeliveryDelayMicros</code></td><td>Delay to wait before redelivering messages that failed to be processed.<br/><br/> When an application uses {@link Consumer#negativeAcknowledge(Message)}, failed messages are redelivered after a fixed timeout.</td><td>TimeUnit.MINUTES.toMicros(1)</td></tr>
diff --git a/content/docs/en/next/client-libraries-java/index.html b/content/docs/en/next/client-libraries-java/index.html
index 7cc110c..d380e72 100644
--- a/content/docs/en/next/client-libraries-java/index.html
+++ b/content/docs/en/next/client-libraries-java/index.html
@@ -297,7 +297,7 @@ client.close();
 <tr><td>Set&lt;String&gt;</td><td><code>topicNames</code></td><td>Topic name</td><td>Sets.newTreeSet()</td></tr>
 <tr><td>Pattern</td><td><code>topicsPattern</code></td><td>Topic pattern</td><td>None</td></tr>
 <tr><td>String</td><td><code>subscriptionName</code></td><td>Subscription name</td><td>None</td></tr>
-<tr><td>SubscriptionType</td><td><code>subscriptionType</code></td><td>Subscription type <br/><br/>Three subscription types are available:<li>Exclusive</li><li>Failover</li><li>Shared</li></td><td>SubscriptionType.Exclusive</td></tr>
+<tr><td>SubscriptionType</td><td><code>subscriptionType</code></td><td>Subscription type <br/><br/>Four subscription types are available:<li>Exclusive</li><li>Failover</li><li>Shared</li><li>Key_Shared</li></td><td>SubscriptionType.Exclusive</td></tr>
 <tr><td>int</td><td><code>receiverQueueSize</code></td><td>Size of a consumer's receiver queue. <br/><br/>For example, the number of messages accumulated by a consumer before an application calls <code>Receive</code>. <br/><br/>A value higher than the default value increases consumer throughput, though at the expense of more memory utilization.</td><td>1000</td></tr>
 <tr><td>long</td><td><code>acknowledgementsGroupTimeMicros</code></td><td>Group a consumer acknowledgment for a specified time.<br/><br/>By default, a consumer uses 100ms grouping time to send out acknowledgments to a broker.<br/><br/>Setting a group time of 0 sends out acknowledgments immediately. <br/><br/>A longer ack group time is more efficient at the expense of a slight increase in message re-deliveries after a failure.</td><td>TimeUnit.MILLISECONDS.toMicros(100)</td></tr>
 <tr><td>long</td><td><code>negativeAckRedeliveryDelayMicros</code></td><td>Delay to wait before redelivering messages that failed to be processed.<br/><br/> When an application uses {@link Consumer#negativeAcknowledge(Message)}, failed messages are redelivered after a fixed timeout.</td><td>TimeUnit.MINUTES.toMicros(1)</td></tr>
diff --git a/content/docs/en/next/client-libraries-node.html b/content/docs/en/next/client-libraries-node.html
index b7b4d52..a8f8444 100644
--- a/content/docs/en/next/client-libraries-node.html
+++ b/content/docs/en/next/client-libraries-node.html
@@ -272,7 +272,7 @@ In this example, using await operator instead of executor function.</p>
 <tbody>
 <tr><td style="text-align:left"><code>topic</code></td><td style="text-align:left">The Pulsar <a href="/docs/en/next/reference-terminology#topic">topic</a> on which the consumer will establish a subscription and listen for messages.</td><td style="text-align:left"></td></tr>
 <tr><td style="text-align:left"><code>subscription</code></td><td style="text-align:left">The subscription name for this consumer.</td><td style="text-align:left"></td></tr>
-<tr><td style="text-align:left"><code>subscriptionType</code></td><td style="text-align:left">Available options are <code>Exclusive</code>, <code>Shared</code>, and <code>Failover</code>.</td><td style="text-align:left"><code>Exclusive</code></td></tr>
+<tr><td style="text-align:left"><code>subscriptionType</code></td><td style="text-align:left">Available options are <code>Exclusive</code>, <code>Shared</code>, <code>Key_Shared</code>, and <code>Failover</code>.</td><td style="text-align:left"><code>Exclusive</code></td></tr>
 <tr><td style="text-align:left"><code>subscriptionInitialPosition</code></td><td style="text-align:left">Initial position at which to set cursor when subscribing to a topic at first time.</td><td style="text-align:left"><code>SubscriptionInitialPosition.Latest</code></td></tr>
 <tr><td style="text-align:left"><code>ackTimeoutMs</code></td><td style="text-align:left">Acknowledge timeout in milliseconds.</td><td style="text-align:left">0</td></tr>
 <tr><td style="text-align:left"><code>nAckRedeliverTimeoutMs</code></td><td style="text-align:left">Delay to wait before redelivering messages that failed to be processed.</td><td style="text-align:left">60000</td></tr>
diff --git a/content/docs/en/next/client-libraries-node/index.html b/content/docs/en/next/client-libraries-node/index.html
index b7b4d52..a8f8444 100644
--- a/content/docs/en/next/client-libraries-node/index.html
+++ b/content/docs/en/next/client-libraries-node/index.html
@@ -272,7 +272,7 @@ In this example, using await operator instead of executor function.</p>
 <tbody>
 <tr><td style="text-align:left"><code>topic</code></td><td style="text-align:left">The Pulsar <a href="/docs/en/next/reference-terminology#topic">topic</a> on which the consumer will establish a subscription and listen for messages.</td><td style="text-align:left"></td></tr>
 <tr><td style="text-align:left"><code>subscription</code></td><td style="text-align:left">The subscription name for this consumer.</td><td style="text-align:left"></td></tr>
-<tr><td style="text-align:left"><code>subscriptionType</code></td><td style="text-align:left">Available options are <code>Exclusive</code>, <code>Shared</code>, and <code>Failover</code>.</td><td style="text-align:left"><code>Exclusive</code></td></tr>
+<tr><td style="text-align:left"><code>subscriptionType</code></td><td style="text-align:left">Available options are <code>Exclusive</code>, <code>Shared</code>, <code>Key_Shared</code>, and <code>Failover</code>.</td><td style="text-align:left"><code>Exclusive</code></td></tr>
 <tr><td style="text-align:left"><code>subscriptionInitialPosition</code></td><td style="text-align:left">Initial position at which to set cursor when subscribing to a topic at first time.</td><td style="text-align:left"><code>SubscriptionInitialPosition.Latest</code></td></tr>
 <tr><td style="text-align:left"><code>ackTimeoutMs</code></td><td style="text-align:left">Acknowledge timeout in milliseconds.</td><td style="text-align:left">0</td></tr>
 <tr><td style="text-align:left"><code>nAckRedeliverTimeoutMs</code></td><td style="text-align:left">Delay to wait before redelivering messages that failed to be processed.</td><td style="text-align:left">60000</td></tr>
diff --git a/content/docs/en/next/client-libraries-websocket.html b/content/docs/en/next/client-libraries-websocket.html
index 3123071..e656345 100644
--- a/content/docs/en/next/client-libraries-websocket.html
+++ b/content/docs/en/next/client-libraries-websocket.html
@@ -192,7 +192,7 @@
 </thead>
 <tbody>
 <tr><td style="text-align:left"><code>ackTimeoutMillis</code></td><td style="text-align:left">long</td><td style="text-align:left">no</td><td style="text-align:left">Set the timeout for unacked messages (default: 0)</td></tr>
-<tr><td style="text-align:left"><code>subscriptionType</code></td><td style="text-align:left">string</td><td style="text-align:left">no</td><td style="text-align:left"><a href="https://pulsar.apache.org/api/client/2.7.0-SNAPSHOT/index.html?org/apache/pulsar/client/api/SubscriptionType.html">Subscription type</a>: <code>Exclusive</code>, <code>Failover</code>, <code>Shared</code></td></tr>
+<tr><td style="text-align:left"><code>subscriptionType</code></td><td style="text-align:left">string</td><td style="text-align:left">no</td><td style="text-align:left"><a href="https://pulsar.apache.org/api/client/2.7.0-SNAPSHOT/index.html?org/apache/pulsar/client/api/SubscriptionType.html">Subscription type</a>: <code>Exclusive</code>, <code>Failover</code>, <code>Shared</code>, <code>Key_Shared</code></td></tr>
 <tr><td style="text-align:left"><code>receiverQueueSize</code></td><td style="text-align:left">int</td><td style="text-align:left">no</td><td style="text-align:left">Size of the consumer receive queue (default: 1000)</td></tr>
 <tr><td style="text-align:left"><code>consumerName</code></td><td style="text-align:left">string</td><td style="text-align:left">no</td><td style="text-align:left">Consumer name</td></tr>
 <tr><td style="text-align:left"><code>priorityLevel</code></td><td style="text-align:left">int</td><td style="text-align:left">no</td><td style="text-align:left">Define a <a href="http://pulsar.apache.org/api/client/2.7.0-SNAPSHOT/org/apache/pulsar/client/api/ConsumerConfiguration.html#setPriorityLevel-int-">priority</a> for the consumer</td></tr>
diff --git a/content/docs/en/next/client-libraries-websocket/index.html b/content/docs/en/next/client-libraries-websocket/index.html
index 3123071..e656345 100644
--- a/content/docs/en/next/client-libraries-websocket/index.html
+++ b/content/docs/en/next/client-libraries-websocket/index.html
@@ -192,7 +192,7 @@
 </thead>
 <tbody>
 <tr><td style="text-align:left"><code>ackTimeoutMillis</code></td><td style="text-align:left">long</td><td style="text-align:left">no</td><td style="text-align:left">Set the timeout for unacked messages (default: 0)</td></tr>
-<tr><td style="text-align:left"><code>subscriptionType</code></td><td style="text-align:left">string</td><td style="text-align:left">no</td><td style="text-align:left"><a href="https://pulsar.apache.org/api/client/2.7.0-SNAPSHOT/index.html?org/apache/pulsar/client/api/SubscriptionType.html">Subscription type</a>: <code>Exclusive</code>, <code>Failover</code>, <code>Shared</code></td></tr>
+<tr><td style="text-align:left"><code>subscriptionType</code></td><td style="text-align:left">string</td><td style="text-align:left">no</td><td style="text-align:left"><a href="https://pulsar.apache.org/api/client/2.7.0-SNAPSHOT/index.html?org/apache/pulsar/client/api/SubscriptionType.html">Subscription type</a>: <code>Exclusive</code>, <code>Failover</code>, <code>Shared</code>, <code>Key_Shared</code></td></tr>
 <tr><td style="text-align:left"><code>receiverQueueSize</code></td><td style="text-align:left">int</td><td style="text-align:left">no</td><td style="text-align:left">Size of the consumer receive queue (default: 1000)</td></tr>
 <tr><td style="text-align:left"><code>consumerName</code></td><td style="text-align:left">string</td><td style="text-align:left">no</td><td style="text-align:left">Consumer name</td></tr>
 <tr><td style="text-align:left"><code>priorityLevel</code></td><td style="text-align:left">int</td><td style="text-align:left">no</td><td style="text-align:left">Define a <a href="http://pulsar.apache.org/api/client/2.7.0-SNAPSHOT/org/apache/pulsar/client/api/ConsumerConfiguration.html#setPriorityLevel-int-">priority</a> for the consumer</td></tr>
diff --git a/content/docs/en/next/io-connectors.html b/content/docs/en/next/io-connectors.html
index eff82cd..fbd8784 100644
--- a/content/docs/en/next/io-connectors.html
+++ b/content/docs/en/next/io-connectors.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>Built-in connector · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Pulsar distribution includes a set of common connectors that have been packaged and tested with the rest of Apache Pulsar. These connectors import and export data from some of the most commonly used [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Built-in connector · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Pulsar distribution includes a set of common connectors that have been packaged and tested with the rest of Apache Pulsar. These connectors import and export data from some of the most commonly used [...]
               (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
               (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
               m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
@@ -74,7 +74,7 @@
                 };
               }
             });
-        </script></nav></div><div class="container mainContainer docsContainer"><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/io-connectors.md" target="_blank" rel="noreferrer noopener">Edit</a><h1 id="__docusaurus" class="postHeaderTitle">Built-in connector</h1></header><article><div><span><p>Pulsar distribution includes a set of common connectors that have been p [...]
+        </script></nav></div><div class="container mainContainer docsContainer"><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/io-connectors.md" target="_blank" rel="noreferrer noopener">Edit</a><h1 id="__docusaurus" class="postHeaderTitle">Built-in connector</h1></header><article><div><span><p>Pulsar distribution includes a set of common connectors that have been p [...]
 <p>Using any of these connectors is as easy as writing a simple connector and running the connector locally or submitting the connector to a Pulsar Functions cluster.</p>
 <h2><a class="anchor" aria-hidden="true" id="source-connector"></a><a href="#source-connector" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>Pulsar has various source connectors, which are sorted alphabetically as below.</p>
diff --git a/content/docs/en/next/io-connectors/index.html b/content/docs/en/next/io-connectors/index.html
index eff82cd..fbd8784 100644
--- a/content/docs/en/next/io-connectors/index.html
+++ b/content/docs/en/next/io-connectors/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>Built-in connector · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Pulsar distribution includes a set of common connectors that have been packaged and tested with the rest of Apache Pulsar. These connectors import and export data from some of the most commonly used [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Built-in connector · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Pulsar distribution includes a set of common connectors that have been packaged and tested with the rest of Apache Pulsar. These connectors import and export data from some of the most commonly used [...]
               (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
               (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
               m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
@@ -74,7 +74,7 @@
                 };
               }
             });
-        </script></nav></div><div class="container mainContainer docsContainer"><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/io-connectors.md" target="_blank" rel="noreferrer noopener">Edit</a><h1 id="__docusaurus" class="postHeaderTitle">Built-in connector</h1></header><article><div><span><p>Pulsar distribution includes a set of common connectors that have been p [...]
+        </script></nav></div><div class="container mainContainer docsContainer"><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/io-connectors.md" target="_blank" rel="noreferrer noopener">Edit</a><h1 id="__docusaurus" class="postHeaderTitle">Built-in connector</h1></header><article><div><span><p>Pulsar distribution includes a set of common connectors that have been p [...]
 <p>Using any of these connectors is as easy as writing a simple connector and running the connector locally or submitting the connector to a Pulsar Functions cluster.</p>
 <h2><a class="anchor" aria-hidden="true" id="source-connector"></a><a href="#source-connector" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>Pulsar has various source connectors, which are sorted alphabetically as below.</p>
diff --git a/content/docs/en/next/performance-pulsar-perf.html b/content/docs/en/next/performance-pulsar-perf.html
index e809724..f67a463 100644
--- a/content/docs/en/next/performance-pulsar-perf.html
+++ b/content/docs/en/next/performance-pulsar-perf.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 Perf · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="This document describes how to use the Pulsar Perf for performance testing. For detailed information about performance tuning, see [here](https://streamnative.io/whitepaper/taking-a-deep-dive-into-apache-p [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Pulsar Perf · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="The Pulsar Perf is a built-in performance test tool for Apache Pulsar. You can use the Pulsar Perf to test message writing or reading performance. For detailed information about performance tuning, see [he [...]
               (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
               (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
               m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
@@ -74,10 +74,8 @@
                 };
               }
             });
-        </script></nav></div><div class="container mainContainer docsContainer"><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/performance-pulsar-perf.md" target="_blank" rel="noreferrer noopener">Edit</a><h1 id="__docusaurus" class="postHeaderTitle">Pulsar Perf</h1></header><article><div><span><p>This document describes how to use the Pulsar Perf for performance te [...]
-<h2><a class="anchor" aria-hidden="true" id="pulsar-perf"></a><a href="#pulsar-perf" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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 [...]
-<p>The Pulsar Perf is a built-in performance test tool for Apache Pulsar. You can use the Pulsar Perf to test message writing or reading performance.</p>
-<h3><a class="anchor" aria-hidden="true" id="produce-messages"></a><a href="#produce-messages" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2. [...]
+        </script></nav></div><div class="container mainContainer docsContainer"><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/performance-pulsar-perf.md" target="_blank" rel="noreferrer noopener">Edit</a><h1 id="__docusaurus" class="postHeaderTitle">Pulsar Perf</h1></header><article><div><span><p>The Pulsar Perf is a built-in performance test tool for Apache Pulsar [...]
+<h2><a class="anchor" aria-hidden="true" id="produce-messages"></a><a href="#produce-messages" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2. [...]
 <p>This example shows how the Pulsar Perf produces messages with default options. For all configuration options available for the <code>pulsar-perf produce</code> command, see <a href="#configuration-options-for-pulsar-perf-produce">configuration options</a>.</p>
 <pre><code class="hljs">bin/pulsar-perf produce <span class="hljs-keyword">my</span>-topic
 </code></pre>
@@ -96,7 +94,7 @@
 <span class="hljs-number">19</span>:<span class="hljs-number">54</span>:<span class="hljs-number">44.336</span> [Thread<span class="hljs-number">-1</span>] INFO  org.apache.pulsar.testclient.PerformanceProducer - Aggregated latency stats --- Latency: mean:   <span class="hljs-number">3.383</span> ms - med:   <span class="hljs-number">3.293</span> - <span class="hljs-number">95</span>pct:   <span class="hljs-number">4.610</span> - <span class="hljs-number">99</span>pct:   <span class="hlj [...]
 </code></pre>
 <p>From the above test data, you can get the throughput statistics and the write latency statistics. The aggregated statistics is printed when the Pulsar Perf is stopped. You can press <strong>Ctrl</strong>+<strong>C</strong> to stop the Pulsar Perf. After the Pulsar Perf is stopped, the <a href="http://hdrhistogram.github.io/HdrHistogram/">HdrHistogram</a> formatted test result appears under your directory. The document looks like <code>perf-producer-1589370810837.hgrm</code>. You can a [...]
-<h4><a class="anchor" aria-hidden="true" id="configuration-options-for-pulsar-perf-produce"></a><a href="#configuration-options-for-pulsar-perf-produce" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h- [...]
+<h3><a class="anchor" aria-hidden="true" id="configuration-options-for-pulsar-perf-produce"></a><a href="#configuration-options-for-pulsar-perf-produce" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h- [...]
 <p>You can get all options by executing the <code>bin/pulsar-perf produce -h</code> command. Therefore, you can modify these options as required.</p>
 <p>The following table lists configuration options available for the <code>pulsar-perf produce</code> command.</p>
 <table>
@@ -134,7 +132,7 @@
 <tr><td>warmup-time</td><td>Set the warm-up time.</td><td>1s</td></tr>
 </tbody>
 </table>
-<h3><a class="anchor" aria-hidden="true" id="consume-messages"></a><a href="#consume-messages" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2. [...]
+<h2><a class="anchor" aria-hidden="true" id="consume-messages"></a><a href="#consume-messages" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2. [...]
 <p>This example shows how the Pulsar Perf consumes messages with default options.</p>
 <pre><code class="hljs">bin/pulsar-perf consume <span class="hljs-keyword">my</span>-topic
 </code></pre>
@@ -152,7 +150,7 @@
 <span class="hljs-number">20</span>:<span class="hljs-number">36</span>:<span class="hljs-number">42.759</span> [Thread<span class="hljs-number">-1</span>] INFO  org.apache.pulsar.testclient.PerformanceConsumer - Aggregated latency stats --- Latency: mean: <span class="hljs-number">9.422</span> ms - med: <span class="hljs-number">9</span> - <span class="hljs-number">95</span>pct: <span class="hljs-number">15</span> - <span class="hljs-number">99</span>pct: <span class="hljs-number">16</s [...]
 </code></pre>
 <p>From the output test data, you can get the throughput statistics and the end-to-end latency statistics. The aggregated statistics is printed after the Pulsar Perf is stopped. You can press <strong>Ctrl</strong>+<strong>C</strong> to stop the Pulsar Perf.</p>
-<h4><a class="anchor" aria-hidden="true" id="configuration-options-for-pulsar-perf-consume"></a><a href="#configuration-options-for-pulsar-perf-consume" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h- [...]
+<h3><a class="anchor" aria-hidden="true" id="configuration-options-for-pulsar-perf-consume"></a><a href="#configuration-options-for-pulsar-perf-consume" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h- [...]
 <p>You can get all options by executing the <code>bin/pulsar-perf consume -h</code> command. Therefore, you can modify these options as required.</p>
 <p>The following table lists configuration options available for the <code>pulsar-perf consume</code> command.</p>
 <table>
@@ -180,7 +178,7 @@
 <tr><td>trust-cert-file</td><td>Set the path for the trusted TLS certificate file.</td><td><empty string></td></tr>
 </tbody>
 </table>
-<h3><a class="anchor" aria-hidden="true" id="configurations"></a><a href="#configurations" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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- [...]
+<h2><a class="anchor" aria-hidden="true" id="configurations"></a><a href="#configurations" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>By default, the Pulsar Perf uses <code>conf/client.conf</code> as the default configuration and uses <code>conf/log4j2.yaml</code> as the default Log4j configuration. If you want to connect to other Pulsar clusters, you can update the <code>brokerServiceUrl</code> in the client configuration.</p>
 <p>You can use the following commands to change the configuration file and the Log4j configuration file.</p>
 <pre><code class="hljs"><span class="hljs-builtin-name">export</span> <span class="hljs-attribute">PULSAR_CLIENT_CONF</span>=&lt;your-config-file&gt;
@@ -209,7 +207,7 @@
 <li><p>Check the test result through the Graphical User Interface of the HdrHistogram Plotter, as shown blow.</p>
 <p><img src="/docs/assets/perf-produce.png" alt=""></p></li>
 </ol>
-</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/en/next/security-bouncy-castle"><span class="arrow-prev">← </span><span>Bouncy Castle Providers</span></a><a class="docs-next button" href="/docs/en/next/client-libraries"><span>Overview</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#pulsar-perf">Pulsar Perf</a><ul class="toc-headings"><li><a href="#produce-messages"> [...]
+</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/en/next/security-bouncy-castle"><span class="arrow-prev">← </span><span>Bouncy Castle Providers</span></a><a class="docs-next button" href="/docs/en/next/client-libraries"><span>Overview</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#produce-messages">Produce messages</a><ul class="toc-headings"><li><a href="#configur [...]
       const community = document.querySelector("a[href='#community']").parentNode;
       const communityMenu =
         '<li>' +
diff --git a/content/docs/en/next/performance-pulsar-perf/index.html b/content/docs/en/next/performance-pulsar-perf/index.html
index e809724..f67a463 100644
--- a/content/docs/en/next/performance-pulsar-perf/index.html
+++ b/content/docs/en/next/performance-pulsar-perf/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 Perf · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="This document describes how to use the Pulsar Perf for performance testing. For detailed information about performance tuning, see [here](https://streamnative.io/whitepaper/taking-a-deep-dive-into-apache-p [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Pulsar Perf · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="The Pulsar Perf is a built-in performance test tool for Apache Pulsar. You can use the Pulsar Perf to test message writing or reading performance. For detailed information about performance tuning, see [he [...]
               (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
               (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
               m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
@@ -74,10 +74,8 @@
                 };
               }
             });
-        </script></nav></div><div class="container mainContainer docsContainer"><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/performance-pulsar-perf.md" target="_blank" rel="noreferrer noopener">Edit</a><h1 id="__docusaurus" class="postHeaderTitle">Pulsar Perf</h1></header><article><div><span><p>This document describes how to use the Pulsar Perf for performance te [...]
-<h2><a class="anchor" aria-hidden="true" id="pulsar-perf"></a><a href="#pulsar-perf" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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 [...]
-<p>The Pulsar Perf is a built-in performance test tool for Apache Pulsar. You can use the Pulsar Perf to test message writing or reading performance.</p>
-<h3><a class="anchor" aria-hidden="true" id="produce-messages"></a><a href="#produce-messages" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2. [...]
+        </script></nav></div><div class="container mainContainer docsContainer"><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/performance-pulsar-perf.md" target="_blank" rel="noreferrer noopener">Edit</a><h1 id="__docusaurus" class="postHeaderTitle">Pulsar Perf</h1></header><article><div><span><p>The Pulsar Perf is a built-in performance test tool for Apache Pulsar [...]
+<h2><a class="anchor" aria-hidden="true" id="produce-messages"></a><a href="#produce-messages" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2. [...]
 <p>This example shows how the Pulsar Perf produces messages with default options. For all configuration options available for the <code>pulsar-perf produce</code> command, see <a href="#configuration-options-for-pulsar-perf-produce">configuration options</a>.</p>
 <pre><code class="hljs">bin/pulsar-perf produce <span class="hljs-keyword">my</span>-topic
 </code></pre>
@@ -96,7 +94,7 @@
 <span class="hljs-number">19</span>:<span class="hljs-number">54</span>:<span class="hljs-number">44.336</span> [Thread<span class="hljs-number">-1</span>] INFO  org.apache.pulsar.testclient.PerformanceProducer - Aggregated latency stats --- Latency: mean:   <span class="hljs-number">3.383</span> ms - med:   <span class="hljs-number">3.293</span> - <span class="hljs-number">95</span>pct:   <span class="hljs-number">4.610</span> - <span class="hljs-number">99</span>pct:   <span class="hlj [...]
 </code></pre>
 <p>From the above test data, you can get the throughput statistics and the write latency statistics. The aggregated statistics is printed when the Pulsar Perf is stopped. You can press <strong>Ctrl</strong>+<strong>C</strong> to stop the Pulsar Perf. After the Pulsar Perf is stopped, the <a href="http://hdrhistogram.github.io/HdrHistogram/">HdrHistogram</a> formatted test result appears under your directory. The document looks like <code>perf-producer-1589370810837.hgrm</code>. You can a [...]
-<h4><a class="anchor" aria-hidden="true" id="configuration-options-for-pulsar-perf-produce"></a><a href="#configuration-options-for-pulsar-perf-produce" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h- [...]
+<h3><a class="anchor" aria-hidden="true" id="configuration-options-for-pulsar-perf-produce"></a><a href="#configuration-options-for-pulsar-perf-produce" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h- [...]
 <p>You can get all options by executing the <code>bin/pulsar-perf produce -h</code> command. Therefore, you can modify these options as required.</p>
 <p>The following table lists configuration options available for the <code>pulsar-perf produce</code> command.</p>
 <table>
@@ -134,7 +132,7 @@
 <tr><td>warmup-time</td><td>Set the warm-up time.</td><td>1s</td></tr>
 </tbody>
 </table>
-<h3><a class="anchor" aria-hidden="true" id="consume-messages"></a><a href="#consume-messages" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2. [...]
+<h2><a class="anchor" aria-hidden="true" id="consume-messages"></a><a href="#consume-messages" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2. [...]
 <p>This example shows how the Pulsar Perf consumes messages with default options.</p>
 <pre><code class="hljs">bin/pulsar-perf consume <span class="hljs-keyword">my</span>-topic
 </code></pre>
@@ -152,7 +150,7 @@
 <span class="hljs-number">20</span>:<span class="hljs-number">36</span>:<span class="hljs-number">42.759</span> [Thread<span class="hljs-number">-1</span>] INFO  org.apache.pulsar.testclient.PerformanceConsumer - Aggregated latency stats --- Latency: mean: <span class="hljs-number">9.422</span> ms - med: <span class="hljs-number">9</span> - <span class="hljs-number">95</span>pct: <span class="hljs-number">15</span> - <span class="hljs-number">99</span>pct: <span class="hljs-number">16</s [...]
 </code></pre>
 <p>From the output test data, you can get the throughput statistics and the end-to-end latency statistics. The aggregated statistics is printed after the Pulsar Perf is stopped. You can press <strong>Ctrl</strong>+<strong>C</strong> to stop the Pulsar Perf.</p>
-<h4><a class="anchor" aria-hidden="true" id="configuration-options-for-pulsar-perf-consume"></a><a href="#configuration-options-for-pulsar-perf-consume" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h- [...]
+<h3><a class="anchor" aria-hidden="true" id="configuration-options-for-pulsar-perf-consume"></a><a href="#configuration-options-for-pulsar-perf-consume" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h- [...]
 <p>You can get all options by executing the <code>bin/pulsar-perf consume -h</code> command. Therefore, you can modify these options as required.</p>
 <p>The following table lists configuration options available for the <code>pulsar-perf consume</code> command.</p>
 <table>
@@ -180,7 +178,7 @@
 <tr><td>trust-cert-file</td><td>Set the path for the trusted TLS certificate file.</td><td><empty string></td></tr>
 </tbody>
 </table>
-<h3><a class="anchor" aria-hidden="true" id="configurations"></a><a href="#configurations" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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- [...]
+<h2><a class="anchor" aria-hidden="true" id="configurations"></a><a href="#configurations" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>By default, the Pulsar Perf uses <code>conf/client.conf</code> as the default configuration and uses <code>conf/log4j2.yaml</code> as the default Log4j configuration. If you want to connect to other Pulsar clusters, you can update the <code>brokerServiceUrl</code> in the client configuration.</p>
 <p>You can use the following commands to change the configuration file and the Log4j configuration file.</p>
 <pre><code class="hljs"><span class="hljs-builtin-name">export</span> <span class="hljs-attribute">PULSAR_CLIENT_CONF</span>=&lt;your-config-file&gt;
@@ -209,7 +207,7 @@
 <li><p>Check the test result through the Graphical User Interface of the HdrHistogram Plotter, as shown blow.</p>
 <p><img src="/docs/assets/perf-produce.png" alt=""></p></li>
 </ol>
-</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/en/next/security-bouncy-castle"><span class="arrow-prev">← </span><span>Bouncy Castle Providers</span></a><a class="docs-next button" href="/docs/en/next/client-libraries"><span>Overview</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#pulsar-perf">Pulsar Perf</a><ul class="toc-headings"><li><a href="#produce-messages"> [...]
+</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/en/next/security-bouncy-castle"><span class="arrow-prev">← </span><span>Bouncy Castle Providers</span></a><a class="docs-next button" href="/docs/en/next/client-libraries"><span>Overview</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#produce-messages">Produce messages</a><ul class="toc-headings"><li><a href="#configur [...]
       const community = document.querySelector("a[href='#community']").parentNode;
       const communityMenu =
         '<li>' +
diff --git a/content/docs/en/next/pulsar-admin.html b/content/docs/en/next/pulsar-admin.html
index 928e9b8..ac1ed7d 100644
--- a/content/docs/en/next/pulsar-admin.html
+++ b/content/docs/en/next/pulsar-admin.html
@@ -1655,10 +1655,14 @@
 </tbody>
 </table>
 <h2><a class="anchor" aria-hidden="true" id="topics-1"></a><a href="#topics-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  [...]
-<p>Operations for managing Pulsar topics (both persistent and non persistent)</p>
+<p>Operations for managing Pulsar topics (both persistent and non-persistent).</p>
 <p>Usage</p>
 <pre><code class="hljs css language-bash">$ pulsar-admin topics subcommand
 </code></pre>
+<p>From Pulsar 2.7.0, some namespace-level policies are available on topic level. To enable topic-level policy in Pulsar, you need to configure the following parameters in the <code>broker.conf</code> file.</p>
+<pre><code class="hljs css language-shell">systemTopicEnabled=true
+topicLevelPoliciesEnabled=true
+</code></pre>
 <p>Subcommands</p>
 <ul>
 <li><code>compact</code></li>
@@ -1709,6 +1713,36 @@
 <li><code>get-deduplication</code></li>
 <li><code>set-deduplication</code></li>
 <li><code>remove-deduplication</code></li>
+<li><code>get-max-producers</code></li>
+<li><code>set-max-producers</code></li>
+<li><code>remove-max-producers</code></li>
+<li><code>get-max-consumers</code></li>
+<li><code>set-max-consumers</code></li>
+<li><code>remove-max-consumers</code></li>
+<li><code>get-retention</code></li>
+<li><code>set-retention</code></li>
+<li><code>remove-retention</code></li>
+<li><code>get-dispatch-rate</code></li>
+<li><code>set-dispatch-rate</code></li>
+<li><code>remove-dispatch-rate</code></li>
+<li><code>get-compaction-threshold</code></li>
+<li><code>set-compaction-threshold</code></li>
+<li><code>remove-compaction-threshold</code></li>
+<li><code>get-offload-policies</code></li>
+<li><code>set-offload-policies</code></li>
+<li><code>remove-offload-policies</code></li>
+<li><code>get-max-unacked-messages-per-subscription</code></li>
+<li><code>set-max-unacked-messages-per-subscription</code></li>
+<li><code>remove-max-unacked-messages-per-subscription</code></li>
+<li><code>get-max-unacked-messages-per-consumer</code></li>
+<li><code>set-max-unacked-messages-per-consumer</code></li>
+<li><code>remove-max-unacked-messages-per-consumer</code></li>
+<li><code>get-delayed-delivery</code></li>
+<li><code>set-delayed-delivery</code></li>
+<li><code>remove-delayed-delivery</code></li>
+<li><code>get-inactive-topic-policies</code></li>
+<li><code>set-inactive-topic-policies</code></li>
+<li><code>remove-inactive-topic-policies</code></li>
 </ul>
 <h3><a class="anchor" aria-hidden="true" id="compact"></a><a href="#compact" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>Run compaction on the specified topic (persistent topics only)</p>
diff --git a/content/docs/en/next/pulsar-admin/index.html b/content/docs/en/next/pulsar-admin/index.html
index 928e9b8..ac1ed7d 100644
--- a/content/docs/en/next/pulsar-admin/index.html
+++ b/content/docs/en/next/pulsar-admin/index.html
@@ -1655,10 +1655,14 @@
 </tbody>
 </table>
 <h2><a class="anchor" aria-hidden="true" id="topics-1"></a><a href="#topics-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  [...]
-<p>Operations for managing Pulsar topics (both persistent and non persistent)</p>
+<p>Operations for managing Pulsar topics (both persistent and non-persistent).</p>
 <p>Usage</p>
 <pre><code class="hljs css language-bash">$ pulsar-admin topics subcommand
 </code></pre>
+<p>From Pulsar 2.7.0, some namespace-level policies are available on topic level. To enable topic-level policy in Pulsar, you need to configure the following parameters in the <code>broker.conf</code> file.</p>
+<pre><code class="hljs css language-shell">systemTopicEnabled=true
+topicLevelPoliciesEnabled=true
+</code></pre>
 <p>Subcommands</p>
 <ul>
 <li><code>compact</code></li>
@@ -1709,6 +1713,36 @@
 <li><code>get-deduplication</code></li>
 <li><code>set-deduplication</code></li>
 <li><code>remove-deduplication</code></li>
+<li><code>get-max-producers</code></li>
+<li><code>set-max-producers</code></li>
+<li><code>remove-max-producers</code></li>
+<li><code>get-max-consumers</code></li>
+<li><code>set-max-consumers</code></li>
+<li><code>remove-max-consumers</code></li>
+<li><code>get-retention</code></li>
+<li><code>set-retention</code></li>
+<li><code>remove-retention</code></li>
+<li><code>get-dispatch-rate</code></li>
+<li><code>set-dispatch-rate</code></li>
+<li><code>remove-dispatch-rate</code></li>
+<li><code>get-compaction-threshold</code></li>
+<li><code>set-compaction-threshold</code></li>
+<li><code>remove-compaction-threshold</code></li>
+<li><code>get-offload-policies</code></li>
+<li><code>set-offload-policies</code></li>
+<li><code>remove-offload-policies</code></li>
+<li><code>get-max-unacked-messages-per-subscription</code></li>
+<li><code>set-max-unacked-messages-per-subscription</code></li>
+<li><code>remove-max-unacked-messages-per-subscription</code></li>
+<li><code>get-max-unacked-messages-per-consumer</code></li>
+<li><code>set-max-unacked-messages-per-consumer</code></li>
+<li><code>remove-max-unacked-messages-per-consumer</code></li>
+<li><code>get-delayed-delivery</code></li>
+<li><code>set-delayed-delivery</code></li>
+<li><code>remove-delayed-delivery</code></li>
+<li><code>get-inactive-topic-policies</code></li>
+<li><code>set-inactive-topic-policies</code></li>
+<li><code>remove-inactive-topic-policies</code></li>
 </ul>
 <h3><a class="anchor" aria-hidden="true" id="compact"></a><a href="#compact" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>Run compaction on the specified topic (persistent topics only)</p>
diff --git a/content/docs/en/next/reference-configuration.html b/content/docs/en/next/reference-configuration.html
index c1106a4..b740775 100644
--- a/content/docs/en/next/reference-configuration.html
+++ b/content/docs/en/next/reference-configuration.html
@@ -461,6 +461,7 @@
 </tbody>
 </table>
 <h2><a class="anchor" aria-hidden="true" id="log4j"></a><a href="#log4j" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>You can set the log level and configuration in the  <a href="https://github.com/apache/pulsar/blob/d557e0aa286866363bc6261dec87790c055db1b0/conf/log4j2.yaml#L155">log4j2.yaml</a> file. The following logging configuration parameters are available.</p>
 <table>
 <thead>
 <tr><th>Name</th><th>Default</th></tr>
@@ -581,6 +582,7 @@
 <tr><td>dispatcherMinReadBatchSize</td><td>The minimum number of entries to read from BookKeeper. By default, it is 1 entry. When there is an error occurred on reading entries from bookkeeper, the broker will backoff the batch size to this minimum number.</td><td>1</td></tr>
 <tr><td>dispatcherMaxRoundRobinBatchSize</td><td>The maximum number of entries to dispatch for a shared subscription. By default, it is 20 entries.</td><td>20</td></tr>
 <tr><td>preciseDispatcherFlowControl</td><td>Precise dispathcer flow control according to history message number of each entry.</td><td>false</td></tr>
+<tr><td>streamingDispatch</td><td>Whether to use streaming read dispatcher. It can be useful when there's a huge backlog to drain and instead of read with micro batch we can streamline the read from bookkeeper to make the most of consumer capacity till we hit bookkeeper read limit or consumer process limit, then we can use consumer flow control to tune the speed. This feature is currently in preview and can be changed in subsequent release.</td><td>false</td></tr>
 <tr><td>maxConcurrentLookupRequest</td><td>Maximum number of concurrent lookup request that the broker allows to throttle heavy incoming lookup traffic.</td><td>50000</td></tr>
 <tr><td>maxConcurrentTopicLoadRequest</td><td>Maximum number of concurrent topic loading request that the broker allows to control the number of zk-operations.</td><td>5000</td></tr>
 <tr><td>maxConcurrentNonPersistentMessagePerConnection</td><td>Maximum number of concurrent non-persistent message that can be processed per connection.</td><td>1000</td></tr>
diff --git a/content/docs/en/next/reference-configuration/index.html b/content/docs/en/next/reference-configuration/index.html
index c1106a4..b740775 100644
--- a/content/docs/en/next/reference-configuration/index.html
+++ b/content/docs/en/next/reference-configuration/index.html
@@ -461,6 +461,7 @@
 </tbody>
 </table>
 <h2><a class="anchor" aria-hidden="true" id="log4j"></a><a href="#log4j" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>You can set the log level and configuration in the  <a href="https://github.com/apache/pulsar/blob/d557e0aa286866363bc6261dec87790c055db1b0/conf/log4j2.yaml#L155">log4j2.yaml</a> file. The following logging configuration parameters are available.</p>
 <table>
 <thead>
 <tr><th>Name</th><th>Default</th></tr>
@@ -581,6 +582,7 @@
 <tr><td>dispatcherMinReadBatchSize</td><td>The minimum number of entries to read from BookKeeper. By default, it is 1 entry. When there is an error occurred on reading entries from bookkeeper, the broker will backoff the batch size to this minimum number.</td><td>1</td></tr>
 <tr><td>dispatcherMaxRoundRobinBatchSize</td><td>The maximum number of entries to dispatch for a shared subscription. By default, it is 20 entries.</td><td>20</td></tr>
 <tr><td>preciseDispatcherFlowControl</td><td>Precise dispathcer flow control according to history message number of each entry.</td><td>false</td></tr>
+<tr><td>streamingDispatch</td><td>Whether to use streaming read dispatcher. It can be useful when there's a huge backlog to drain and instead of read with micro batch we can streamline the read from bookkeeper to make the most of consumer capacity till we hit bookkeeper read limit or consumer process limit, then we can use consumer flow control to tune the speed. This feature is currently in preview and can be changed in subsequent release.</td><td>false</td></tr>
 <tr><td>maxConcurrentLookupRequest</td><td>Maximum number of concurrent lookup request that the broker allows to throttle heavy incoming lookup traffic.</td><td>50000</td></tr>
 <tr><td>maxConcurrentTopicLoadRequest</td><td>Maximum number of concurrent topic loading request that the broker allows to control the number of zk-operations.</td><td>5000</td></tr>
 <tr><td>maxConcurrentNonPersistentMessagePerConnection</td><td>Maximum number of concurrent non-persistent message that can be processed per connection.</td><td>1000</td></tr>
diff --git a/content/docs/en/next/reference-metrics.html b/content/docs/en/next/reference-metrics.html
index bdb33a9..800a59b 100644
--- a/content/docs/en/next/reference-metrics.html
+++ b/content/docs/en/next/reference-metrics.html
@@ -134,8 +134,8 @@ in the <code>bookkeeper.conf</code> configuration file.</p>
 <tr><td>bookkeeper_server_READ_ENTRY_count</td><td>Counter</td><td>The total number of READ_ENTRY requests received at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
 <tr><td>bookie_WRITE_BYTES</td><td>Counter</td><td>The total number of bytes written to the bookie.</td></tr>
 <tr><td>bookie_READ_BYTES</td><td>Counter</td><td>The total number of bytes read from the bookie.</td></tr>
-<tr><td>bookkeeper_server_ADD_ENTRY_REQUEST</td><td>Histogram</td><td>The histogram of request latency of ADD_ENTRY requests at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
-<tr><td>bookkeeper_server_READ_ENTRY_REQUEST</td><td>Histogram</td><td>The histogram of request latency of READ_ENTRY requests at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
+<tr><td>bookkeeper_server_ADD_ENTRY_REQUEST</td><td>Summary</td><td>The summary of request latency of ADD_ENTRY requests at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
+<tr><td>bookkeeper_server_READ_ENTRY_REQUEST</td><td>Summary</td><td>The summary of request latency of READ_ENTRY requests at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
 </tbody>
 </table>
 <h3><a class="anchor" aria-hidden="true" id="journal-metrics"></a><a href="#journal-metrics" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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  [...]
@@ -148,8 +148,8 @@ in the <code>bookkeeper.conf</code> configuration file.</p>
 <tr><td>bookie_journal_JOURNAL_QUEUE_SIZE</td><td>Gauge</td><td>The total number of requests pending in the journal queue.</td></tr>
 <tr><td>bookie_journal_JOURNAL_FORCE_WRITE_QUEUE_SIZE</td><td>Gauge</td><td>The total number of force write (fsync) requests pending in the force-write queue.</td></tr>
 <tr><td>bookie_journal_JOURNAL_CB_QUEUE_SIZE</td><td>Gauge</td><td>The total number of callbacks pending in the callback queue.</td></tr>
-<tr><td>bookie_journal_JOURNAL_ADD_ENTRY</td><td>Histogram</td><td>The histogram of request latency of adding entries to the journal.</td></tr>
-<tr><td>bookie_journal_JOURNAL_SYNC</td><td>Histogram</td><td>The histogram of fsync latency of syncing data to the journal disk.</td></tr>
+<tr><td>bookie_journal_JOURNAL_ADD_ENTRY</td><td>Summary</td><td>The summary of request latency of adding entries to the journal.</td></tr>
+<tr><td>bookie_journal_JOURNAL_SYNC</td><td>Summary</td><td>The summary of fsync latency of syncing data to the journal disk.</td></tr>
 </tbody>
 </table>
 <h3><a class="anchor" aria-hidden="true" id="storage-metrics"></a><a href="#storage-metrics" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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  [...]
diff --git a/content/docs/en/next/reference-metrics/index.html b/content/docs/en/next/reference-metrics/index.html
index bdb33a9..800a59b 100644
--- a/content/docs/en/next/reference-metrics/index.html
+++ b/content/docs/en/next/reference-metrics/index.html
@@ -134,8 +134,8 @@ in the <code>bookkeeper.conf</code> configuration file.</p>
 <tr><td>bookkeeper_server_READ_ENTRY_count</td><td>Counter</td><td>The total number of READ_ENTRY requests received at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
 <tr><td>bookie_WRITE_BYTES</td><td>Counter</td><td>The total number of bytes written to the bookie.</td></tr>
 <tr><td>bookie_READ_BYTES</td><td>Counter</td><td>The total number of bytes read from the bookie.</td></tr>
-<tr><td>bookkeeper_server_ADD_ENTRY_REQUEST</td><td>Histogram</td><td>The histogram of request latency of ADD_ENTRY requests at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
-<tr><td>bookkeeper_server_READ_ENTRY_REQUEST</td><td>Histogram</td><td>The histogram of request latency of READ_ENTRY requests at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
+<tr><td>bookkeeper_server_ADD_ENTRY_REQUEST</td><td>Summary</td><td>The summary of request latency of ADD_ENTRY requests at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
+<tr><td>bookkeeper_server_READ_ENTRY_REQUEST</td><td>Summary</td><td>The summary of request latency of READ_ENTRY requests at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
 </tbody>
 </table>
 <h3><a class="anchor" aria-hidden="true" id="journal-metrics"></a><a href="#journal-metrics" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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  [...]
@@ -148,8 +148,8 @@ in the <code>bookkeeper.conf</code> configuration file.</p>
 <tr><td>bookie_journal_JOURNAL_QUEUE_SIZE</td><td>Gauge</td><td>The total number of requests pending in the journal queue.</td></tr>
 <tr><td>bookie_journal_JOURNAL_FORCE_WRITE_QUEUE_SIZE</td><td>Gauge</td><td>The total number of force write (fsync) requests pending in the force-write queue.</td></tr>
 <tr><td>bookie_journal_JOURNAL_CB_QUEUE_SIZE</td><td>Gauge</td><td>The total number of callbacks pending in the callback queue.</td></tr>
-<tr><td>bookie_journal_JOURNAL_ADD_ENTRY</td><td>Histogram</td><td>The histogram of request latency of adding entries to the journal.</td></tr>
-<tr><td>bookie_journal_JOURNAL_SYNC</td><td>Histogram</td><td>The histogram of fsync latency of syncing data to the journal disk.</td></tr>
+<tr><td>bookie_journal_JOURNAL_ADD_ENTRY</td><td>Summary</td><td>The summary of request latency of adding entries to the journal.</td></tr>
+<tr><td>bookie_journal_JOURNAL_SYNC</td><td>Summary</td><td>The summary of fsync latency of syncing data to the journal disk.</td></tr>
 </tbody>
 </table>
 <h3><a class="anchor" aria-hidden="true" id="storage-metrics"></a><a href="#storage-metrics" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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  [...]
diff --git a/content/docs/en/next/tiered-storage-aws.html b/content/docs/en/next/tiered-storage-aws.html
index 623b0f8..234eead 100644
--- a/content/docs/en/next/tiered-storage-aws.html
+++ b/content/docs/en/next/tiered-storage-aws.html
@@ -142,7 +142,7 @@ tiered-storage-jcloud-2.5.1.nar
 <tr><th>Optional</th><th>Description</th><th>Example value</th></tr>
 </thead>
 <tbody>
-<tr><td><code>s3ManagedLedgerOffloadRegion</code></td><td>Bucket region</td><td>eu-west-3</td></tr>
+<tr><td><code>s3ManagedLedgerOffloadRegion</code></td><td>Bucket region <br><br><strong>Note</strong>: before specifying a value for this parameter, you need to set the following configurations. Otherwise, you might get an error.<br><br>- Set <a href="https://docs.aws.amazon.com/general/latest/gr/s3.html"><code>s3ManagedLedgerOffloadServiceEndpoint</code></a>.<br><br>Example<br><code>s3ManagedLedgerOffloadServiceEndpoint=https://s3.YOUR_REGION.amazonaws.com</code><br><br>- Grant <code>Ge [...]
 <tr><td><code>s3ManagedLedgerOffloadReadBufferSizeInBytes</code></td><td>Size of block read</td><td>1 MB</td></tr>
 <tr><td><code>s3ManagedLedgerOffloadMaxBlockSizeInBytes</code></td><td>Size of block write</td><td>64 MB</td></tr>
 <tr><td><code>managedLedgerMinLedgerRolloverTimeMinutes</code></td><td>Minimum time between ledger rollover for a topic<br><br><strong>Note</strong>: it is not recommended that you set this configuration in the production environment.</td><td>2</td></tr>
diff --git a/content/docs/en/next/tiered-storage-aws/index.html b/content/docs/en/next/tiered-storage-aws/index.html
index 623b0f8..234eead 100644
--- a/content/docs/en/next/tiered-storage-aws/index.html
+++ b/content/docs/en/next/tiered-storage-aws/index.html
@@ -142,7 +142,7 @@ tiered-storage-jcloud-2.5.1.nar
 <tr><th>Optional</th><th>Description</th><th>Example value</th></tr>
 </thead>
 <tbody>
-<tr><td><code>s3ManagedLedgerOffloadRegion</code></td><td>Bucket region</td><td>eu-west-3</td></tr>
+<tr><td><code>s3ManagedLedgerOffloadRegion</code></td><td>Bucket region <br><br><strong>Note</strong>: before specifying a value for this parameter, you need to set the following configurations. Otherwise, you might get an error.<br><br>- Set <a href="https://docs.aws.amazon.com/general/latest/gr/s3.html"><code>s3ManagedLedgerOffloadServiceEndpoint</code></a>.<br><br>Example<br><code>s3ManagedLedgerOffloadServiceEndpoint=https://s3.YOUR_REGION.amazonaws.com</code><br><br>- Grant <code>Ge [...]
 <tr><td><code>s3ManagedLedgerOffloadReadBufferSizeInBytes</code></td><td>Size of block read</td><td>1 MB</td></tr>
 <tr><td><code>s3ManagedLedgerOffloadMaxBlockSizeInBytes</code></td><td>Size of block write</td><td>64 MB</td></tr>
 <tr><td><code>managedLedgerMinLedgerRolloverTimeMinutes</code></td><td>Minimum time between ledger rollover for a topic<br><br><strong>Note</strong>: it is not recommended that you set this configuration in the production environment.</td><td>2</td></tr>
diff --git a/content/docs/en/pulsar-admin.html b/content/docs/en/pulsar-admin.html
index a2d7161..e565dbc 100644
--- a/content/docs/en/pulsar-admin.html
+++ b/content/docs/en/pulsar-admin.html
@@ -1656,6 +1656,10 @@
 <p>Usage</p>
 <pre><code class="hljs css language-bash">$ pulsar-admin topics subcommand
 </code></pre>
+<p>Some namespace-level policies are available on topic level. To enable topic-level policy in Pulsar, you need to configure the following parameters in the <code>broker.conf</code> file.</p>
+<pre><code class="hljs css language-shell">systemTopicEnabled=true
+topicLevelPoliciesEnabled=true
+</code></pre>
 <p>Subcommands</p>
 <ul>
 <li><code>compact</code></li>
@@ -1706,6 +1710,36 @@
 <li><code>get-deduplication</code></li>
 <li><code>set-deduplication</code></li>
 <li><code>remove-deduplication</code></li>
+<li><code>get-max-producers</code></li>
+<li><code>set-max-producers</code></li>
+<li><code>remove-max-producers</code></li>
+<li><code>get-max-consumers</code></li>
+<li><code>set-max-consumers</code></li>
+<li><code>remove-max-consumers</code></li>
+<li><code>get-retention</code></li>
+<li><code>set-retention</code></li>
+<li><code>remove-retention</code></li>
+<li><code>get-dispatch-rate</code></li>
+<li><code>set-dispatch-rate</code></li>
+<li><code>remove-dispatch-rate</code></li>
+<li><code>get-compaction-threshold</code></li>
+<li><code>set-compaction-threshold</code></li>
+<li><code>remove-compaction-threshold</code></li>
+<li><code>get-offload-policies</code></li>
+<li><code>set-offload-policies</code></li>
+<li><code>remove-offload-policies</code></li>
+<li><code>get-max-unacked-messages-per-subscription</code></li>
+<li><code>set-max-unacked-messages-per-subscription</code></li>
+<li><code>remove-max-unacked-messages-per-subscription</code></li>
+<li><code>get-max-unacked-messages-per-consumer</code></li>
+<li><code>set-max-unacked-messages-per-consumer</code></li>
+<li><code>remove-max-unacked-messages-per-consumer</code></li>
+<li><code>get-delayed-delivery</code></li>
+<li><code>set-delayed-delivery</code></li>
+<li><code>remove-delayed-delivery</code></li>
+<li><code>get-inactive-topic-policies</code></li>
+<li><code>set-inactive-topic-policies</code></li>
+<li><code>remove-inactive-topic-policies</code></li>
 </ul>
 <h3><a class="anchor" aria-hidden="true" id="compact"></a><a href="#compact" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>Run compaction on the specified topic (persistent topics only)</p>
diff --git a/content/docs/en/pulsar-admin/index.html b/content/docs/en/pulsar-admin/index.html
index a2d7161..e565dbc 100644
--- a/content/docs/en/pulsar-admin/index.html
+++ b/content/docs/en/pulsar-admin/index.html
@@ -1656,6 +1656,10 @@
 <p>Usage</p>
 <pre><code class="hljs css language-bash">$ pulsar-admin topics subcommand
 </code></pre>
+<p>Some namespace-level policies are available on topic level. To enable topic-level policy in Pulsar, you need to configure the following parameters in the <code>broker.conf</code> file.</p>
+<pre><code class="hljs css language-shell">systemTopicEnabled=true
+topicLevelPoliciesEnabled=true
+</code></pre>
 <p>Subcommands</p>
 <ul>
 <li><code>compact</code></li>
@@ -1706,6 +1710,36 @@
 <li><code>get-deduplication</code></li>
 <li><code>set-deduplication</code></li>
 <li><code>remove-deduplication</code></li>
+<li><code>get-max-producers</code></li>
+<li><code>set-max-producers</code></li>
+<li><code>remove-max-producers</code></li>
+<li><code>get-max-consumers</code></li>
+<li><code>set-max-consumers</code></li>
+<li><code>remove-max-consumers</code></li>
+<li><code>get-retention</code></li>
+<li><code>set-retention</code></li>
+<li><code>remove-retention</code></li>
+<li><code>get-dispatch-rate</code></li>
+<li><code>set-dispatch-rate</code></li>
+<li><code>remove-dispatch-rate</code></li>
+<li><code>get-compaction-threshold</code></li>
+<li><code>set-compaction-threshold</code></li>
+<li><code>remove-compaction-threshold</code></li>
+<li><code>get-offload-policies</code></li>
+<li><code>set-offload-policies</code></li>
+<li><code>remove-offload-policies</code></li>
+<li><code>get-max-unacked-messages-per-subscription</code></li>
+<li><code>set-max-unacked-messages-per-subscription</code></li>
+<li><code>remove-max-unacked-messages-per-subscription</code></li>
+<li><code>get-max-unacked-messages-per-consumer</code></li>
+<li><code>set-max-unacked-messages-per-consumer</code></li>
+<li><code>remove-max-unacked-messages-per-consumer</code></li>
+<li><code>get-delayed-delivery</code></li>
+<li><code>set-delayed-delivery</code></li>
+<li><code>remove-delayed-delivery</code></li>
+<li><code>get-inactive-topic-policies</code></li>
+<li><code>set-inactive-topic-policies</code></li>
+<li><code>remove-inactive-topic-policies</code></li>
 </ul>
 <h3><a class="anchor" aria-hidden="true" id="compact"></a><a href="#compact" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>Run compaction on the specified topic (persistent topics only)</p>
diff --git a/content/docs/en/reference-metrics.html b/content/docs/en/reference-metrics.html
index d3e6699..591f4c0 100644
--- a/content/docs/en/reference-metrics.html
+++ b/content/docs/en/reference-metrics.html
@@ -134,8 +134,8 @@ in the <code>bookkeeper.conf</code> configuration file.</p>
 <tr><td>bookkeeper_server_READ_ENTRY_count</td><td>Counter</td><td>The total number of READ_ENTRY requests received at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
 <tr><td>bookie_WRITE_BYTES</td><td>Counter</td><td>The total number of bytes written to the bookie.</td></tr>
 <tr><td>bookie_READ_BYTES</td><td>Counter</td><td>The total number of bytes read from the bookie.</td></tr>
-<tr><td>bookkeeper_server_ADD_ENTRY_REQUEST</td><td>Histogram</td><td>The histogram of request latency of ADD_ENTRY requests at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
-<tr><td>bookkeeper_server_READ_ENTRY_REQUEST</td><td>Histogram</td><td>The histogram of request latency of READ_ENTRY requests at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
+<tr><td>bookkeeper_server_ADD_ENTRY_REQUEST</td><td>Summary</td><td>The summary of request latency of ADD_ENTRY requests at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
+<tr><td>bookkeeper_server_READ_ENTRY_REQUEST</td><td>Summary</td><td>The summary of request latency of READ_ENTRY requests at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
 </tbody>
 </table>
 <h3><a class="anchor" aria-hidden="true" id="journal-metrics"></a><a href="#journal-metrics" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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  [...]
@@ -148,8 +148,8 @@ in the <code>bookkeeper.conf</code> configuration file.</p>
 <tr><td>bookie_journal_JOURNAL_QUEUE_SIZE</td><td>Gauge</td><td>The total number of requests pending in the journal queue.</td></tr>
 <tr><td>bookie_journal_JOURNAL_FORCE_WRITE_QUEUE_SIZE</td><td>Gauge</td><td>The total number of force write (fsync) requests pending in the force-write queue.</td></tr>
 <tr><td>bookie_journal_JOURNAL_CB_QUEUE_SIZE</td><td>Gauge</td><td>The total number of callbacks pending in the callback queue.</td></tr>
-<tr><td>bookie_journal_JOURNAL_ADD_ENTRY</td><td>Histogram</td><td>The histogram of request latency of adding entries to the journal.</td></tr>
-<tr><td>bookie_journal_JOURNAL_SYNC</td><td>Histogram</td><td>The histogram of fsync latency of syncing data to the journal disk.</td></tr>
+<tr><td>bookie_journal_JOURNAL_ADD_ENTRY</td><td>Summary</td><td>The summary of request latency of adding entries to the journal.</td></tr>
+<tr><td>bookie_journal_JOURNAL_SYNC</td><td>Summary</td><td>The summary of fsync latency of syncing data to the journal disk.</td></tr>
 </tbody>
 </table>
 <h3><a class="anchor" aria-hidden="true" id="storage-metrics"></a><a href="#storage-metrics" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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  [...]
diff --git a/content/docs/en/reference-metrics/index.html b/content/docs/en/reference-metrics/index.html
index d3e6699..591f4c0 100644
--- a/content/docs/en/reference-metrics/index.html
+++ b/content/docs/en/reference-metrics/index.html
@@ -134,8 +134,8 @@ in the <code>bookkeeper.conf</code> configuration file.</p>
 <tr><td>bookkeeper_server_READ_ENTRY_count</td><td>Counter</td><td>The total number of READ_ENTRY requests received at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
 <tr><td>bookie_WRITE_BYTES</td><td>Counter</td><td>The total number of bytes written to the bookie.</td></tr>
 <tr><td>bookie_READ_BYTES</td><td>Counter</td><td>The total number of bytes read from the bookie.</td></tr>
-<tr><td>bookkeeper_server_ADD_ENTRY_REQUEST</td><td>Histogram</td><td>The histogram of request latency of ADD_ENTRY requests at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
-<tr><td>bookkeeper_server_READ_ENTRY_REQUEST</td><td>Histogram</td><td>The histogram of request latency of READ_ENTRY requests at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
+<tr><td>bookkeeper_server_ADD_ENTRY_REQUEST</td><td>Summary</td><td>The summary of request latency of ADD_ENTRY requests at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
+<tr><td>bookkeeper_server_READ_ENTRY_REQUEST</td><td>Summary</td><td>The summary of request latency of READ_ENTRY requests at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
 </tbody>
 </table>
 <h3><a class="anchor" aria-hidden="true" id="journal-metrics"></a><a href="#journal-metrics" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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  [...]
@@ -148,8 +148,8 @@ in the <code>bookkeeper.conf</code> configuration file.</p>
 <tr><td>bookie_journal_JOURNAL_QUEUE_SIZE</td><td>Gauge</td><td>The total number of requests pending in the journal queue.</td></tr>
 <tr><td>bookie_journal_JOURNAL_FORCE_WRITE_QUEUE_SIZE</td><td>Gauge</td><td>The total number of force write (fsync) requests pending in the force-write queue.</td></tr>
 <tr><td>bookie_journal_JOURNAL_CB_QUEUE_SIZE</td><td>Gauge</td><td>The total number of callbacks pending in the callback queue.</td></tr>
-<tr><td>bookie_journal_JOURNAL_ADD_ENTRY</td><td>Histogram</td><td>The histogram of request latency of adding entries to the journal.</td></tr>
-<tr><td>bookie_journal_JOURNAL_SYNC</td><td>Histogram</td><td>The histogram of fsync latency of syncing data to the journal disk.</td></tr>
+<tr><td>bookie_journal_JOURNAL_ADD_ENTRY</td><td>Summary</td><td>The summary of request latency of adding entries to the journal.</td></tr>
+<tr><td>bookie_journal_JOURNAL_SYNC</td><td>Summary</td><td>The summary of fsync latency of syncing data to the journal disk.</td></tr>
 </tbody>
 </table>
 <h3><a class="anchor" aria-hidden="true" id="storage-metrics"></a><a href="#storage-metrics" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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  [...]
diff --git a/content/docs/en/tiered-storage-aws.html b/content/docs/en/tiered-storage-aws.html
index 84dec76..4453682 100644
--- a/content/docs/en/tiered-storage-aws.html
+++ b/content/docs/en/tiered-storage-aws.html
@@ -142,7 +142,7 @@ tiered-storage-jcloud-2.5.1.nar
 <tr><th>Optional</th><th>Description</th><th>Example value</th></tr>
 </thead>
 <tbody>
-<tr><td><code>s3ManagedLedgerOffloadRegion</code></td><td>Bucket region</td><td>eu-west-3</td></tr>
+<tr><td><code>s3ManagedLedgerOffloadRegion</code></td><td>Bucket region <br><br><strong>Note</strong>: before specifying a value for this parameter, you need to set the following configurations. Otherwise, you might get an error.<br><br>- Set <a href="https://docs.aws.amazon.com/general/latest/gr/s3.html"><code>s3ManagedLedgerOffloadServiceEndpoint</code></a>.<br><br>Example<br><code>s3ManagedLedgerOffloadServiceEndpoint=https://s3.YOUR_REGION.amazonaws.com</code><br><br>- Grant <code>Ge [...]
 <tr><td><code>s3ManagedLedgerOffloadReadBufferSizeInBytes</code></td><td>Size of block read</td><td>1 MB</td></tr>
 <tr><td><code>s3ManagedLedgerOffloadMaxBlockSizeInBytes</code></td><td>Size of block write</td><td>64 MB</td></tr>
 <tr><td><code>managedLedgerMinLedgerRolloverTimeMinutes</code></td><td>Minimum time between ledger rollover for a topic<br><br><strong>Note</strong>: it is not recommended that you set this configuration in the production environment.</td><td>2</td></tr>
diff --git a/content/docs/en/tiered-storage-aws/index.html b/content/docs/en/tiered-storage-aws/index.html
index 84dec76..4453682 100644
--- a/content/docs/en/tiered-storage-aws/index.html
+++ b/content/docs/en/tiered-storage-aws/index.html
@@ -142,7 +142,7 @@ tiered-storage-jcloud-2.5.1.nar
 <tr><th>Optional</th><th>Description</th><th>Example value</th></tr>
 </thead>
 <tbody>
-<tr><td><code>s3ManagedLedgerOffloadRegion</code></td><td>Bucket region</td><td>eu-west-3</td></tr>
+<tr><td><code>s3ManagedLedgerOffloadRegion</code></td><td>Bucket region <br><br><strong>Note</strong>: before specifying a value for this parameter, you need to set the following configurations. Otherwise, you might get an error.<br><br>- Set <a href="https://docs.aws.amazon.com/general/latest/gr/s3.html"><code>s3ManagedLedgerOffloadServiceEndpoint</code></a>.<br><br>Example<br><code>s3ManagedLedgerOffloadServiceEndpoint=https://s3.YOUR_REGION.amazonaws.com</code><br><br>- Grant <code>Ge [...]
 <tr><td><code>s3ManagedLedgerOffloadReadBufferSizeInBytes</code></td><td>Size of block read</td><td>1 MB</td></tr>
 <tr><td><code>s3ManagedLedgerOffloadMaxBlockSizeInBytes</code></td><td>Size of block write</td><td>64 MB</td></tr>
 <tr><td><code>managedLedgerMinLedgerRolloverTimeMinutes</code></td><td>Minimum time between ledger rollover for a topic<br><br><strong>Note</strong>: it is not recommended that you set this configuration in the production environment.</td><td>2</td></tr>
diff --git a/content/docs/fr/2.4.0/reference-metrics.html b/content/docs/fr/2.4.0/reference-metrics.html
index ef27c5c..fd49750 100644
--- a/content/docs/fr/2.4.0/reference-metrics.html
+++ b/content/docs/fr/2.4.0/reference-metrics.html
@@ -75,8 +75,8 @@
 <tr><td>bookkeeper_server_READ_ENTRY_count</td><td>Counter</td><td>The total number of READ_ENTRY requests received at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
 <tr><td>bookie_WRITE_BYTES</td><td>Counter</td><td>The total number of bytes written to the bookie.</td></tr>
 <tr><td>bookie_READ_BYTES</td><td>Counter</td><td>The total number of bytes read from the bookie.</td></tr>
-<tr><td>bookkeeper_server_ADD_ENTRY_REQUEST</td><td>Histogram</td><td>The histogram of request latency of ADD_ENTRY requests at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
-<tr><td>bookkeeper_server_READ_ENTRY_REQUEST</td><td>Histogram</td><td>The histogram of request latency of READ_ENTRY requests at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
+<tr><td>bookkeeper_server_ADD_ENTRY_REQUEST</td><td>Summary</td><td>The summary of request latency of ADD_ENTRY requests at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
+<tr><td>bookkeeper_server_READ_ENTRY_REQUEST</td><td>Summary</td><td>The summary of request latency of READ_ENTRY requests at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
 </tbody>
 </table>
 <h3><a class="anchor" aria-hidden="true" id="journal-metrics"></a><a href="#journal-metrics" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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  [...]
@@ -89,8 +89,8 @@
 <tr><td>bookie_journal_JOURNAL_QUEUE_SIZE</td><td>Gauge</td><td>The total number of requests pending in the journal queue.</td></tr>
 <tr><td>bookie_journal_JOURNAL_FORCE_WRITE_QUEUE_SIZE</td><td>Gauge</td><td>The total number of force write (fsync) requests pending in the force-write queue.</td></tr>
 <tr><td>bookie_journal_JOURNAL_CB_QUEUE_SIZE</td><td>Gauge</td><td>The total number of callbacks pending in the callback queue.</td></tr>
-<tr><td>bookie_journal_JOURNAL_ADD_ENTRY</td><td>Histogram</td><td>The histogram of request latency of adding entries to the journal.</td></tr>
-<tr><td>bookie_journal_JOURNAL_SYNC</td><td>Histogram</td><td>The histogram of fsync latency of syncing data to the journal disk.</td></tr>
+<tr><td>bookie_journal_JOURNAL_ADD_ENTRY</td><td>Summary</td><td>The summary of request latency of adding entries to the journal.</td></tr>
+<tr><td>bookie_journal_JOURNAL_SYNC</td><td>Summary</td><td>The summary of fsync latency of syncing data to the journal disk.</td></tr>
 </tbody>
 </table>
 <h3><a class="anchor" aria-hidden="true" id="storage-metrics"></a><a href="#storage-metrics" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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  [...]
diff --git a/content/docs/fr/2.4.0/reference-metrics/index.html b/content/docs/fr/2.4.0/reference-metrics/index.html
index ef27c5c..fd49750 100644
--- a/content/docs/fr/2.4.0/reference-metrics/index.html
+++ b/content/docs/fr/2.4.0/reference-metrics/index.html
@@ -75,8 +75,8 @@
 <tr><td>bookkeeper_server_READ_ENTRY_count</td><td>Counter</td><td>The total number of READ_ENTRY requests received at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
 <tr><td>bookie_WRITE_BYTES</td><td>Counter</td><td>The total number of bytes written to the bookie.</td></tr>
 <tr><td>bookie_READ_BYTES</td><td>Counter</td><td>The total number of bytes read from the bookie.</td></tr>
-<tr><td>bookkeeper_server_ADD_ENTRY_REQUEST</td><td>Histogram</td><td>The histogram of request latency of ADD_ENTRY requests at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
-<tr><td>bookkeeper_server_READ_ENTRY_REQUEST</td><td>Histogram</td><td>The histogram of request latency of READ_ENTRY requests at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
+<tr><td>bookkeeper_server_ADD_ENTRY_REQUEST</td><td>Summary</td><td>The summary of request latency of ADD_ENTRY requests at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
+<tr><td>bookkeeper_server_READ_ENTRY_REQUEST</td><td>Summary</td><td>The summary of request latency of READ_ENTRY requests at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
 </tbody>
 </table>
 <h3><a class="anchor" aria-hidden="true" id="journal-metrics"></a><a href="#journal-metrics" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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  [...]
@@ -89,8 +89,8 @@
 <tr><td>bookie_journal_JOURNAL_QUEUE_SIZE</td><td>Gauge</td><td>The total number of requests pending in the journal queue.</td></tr>
 <tr><td>bookie_journal_JOURNAL_FORCE_WRITE_QUEUE_SIZE</td><td>Gauge</td><td>The total number of force write (fsync) requests pending in the force-write queue.</td></tr>
 <tr><td>bookie_journal_JOURNAL_CB_QUEUE_SIZE</td><td>Gauge</td><td>The total number of callbacks pending in the callback queue.</td></tr>
-<tr><td>bookie_journal_JOURNAL_ADD_ENTRY</td><td>Histogram</td><td>The histogram of request latency of adding entries to the journal.</td></tr>
-<tr><td>bookie_journal_JOURNAL_SYNC</td><td>Histogram</td><td>The histogram of fsync latency of syncing data to the journal disk.</td></tr>
+<tr><td>bookie_journal_JOURNAL_ADD_ENTRY</td><td>Summary</td><td>The summary of request latency of adding entries to the journal.</td></tr>
+<tr><td>bookie_journal_JOURNAL_SYNC</td><td>Summary</td><td>The summary of fsync latency of syncing data to the journal disk.</td></tr>
 </tbody>
 </table>
 <h3><a class="anchor" aria-hidden="true" id="storage-metrics"></a><a href="#storage-metrics" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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  [...]
diff --git a/content/docs/fr/2.4.1/reference-metrics.html b/content/docs/fr/2.4.1/reference-metrics.html
index eafdeae..3c83265 100644
--- a/content/docs/fr/2.4.1/reference-metrics.html
+++ b/content/docs/fr/2.4.1/reference-metrics.html
@@ -139,7 +139,7 @@
 <li>1: the bookie is running in writable mode.</li>
 <li>0: the bookie is running in readonly mode.</li>
 </ul>
-<p>| | bookkeeper_server_ADD_ENTRY_count | Counter | The total number of ADD_ENTRY requests received at the bookie. The <code>success</code> label is used to distinguish successes and failures. | | bookkeeper_server_READ_ENTRY_count | Counter | The total number of READ_ENTRY requests received at the bookie. The <code>success</code> label is used to distinguish successes and failures. | | bookie_WRITE_BYTES | Counter | The total number of bytes written to the bookie. | | bookie_READ_BYTES [...]
+<p>| | bookkeeper_server_ADD_ENTRY_count | Counter | The total number of ADD_ENTRY requests received at the bookie. The <code>success</code> label is used to distinguish successes and failures. | | bookkeeper_server_READ_ENTRY_count | Counter | The total number of READ_ENTRY requests received at the bookie. The <code>success</code> label is used to distinguish successes and failures. | | bookie_WRITE_BYTES | Counter | The total number of bytes written to the bookie. | | bookie_READ_BYTES [...]
 <h3><a class="anchor" aria-hidden="true" id="journal-metrics"></a><a href="#journal-metrics" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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  [...]
 <table>
 <thead>
@@ -150,8 +150,8 @@
 <tr><td>bookie_journal_JOURNAL_QUEUE_SIZE</td><td>Gauge</td><td>The total number of requests pending in the journal queue.</td></tr>
 <tr><td>bookie_journal_JOURNAL_FORCE_WRITE_QUEUE_SIZE</td><td>Gauge</td><td>The total number of force write (fsync) requests pending in the force-write queue.</td></tr>
 <tr><td>bookie_journal_JOURNAL_CB_QUEUE_SIZE</td><td>Gauge</td><td>The total number of callbacks pending in the callback queue.</td></tr>
-<tr><td>bookie_journal_JOURNAL_ADD_ENTRY</td><td>Histogram</td><td>The histogram of request latency of adding entries to the journal.</td></tr>
-<tr><td>bookie_journal_JOURNAL_SYNC</td><td>Histogram</td><td>The histogram of fsync latency of syncing data to the journal disk.</td></tr>
+<tr><td>bookie_journal_JOURNAL_ADD_ENTRY</td><td>Summary</td><td>The summary of request latency of adding entries to the journal.</td></tr>
+<tr><td>bookie_journal_JOURNAL_SYNC</td><td>Summary</td><td>The summary of fsync latency of syncing data to the journal disk.</td></tr>
 </tbody>
 </table>
 <h3><a class="anchor" aria-hidden="true" id="storage-metrics"></a><a href="#storage-metrics" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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  [...]
diff --git a/content/docs/fr/2.4.1/reference-metrics/index.html b/content/docs/fr/2.4.1/reference-metrics/index.html
index eafdeae..3c83265 100644
--- a/content/docs/fr/2.4.1/reference-metrics/index.html
+++ b/content/docs/fr/2.4.1/reference-metrics/index.html
@@ -139,7 +139,7 @@
 <li>1: the bookie is running in writable mode.</li>
 <li>0: the bookie is running in readonly mode.</li>
 </ul>
-<p>| | bookkeeper_server_ADD_ENTRY_count | Counter | The total number of ADD_ENTRY requests received at the bookie. The <code>success</code> label is used to distinguish successes and failures. | | bookkeeper_server_READ_ENTRY_count | Counter | The total number of READ_ENTRY requests received at the bookie. The <code>success</code> label is used to distinguish successes and failures. | | bookie_WRITE_BYTES | Counter | The total number of bytes written to the bookie. | | bookie_READ_BYTES [...]
+<p>| | bookkeeper_server_ADD_ENTRY_count | Counter | The total number of ADD_ENTRY requests received at the bookie. The <code>success</code> label is used to distinguish successes and failures. | | bookkeeper_server_READ_ENTRY_count | Counter | The total number of READ_ENTRY requests received at the bookie. The <code>success</code> label is used to distinguish successes and failures. | | bookie_WRITE_BYTES | Counter | The total number of bytes written to the bookie. | | bookie_READ_BYTES [...]
 <h3><a class="anchor" aria-hidden="true" id="journal-metrics"></a><a href="#journal-metrics" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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  [...]
 <table>
 <thead>
@@ -150,8 +150,8 @@
 <tr><td>bookie_journal_JOURNAL_QUEUE_SIZE</td><td>Gauge</td><td>The total number of requests pending in the journal queue.</td></tr>
 <tr><td>bookie_journal_JOURNAL_FORCE_WRITE_QUEUE_SIZE</td><td>Gauge</td><td>The total number of force write (fsync) requests pending in the force-write queue.</td></tr>
 <tr><td>bookie_journal_JOURNAL_CB_QUEUE_SIZE</td><td>Gauge</td><td>The total number of callbacks pending in the callback queue.</td></tr>
-<tr><td>bookie_journal_JOURNAL_ADD_ENTRY</td><td>Histogram</td><td>The histogram of request latency of adding entries to the journal.</td></tr>
-<tr><td>bookie_journal_JOURNAL_SYNC</td><td>Histogram</td><td>The histogram of fsync latency of syncing data to the journal disk.</td></tr>
+<tr><td>bookie_journal_JOURNAL_ADD_ENTRY</td><td>Summary</td><td>The summary of request latency of adding entries to the journal.</td></tr>
+<tr><td>bookie_journal_JOURNAL_SYNC</td><td>Summary</td><td>The summary of fsync latency of syncing data to the journal disk.</td></tr>
 </tbody>
 </table>
 <h3><a class="anchor" aria-hidden="true" id="storage-metrics"></a><a href="#storage-metrics" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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  [...]
diff --git a/content/docs/fr/2.4.2/reference-metrics.html b/content/docs/fr/2.4.2/reference-metrics.html
index 6822588..7dc2e7c 100644
--- a/content/docs/fr/2.4.2/reference-metrics.html
+++ b/content/docs/fr/2.4.2/reference-metrics.html
@@ -131,8 +131,8 @@
 <tr><td>bookkeeper_server_READ_ENTRY_count</td><td>Counter</td><td>The total number of READ_ENTRY requests received at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
 <tr><td>bookie_WRITE_BYTES</td><td>Counter</td><td>The total number of bytes written to the bookie.</td></tr>
 <tr><td>bookie_READ_BYTES</td><td>Counter</td><td>The total number of bytes read from the bookie.</td></tr>
-<tr><td>bookkeeper_server_ADD_ENTRY_REQUEST</td><td>Histogram</td><td>The histogram of request latency of ADD_ENTRY requests at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
-<tr><td>bookkeeper_server_READ_ENTRY_REQUEST</td><td>Histogram</td><td>The histogram of request latency of READ_ENTRY requests at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
+<tr><td>bookkeeper_server_ADD_ENTRY_REQUEST</td><td>Summary</td><td>The summary of request latency of ADD_ENTRY requests at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
+<tr><td>bookkeeper_server_READ_ENTRY_REQUEST</td><td>Summary</td><td>The summary of request latency of READ_ENTRY requests at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
 </tbody>
 </table>
 <h3><a class="anchor" aria-hidden="true" id="journal-metrics"></a><a href="#journal-metrics" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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  [...]
@@ -145,8 +145,8 @@
 <tr><td>bookie_journal_JOURNAL_QUEUE_SIZE</td><td>Gauge</td><td>The total number of requests pending in the journal queue.</td></tr>
 <tr><td>bookie_journal_JOURNAL_FORCE_WRITE_QUEUE_SIZE</td><td>Gauge</td><td>The total number of force write (fsync) requests pending in the force-write queue.</td></tr>
 <tr><td>bookie_journal_JOURNAL_CB_QUEUE_SIZE</td><td>Gauge</td><td>The total number of callbacks pending in the callback queue.</td></tr>
-<tr><td>bookie_journal_JOURNAL_ADD_ENTRY</td><td>Histogram</td><td>The histogram of request latency of adding entries to the journal.</td></tr>
-<tr><td>bookie_journal_JOURNAL_SYNC</td><td>Histogram</td><td>The histogram of fsync latency of syncing data to the journal disk.</td></tr>
+<tr><td>bookie_journal_JOURNAL_ADD_ENTRY</td><td>Summary</td><td>The summary of request latency of adding entries to the journal.</td></tr>
+<tr><td>bookie_journal_JOURNAL_SYNC</td><td>Summary</td><td>The summary of fsync latency of syncing data to the journal disk.</td></tr>
 </tbody>
 </table>
 <h3><a class="anchor" aria-hidden="true" id="storage-metrics"></a><a href="#storage-metrics" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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  [...]
diff --git a/content/docs/fr/2.4.2/reference-metrics/index.html b/content/docs/fr/2.4.2/reference-metrics/index.html
index 6822588..7dc2e7c 100644
--- a/content/docs/fr/2.4.2/reference-metrics/index.html
+++ b/content/docs/fr/2.4.2/reference-metrics/index.html
@@ -131,8 +131,8 @@
 <tr><td>bookkeeper_server_READ_ENTRY_count</td><td>Counter</td><td>The total number of READ_ENTRY requests received at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
 <tr><td>bookie_WRITE_BYTES</td><td>Counter</td><td>The total number of bytes written to the bookie.</td></tr>
 <tr><td>bookie_READ_BYTES</td><td>Counter</td><td>The total number of bytes read from the bookie.</td></tr>
-<tr><td>bookkeeper_server_ADD_ENTRY_REQUEST</td><td>Histogram</td><td>The histogram of request latency of ADD_ENTRY requests at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
-<tr><td>bookkeeper_server_READ_ENTRY_REQUEST</td><td>Histogram</td><td>The histogram of request latency of READ_ENTRY requests at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
+<tr><td>bookkeeper_server_ADD_ENTRY_REQUEST</td><td>Summary</td><td>The summary of request latency of ADD_ENTRY requests at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
+<tr><td>bookkeeper_server_READ_ENTRY_REQUEST</td><td>Summary</td><td>The summary of request latency of READ_ENTRY requests at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
 </tbody>
 </table>
 <h3><a class="anchor" aria-hidden="true" id="journal-metrics"></a><a href="#journal-metrics" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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  [...]
@@ -145,8 +145,8 @@
 <tr><td>bookie_journal_JOURNAL_QUEUE_SIZE</td><td>Gauge</td><td>The total number of requests pending in the journal queue.</td></tr>
 <tr><td>bookie_journal_JOURNAL_FORCE_WRITE_QUEUE_SIZE</td><td>Gauge</td><td>The total number of force write (fsync) requests pending in the force-write queue.</td></tr>
 <tr><td>bookie_journal_JOURNAL_CB_QUEUE_SIZE</td><td>Gauge</td><td>The total number of callbacks pending in the callback queue.</td></tr>
-<tr><td>bookie_journal_JOURNAL_ADD_ENTRY</td><td>Histogram</td><td>The histogram of request latency of adding entries to the journal.</td></tr>
-<tr><td>bookie_journal_JOURNAL_SYNC</td><td>Histogram</td><td>The histogram of fsync latency of syncing data to the journal disk.</td></tr>
+<tr><td>bookie_journal_JOURNAL_ADD_ENTRY</td><td>Summary</td><td>The summary of request latency of adding entries to the journal.</td></tr>
+<tr><td>bookie_journal_JOURNAL_SYNC</td><td>Summary</td><td>The summary of fsync latency of syncing data to the journal disk.</td></tr>
 </tbody>
 </table>
 <h3><a class="anchor" aria-hidden="true" id="storage-metrics"></a><a href="#storage-metrics" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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  [...]
diff --git a/content/docs/fr/2.5.0/client-libraries-java.html b/content/docs/fr/2.5.0/client-libraries-java.html
index 0349d5e..6c6a648 100644
--- a/content/docs/fr/2.5.0/client-libraries-java.html
+++ b/content/docs/fr/2.5.0/client-libraries-java.html
@@ -240,7 +240,7 @@ stringProducer.send(<span class="hljs-string">"My message"</span>);
 <h3><a class="anchor" aria-hidden="true" id="configure-consumer"></a><a href="#configure-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- [...]
 <p>If you instantiate a <code>Consumer</code> object by specifying only a topic and subscription name as in the example above, the consumer uses the default configuration.</p>
 <p>When you create a consumer, you can use the <code>loadConf</code> configuration. The following parameters are available in <code>loadConf</code>.</p>
-<p>Type | Name| <div style="width:300px">Description</div>|  Default |---|---|---|--- Set&lt;String&gt;|  <code>topicNames</code>|   Topic name| Sets.newTreeSet() Pattern|   <code>topicsPattern</code>| Topic pattern   |None String| <code>subscriptionName</code>| Subscription name|  None SubscriptionType| <code>subscriptionType</code>|   Subscription type <br/><br/>Three subscription types are available:<li>Exclusive</li><li>Failover</li><li>Shared</li>|SubscriptionType.Exclusive int | <c [...]
+<p>Type | Name| <div style="width:300px">Description</div>|  Default |---|---|---|--- Set&lt;String&gt;|  <code>topicNames</code>|   Topic name| Sets.newTreeSet() Pattern|   <code>topicsPattern</code>| Topic pattern   |None String| <code>subscriptionName</code>| Subscription name|  None SubscriptionType| <code>subscriptionType</code>|   Subscription type <br/><br/>Four subscription types are available:<li>Exclusive</li><li>Failover</li><li>Shared</li><li>Key_Shared</li>|SubscriptionType. [...]
 SortedMap&lt;String, String&gt;|<code>properties</code>|A name or value property of this consumer.<br/><br/><code>properties</code> is application defined metadata attached to a consumer. <br/><br/>When getting a topic stats, associate this metadata with the consumer stats for easier identification.|new TreeMap&lt;&gt;() boolean|<code>readCompacted</code>|If enabling <code>readCompacted</code>, a consumer reads messages from a compacted topic rather than reading a full message backlog of [...]
 <p>You can configure parameters if you do not want to use the default configuration. For a full list, see the Javadoc for the <a href="https://pulsar.incubator.apache.org/api/client/2.7.0-SNAPSHOT/org/apache/pulsar/client/api/ConsumerBuilder">ConsumerBuilder</a>
  class.</p>
diff --git a/content/docs/fr/2.5.0/client-libraries-java/index.html b/content/docs/fr/2.5.0/client-libraries-java/index.html
index 0349d5e..6c6a648 100644
--- a/content/docs/fr/2.5.0/client-libraries-java/index.html
+++ b/content/docs/fr/2.5.0/client-libraries-java/index.html
@@ -240,7 +240,7 @@ stringProducer.send(<span class="hljs-string">"My message"</span>);
 <h3><a class="anchor" aria-hidden="true" id="configure-consumer"></a><a href="#configure-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- [...]
 <p>If you instantiate a <code>Consumer</code> object by specifying only a topic and subscription name as in the example above, the consumer uses the default configuration.</p>
 <p>When you create a consumer, you can use the <code>loadConf</code> configuration. The following parameters are available in <code>loadConf</code>.</p>
-<p>Type | Name| <div style="width:300px">Description</div>|  Default |---|---|---|--- Set&lt;String&gt;|  <code>topicNames</code>|   Topic name| Sets.newTreeSet() Pattern|   <code>topicsPattern</code>| Topic pattern   |None String| <code>subscriptionName</code>| Subscription name|  None SubscriptionType| <code>subscriptionType</code>|   Subscription type <br/><br/>Three subscription types are available:<li>Exclusive</li><li>Failover</li><li>Shared</li>|SubscriptionType.Exclusive int | <c [...]
+<p>Type | Name| <div style="width:300px">Description</div>|  Default |---|---|---|--- Set&lt;String&gt;|  <code>topicNames</code>|   Topic name| Sets.newTreeSet() Pattern|   <code>topicsPattern</code>| Topic pattern   |None String| <code>subscriptionName</code>| Subscription name|  None SubscriptionType| <code>subscriptionType</code>|   Subscription type <br/><br/>Four subscription types are available:<li>Exclusive</li><li>Failover</li><li>Shared</li><li>Key_Shared</li>|SubscriptionType. [...]
 SortedMap&lt;String, String&gt;|<code>properties</code>|A name or value property of this consumer.<br/><br/><code>properties</code> is application defined metadata attached to a consumer. <br/><br/>When getting a topic stats, associate this metadata with the consumer stats for easier identification.|new TreeMap&lt;&gt;() boolean|<code>readCompacted</code>|If enabling <code>readCompacted</code>, a consumer reads messages from a compacted topic rather than reading a full message backlog of [...]
 <p>You can configure parameters if you do not want to use the default configuration. For a full list, see the Javadoc for the <a href="https://pulsar.incubator.apache.org/api/client/2.7.0-SNAPSHOT/org/apache/pulsar/client/api/ConsumerBuilder">ConsumerBuilder</a>
  class.</p>
diff --git a/content/docs/fr/2.5.0/client-libraries-node.html b/content/docs/fr/2.5.0/client-libraries-node.html
index f268a04..272b86d 100644
--- a/content/docs/fr/2.5.0/client-libraries-node.html
+++ b/content/docs/fr/2.5.0/client-libraries-node.html
@@ -263,7 +263,7 @@ consumer.acknowledge(msg);
 <tbody>
 <tr><td style="text-align:left"><code>topic</code></td><td style="text-align:left">The Pulsar <a href="/docs/fr/2.5.0/reference-terminology#topic">topic</a> on which the consumer will establish a subscription and listen for messages.</td><td style="text-align:left"></td></tr>
 <tr><td style="text-align:left"><code>subscription</code></td><td style="text-align:left">The subscription name for this consumer.</td><td style="text-align:left"></td></tr>
-<tr><td style="text-align:left"><code>subscriptionType</code></td><td style="text-align:left">Available options are <code>Exclusive</code>, <code>Shared</code>, and <code>Failover</code>.</td><td style="text-align:left"><code>Exclusive</code></td></tr>
+<tr><td style="text-align:left"><code>subscriptionType</code></td><td style="text-align:left">Available options are <code>Exclusive</code>, <code>Shared</code>, <code>Key_Shared</code>, and <code>Failover</code>.</td><td style="text-align:left"><code>Exclusive</code></td></tr>
 <tr><td style="text-align:left"><code>ackTimeoutMs</code></td><td style="text-align:left">Acknowledge timeout in milliseconds.</td><td style="text-align:left">0</td></tr>
 <tr><td style="text-align:left"><code>receiverQueueSize</code></td><td style="text-align:left">Sets the size of the consumer's receiver queue, i.e. the number of messages that can be accumulated by the consumer before the application calls <code>receive</code>. A value higher than the default of 1000 could increase consumer throughput, though at the expense of more memory utilization.</td><td style="text-align:left">1000</td></tr>
 <tr><td style="text-align:left"><code>receiverQueueSizeAcrossPartitions</code></td><td style="text-align:left">Set the max total receiver queue size across partitions. This setting will be used to reduce the receiver queue size for individual partitions if the total exceeds this value.</td><td style="text-align:left">50000</td></tr>
diff --git a/content/docs/fr/2.5.0/client-libraries-node/index.html b/content/docs/fr/2.5.0/client-libraries-node/index.html
index f268a04..272b86d 100644
--- a/content/docs/fr/2.5.0/client-libraries-node/index.html
+++ b/content/docs/fr/2.5.0/client-libraries-node/index.html
@@ -263,7 +263,7 @@ consumer.acknowledge(msg);
 <tbody>
 <tr><td style="text-align:left"><code>topic</code></td><td style="text-align:left">The Pulsar <a href="/docs/fr/2.5.0/reference-terminology#topic">topic</a> on which the consumer will establish a subscription and listen for messages.</td><td style="text-align:left"></td></tr>
 <tr><td style="text-align:left"><code>subscription</code></td><td style="text-align:left">The subscription name for this consumer.</td><td style="text-align:left"></td></tr>
-<tr><td style="text-align:left"><code>subscriptionType</code></td><td style="text-align:left">Available options are <code>Exclusive</code>, <code>Shared</code>, and <code>Failover</code>.</td><td style="text-align:left"><code>Exclusive</code></td></tr>
+<tr><td style="text-align:left"><code>subscriptionType</code></td><td style="text-align:left">Available options are <code>Exclusive</code>, <code>Shared</code>, <code>Key_Shared</code>, and <code>Failover</code>.</td><td style="text-align:left"><code>Exclusive</code></td></tr>
 <tr><td style="text-align:left"><code>ackTimeoutMs</code></td><td style="text-align:left">Acknowledge timeout in milliseconds.</td><td style="text-align:left">0</td></tr>
 <tr><td style="text-align:left"><code>receiverQueueSize</code></td><td style="text-align:left">Sets the size of the consumer's receiver queue, i.e. the number of messages that can be accumulated by the consumer before the application calls <code>receive</code>. A value higher than the default of 1000 could increase consumer throughput, though at the expense of more memory utilization.</td><td style="text-align:left">1000</td></tr>
 <tr><td style="text-align:left"><code>receiverQueueSizeAcrossPartitions</code></td><td style="text-align:left">Set the max total receiver queue size across partitions. This setting will be used to reduce the receiver queue size for individual partitions if the total exceeds this value.</td><td style="text-align:left">50000</td></tr>
diff --git a/content/docs/fr/2.5.0/reference-metrics.html b/content/docs/fr/2.5.0/reference-metrics.html
index cf11762..e47ba3f 100644
--- a/content/docs/fr/2.5.0/reference-metrics.html
+++ b/content/docs/fr/2.5.0/reference-metrics.html
@@ -131,8 +131,8 @@
 <tr><td>bookkeeper_server_READ_ENTRY_count</td><td>Counter</td><td>The total number of READ_ENTRY requests received at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
 <tr><td>bookie_WRITE_BYTES</td><td>Counter</td><td>The total number of bytes written to the bookie.</td></tr>
 <tr><td>bookie_READ_BYTES</td><td>Counter</td><td>The total number of bytes read from the bookie.</td></tr>
-<tr><td>bookkeeper_server_ADD_ENTRY_REQUEST</td><td>Histogram</td><td>The histogram of request latency of ADD_ENTRY requests at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
-<tr><td>bookkeeper_server_READ_ENTRY_REQUEST</td><td>Histogram</td><td>The histogram of request latency of READ_ENTRY requests at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
+<tr><td>bookkeeper_server_ADD_ENTRY_REQUEST</td><td>Summary</td><td>The summary of request latency of ADD_ENTRY requests at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
+<tr><td>bookkeeper_server_READ_ENTRY_REQUEST</td><td>Summary</td><td>The summary of request latency of READ_ENTRY requests at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
 </tbody>
 </table>
 <h3><a class="anchor" aria-hidden="true" id="journal-metrics"></a><a href="#journal-metrics" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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  [...]
@@ -145,8 +145,8 @@
 <tr><td>bookie_journal_JOURNAL_QUEUE_SIZE</td><td>Gauge</td><td>The total number of requests pending in the journal queue.</td></tr>
 <tr><td>bookie_journal_JOURNAL_FORCE_WRITE_QUEUE_SIZE</td><td>Gauge</td><td>The total number of force write (fsync) requests pending in the force-write queue.</td></tr>
 <tr><td>bookie_journal_JOURNAL_CB_QUEUE_SIZE</td><td>Gauge</td><td>The total number of callbacks pending in the callback queue.</td></tr>
-<tr><td>bookie_journal_JOURNAL_ADD_ENTRY</td><td>Histogram</td><td>The histogram of request latency of adding entries to the journal.</td></tr>
-<tr><td>bookie_journal_JOURNAL_SYNC</td><td>Histogram</td><td>The histogram of fsync latency of syncing data to the journal disk.</td></tr>
+<tr><td>bookie_journal_JOURNAL_ADD_ENTRY</td><td>Summary</td><td>The summary of request latency of adding entries to the journal.</td></tr>
+<tr><td>bookie_journal_JOURNAL_SYNC</td><td>Summary</td><td>The summary of fsync latency of syncing data to the journal disk.</td></tr>
 </tbody>
 </table>
 <h3><a class="anchor" aria-hidden="true" id="storage-metrics"></a><a href="#storage-metrics" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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  [...]
diff --git a/content/docs/fr/2.5.0/reference-metrics/index.html b/content/docs/fr/2.5.0/reference-metrics/index.html
index cf11762..e47ba3f 100644
--- a/content/docs/fr/2.5.0/reference-metrics/index.html
+++ b/content/docs/fr/2.5.0/reference-metrics/index.html
@@ -131,8 +131,8 @@
 <tr><td>bookkeeper_server_READ_ENTRY_count</td><td>Counter</td><td>The total number of READ_ENTRY requests received at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
 <tr><td>bookie_WRITE_BYTES</td><td>Counter</td><td>The total number of bytes written to the bookie.</td></tr>
 <tr><td>bookie_READ_BYTES</td><td>Counter</td><td>The total number of bytes read from the bookie.</td></tr>
-<tr><td>bookkeeper_server_ADD_ENTRY_REQUEST</td><td>Histogram</td><td>The histogram of request latency of ADD_ENTRY requests at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
-<tr><td>bookkeeper_server_READ_ENTRY_REQUEST</td><td>Histogram</td><td>The histogram of request latency of READ_ENTRY requests at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
+<tr><td>bookkeeper_server_ADD_ENTRY_REQUEST</td><td>Summary</td><td>The summary of request latency of ADD_ENTRY requests at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
+<tr><td>bookkeeper_server_READ_ENTRY_REQUEST</td><td>Summary</td><td>The summary of request latency of READ_ENTRY requests at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
 </tbody>
 </table>
 <h3><a class="anchor" aria-hidden="true" id="journal-metrics"></a><a href="#journal-metrics" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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  [...]
@@ -145,8 +145,8 @@
 <tr><td>bookie_journal_JOURNAL_QUEUE_SIZE</td><td>Gauge</td><td>The total number of requests pending in the journal queue.</td></tr>
 <tr><td>bookie_journal_JOURNAL_FORCE_WRITE_QUEUE_SIZE</td><td>Gauge</td><td>The total number of force write (fsync) requests pending in the force-write queue.</td></tr>
 <tr><td>bookie_journal_JOURNAL_CB_QUEUE_SIZE</td><td>Gauge</td><td>The total number of callbacks pending in the callback queue.</td></tr>
-<tr><td>bookie_journal_JOURNAL_ADD_ENTRY</td><td>Histogram</td><td>The histogram of request latency of adding entries to the journal.</td></tr>
-<tr><td>bookie_journal_JOURNAL_SYNC</td><td>Histogram</td><td>The histogram of fsync latency of syncing data to the journal disk.</td></tr>
+<tr><td>bookie_journal_JOURNAL_ADD_ENTRY</td><td>Summary</td><td>The summary of request latency of adding entries to the journal.</td></tr>
+<tr><td>bookie_journal_JOURNAL_SYNC</td><td>Summary</td><td>The summary of fsync latency of syncing data to the journal disk.</td></tr>
 </tbody>
 </table>
 <h3><a class="anchor" aria-hidden="true" id="storage-metrics"></a><a href="#storage-metrics" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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  [...]
diff --git a/content/docs/fr/2.5.1/client-libraries-java.html b/content/docs/fr/2.5.1/client-libraries-java.html
index 19f7fb3..e054eef 100644
--- a/content/docs/fr/2.5.1/client-libraries-java.html
+++ b/content/docs/fr/2.5.1/client-libraries-java.html
@@ -241,7 +241,7 @@ stringProducer.send(<span class="hljs-string">"My message"</span>);
 <h3><a class="anchor" aria-hidden="true" id="configure-consumer"></a><a href="#configure-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- [...]
 <p>If you instantiate a <code>Consumer</code> object by specifying only a topic and subscription name as in the example above, the consumer uses the default configuration.</p>
 <p>When you create a consumer, you can use the <code>loadConf</code> configuration. The following parameters are available in <code>loadConf</code>.</p>
-<p>Type | Name| <div style="width:300px">Description</div>|  Default |---|---|---|--- Set&lt;String&gt;|  <code>topicNames</code>|   Topic name| Sets.newTreeSet() Pattern|   <code>topicsPattern</code>| Topic pattern   |None String| <code>subscriptionName</code>| Subscription name|  None SubscriptionType| <code>subscriptionType</code>|   Subscription type <br/><br/>Three subscription types are available:<li>Exclusive</li><li>Failover</li><li>Shared</li>|SubscriptionType.Exclusive int | <c [...]
+<p>Type | Name| <div style="width:300px">Description</div>|  Default |---|---|---|--- Set&lt;String&gt;|  <code>topicNames</code>|   Topic name| Sets.newTreeSet() Pattern|   <code>topicsPattern</code>| Topic pattern   |None String| <code>subscriptionName</code>| Subscription name|  None SubscriptionType| <code>subscriptionType</code>|   Subscription type <br/><br/>Four subscription types are available:<li>Exclusive</li><li>Failover</li><li>Shared</li><li>Key_Shared</li>|SubscriptionType. [...]
 SortedMap&lt;String, String&gt;|<code>properties</code>|A name or value property of this consumer.<br/><br/><code>properties</code> is application defined metadata attached to a consumer. <br/><br/>When getting a topic stats, associate this metadata with the consumer stats for easier identification.|new TreeMap&lt;&gt;() boolean|<code>readCompacted</code>|If enabling <code>readCompacted</code>, a consumer reads messages from a compacted topic rather than reading a full message backlog of [...]
 <p>You can configure parameters if you do not want to use the default configuration. For a full list, see the Javadoc for the <a href="https://pulsar.incubator.apache.org/api/client/2.7.0-SNAPSHOT/org/apache/pulsar/client/api/ConsumerBuilder">ConsumerBuilder</a>
  class.</p>
diff --git a/content/docs/fr/2.5.1/client-libraries-java/index.html b/content/docs/fr/2.5.1/client-libraries-java/index.html
index 19f7fb3..e054eef 100644
--- a/content/docs/fr/2.5.1/client-libraries-java/index.html
+++ b/content/docs/fr/2.5.1/client-libraries-java/index.html
@@ -241,7 +241,7 @@ stringProducer.send(<span class="hljs-string">"My message"</span>);
 <h3><a class="anchor" aria-hidden="true" id="configure-consumer"></a><a href="#configure-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- [...]
 <p>If you instantiate a <code>Consumer</code> object by specifying only a topic and subscription name as in the example above, the consumer uses the default configuration.</p>
 <p>When you create a consumer, you can use the <code>loadConf</code> configuration. The following parameters are available in <code>loadConf</code>.</p>
-<p>Type | Name| <div style="width:300px">Description</div>|  Default |---|---|---|--- Set&lt;String&gt;|  <code>topicNames</code>|   Topic name| Sets.newTreeSet() Pattern|   <code>topicsPattern</code>| Topic pattern   |None String| <code>subscriptionName</code>| Subscription name|  None SubscriptionType| <code>subscriptionType</code>|   Subscription type <br/><br/>Three subscription types are available:<li>Exclusive</li><li>Failover</li><li>Shared</li>|SubscriptionType.Exclusive int | <c [...]
+<p>Type | Name| <div style="width:300px">Description</div>|  Default |---|---|---|--- Set&lt;String&gt;|  <code>topicNames</code>|   Topic name| Sets.newTreeSet() Pattern|   <code>topicsPattern</code>| Topic pattern   |None String| <code>subscriptionName</code>| Subscription name|  None SubscriptionType| <code>subscriptionType</code>|   Subscription type <br/><br/>Four subscription types are available:<li>Exclusive</li><li>Failover</li><li>Shared</li><li>Key_Shared</li>|SubscriptionType. [...]
 SortedMap&lt;String, String&gt;|<code>properties</code>|A name or value property of this consumer.<br/><br/><code>properties</code> is application defined metadata attached to a consumer. <br/><br/>When getting a topic stats, associate this metadata with the consumer stats for easier identification.|new TreeMap&lt;&gt;() boolean|<code>readCompacted</code>|If enabling <code>readCompacted</code>, a consumer reads messages from a compacted topic rather than reading a full message backlog of [...]
 <p>You can configure parameters if you do not want to use the default configuration. For a full list, see the Javadoc for the <a href="https://pulsar.incubator.apache.org/api/client/2.7.0-SNAPSHOT/org/apache/pulsar/client/api/ConsumerBuilder">ConsumerBuilder</a>
  class.</p>
diff --git a/content/docs/fr/2.5.1/client-libraries-node.html b/content/docs/fr/2.5.1/client-libraries-node.html
index cbefad3..93c3114 100644
--- a/content/docs/fr/2.5.1/client-libraries-node.html
+++ b/content/docs/fr/2.5.1/client-libraries-node.html
@@ -266,7 +266,7 @@ In this example, using await operator instead of executor function.</p>
 <tbody>
 <tr><td style="text-align:left"><code>topic</code></td><td style="text-align:left">The Pulsar <a href="/docs/fr/2.5.1/reference-terminology#topic">topic</a> on which the consumer will establish a subscription and listen for messages.</td><td style="text-align:left"></td></tr>
 <tr><td style="text-align:left"><code>subscription</code></td><td style="text-align:left">The subscription name for this consumer.</td><td style="text-align:left"></td></tr>
-<tr><td style="text-align:left"><code>subscriptionType</code></td><td style="text-align:left">Available options are <code>Exclusive</code>, <code>Shared</code>, and <code>Failover</code>.</td><td style="text-align:left"><code>Exclusive</code></td></tr>
+<tr><td style="text-align:left"><code>subscriptionType</code></td><td style="text-align:left">Available options are <code>Exclusive</code>, <code>Shared</code>, <code>Key_Shared</code>, and <code>Failover</code>.</td><td style="text-align:left"><code>Exclusive</code></td></tr>
 <tr><td style="text-align:left"><code>ackTimeoutMs</code></td><td style="text-align:left">Acknowledge timeout in milliseconds.</td><td style="text-align:left">0</td></tr>
 <tr><td style="text-align:left"><code>receiverQueueSize</code></td><td style="text-align:left">Sets the size of the consumer's receiver queue, i.e. the number of messages that can be accumulated by the consumer before the application calls <code>receive</code>. A value higher than the default of 1000 could increase consumer throughput, though at the expense of more memory utilization.</td><td style="text-align:left">1000</td></tr>
 <tr><td style="text-align:left"><code>receiverQueueSizeAcrossPartitions</code></td><td style="text-align:left">Set the max total receiver queue size across partitions. This setting will be used to reduce the receiver queue size for individual partitions if the total exceeds this value.</td><td style="text-align:left">50000</td></tr>
diff --git a/content/docs/fr/2.5.1/client-libraries-node/index.html b/content/docs/fr/2.5.1/client-libraries-node/index.html
index cbefad3..93c3114 100644
--- a/content/docs/fr/2.5.1/client-libraries-node/index.html
+++ b/content/docs/fr/2.5.1/client-libraries-node/index.html
@@ -266,7 +266,7 @@ In this example, using await operator instead of executor function.</p>
 <tbody>
 <tr><td style="text-align:left"><code>topic</code></td><td style="text-align:left">The Pulsar <a href="/docs/fr/2.5.1/reference-terminology#topic">topic</a> on which the consumer will establish a subscription and listen for messages.</td><td style="text-align:left"></td></tr>
 <tr><td style="text-align:left"><code>subscription</code></td><td style="text-align:left">The subscription name for this consumer.</td><td style="text-align:left"></td></tr>
-<tr><td style="text-align:left"><code>subscriptionType</code></td><td style="text-align:left">Available options are <code>Exclusive</code>, <code>Shared</code>, and <code>Failover</code>.</td><td style="text-align:left"><code>Exclusive</code></td></tr>
+<tr><td style="text-align:left"><code>subscriptionType</code></td><td style="text-align:left">Available options are <code>Exclusive</code>, <code>Shared</code>, <code>Key_Shared</code>, and <code>Failover</code>.</td><td style="text-align:left"><code>Exclusive</code></td></tr>
 <tr><td style="text-align:left"><code>ackTimeoutMs</code></td><td style="text-align:left">Acknowledge timeout in milliseconds.</td><td style="text-align:left">0</td></tr>
 <tr><td style="text-align:left"><code>receiverQueueSize</code></td><td style="text-align:left">Sets the size of the consumer's receiver queue, i.e. the number of messages that can be accumulated by the consumer before the application calls <code>receive</code>. A value higher than the default of 1000 could increase consumer throughput, though at the expense of more memory utilization.</td><td style="text-align:left">1000</td></tr>
 <tr><td style="text-align:left"><code>receiverQueueSizeAcrossPartitions</code></td><td style="text-align:left">Set the max total receiver queue size across partitions. This setting will be used to reduce the receiver queue size for individual partitions if the total exceeds this value.</td><td style="text-align:left">50000</td></tr>
diff --git a/content/docs/fr/2.5.1/reference-metrics.html b/content/docs/fr/2.5.1/reference-metrics.html
index 61a5fcf..84d6ac5 100644
--- a/content/docs/fr/2.5.1/reference-metrics.html
+++ b/content/docs/fr/2.5.1/reference-metrics.html
@@ -131,8 +131,8 @@
 <tr><td>bookkeeper_server_READ_ENTRY_count</td><td>Counter</td><td>The total number of READ_ENTRY requests received at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
 <tr><td>bookie_WRITE_BYTES</td><td>Counter</td><td>The total number of bytes written to the bookie.</td></tr>
 <tr><td>bookie_READ_BYTES</td><td>Counter</td><td>The total number of bytes read from the bookie.</td></tr>
-<tr><td>bookkeeper_server_ADD_ENTRY_REQUEST</td><td>Histogram</td><td>The histogram of request latency of ADD_ENTRY requests at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
-<tr><td>bookkeeper_server_READ_ENTRY_REQUEST</td><td>Histogram</td><td>The histogram of request latency of READ_ENTRY requests at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
+<tr><td>bookkeeper_server_ADD_ENTRY_REQUEST</td><td>Summary</td><td>The summary of request latency of ADD_ENTRY requests at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
+<tr><td>bookkeeper_server_READ_ENTRY_REQUEST</td><td>Summary</td><td>The summary of request latency of READ_ENTRY requests at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
 </tbody>
 </table>
 <h3><a class="anchor" aria-hidden="true" id="journal-metrics"></a><a href="#journal-metrics" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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  [...]
@@ -145,8 +145,8 @@
 <tr><td>bookie_journal_JOURNAL_QUEUE_SIZE</td><td>Gauge</td><td>The total number of requests pending in the journal queue.</td></tr>
 <tr><td>bookie_journal_JOURNAL_FORCE_WRITE_QUEUE_SIZE</td><td>Gauge</td><td>The total number of force write (fsync) requests pending in the force-write queue.</td></tr>
 <tr><td>bookie_journal_JOURNAL_CB_QUEUE_SIZE</td><td>Gauge</td><td>The total number of callbacks pending in the callback queue.</td></tr>
-<tr><td>bookie_journal_JOURNAL_ADD_ENTRY</td><td>Histogram</td><td>The histogram of request latency of adding entries to the journal.</td></tr>
-<tr><td>bookie_journal_JOURNAL_SYNC</td><td>Histogram</td><td>The histogram of fsync latency of syncing data to the journal disk.</td></tr>
+<tr><td>bookie_journal_JOURNAL_ADD_ENTRY</td><td>Summary</td><td>The summary of request latency of adding entries to the journal.</td></tr>
+<tr><td>bookie_journal_JOURNAL_SYNC</td><td>Summary</td><td>The summary of fsync latency of syncing data to the journal disk.</td></tr>
 </tbody>
 </table>
 <h3><a class="anchor" aria-hidden="true" id="storage-metrics"></a><a href="#storage-metrics" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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  [...]
diff --git a/content/docs/fr/2.5.1/reference-metrics/index.html b/content/docs/fr/2.5.1/reference-metrics/index.html
index 61a5fcf..84d6ac5 100644
--- a/content/docs/fr/2.5.1/reference-metrics/index.html
+++ b/content/docs/fr/2.5.1/reference-metrics/index.html
@@ -131,8 +131,8 @@
 <tr><td>bookkeeper_server_READ_ENTRY_count</td><td>Counter</td><td>The total number of READ_ENTRY requests received at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
 <tr><td>bookie_WRITE_BYTES</td><td>Counter</td><td>The total number of bytes written to the bookie.</td></tr>
 <tr><td>bookie_READ_BYTES</td><td>Counter</td><td>The total number of bytes read from the bookie.</td></tr>
-<tr><td>bookkeeper_server_ADD_ENTRY_REQUEST</td><td>Histogram</td><td>The histogram of request latency of ADD_ENTRY requests at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
-<tr><td>bookkeeper_server_READ_ENTRY_REQUEST</td><td>Histogram</td><td>The histogram of request latency of READ_ENTRY requests at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
+<tr><td>bookkeeper_server_ADD_ENTRY_REQUEST</td><td>Summary</td><td>The summary of request latency of ADD_ENTRY requests at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
+<tr><td>bookkeeper_server_READ_ENTRY_REQUEST</td><td>Summary</td><td>The summary of request latency of READ_ENTRY requests at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
 </tbody>
 </table>
 <h3><a class="anchor" aria-hidden="true" id="journal-metrics"></a><a href="#journal-metrics" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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  [...]
@@ -145,8 +145,8 @@
 <tr><td>bookie_journal_JOURNAL_QUEUE_SIZE</td><td>Gauge</td><td>The total number of requests pending in the journal queue.</td></tr>
 <tr><td>bookie_journal_JOURNAL_FORCE_WRITE_QUEUE_SIZE</td><td>Gauge</td><td>The total number of force write (fsync) requests pending in the force-write queue.</td></tr>
 <tr><td>bookie_journal_JOURNAL_CB_QUEUE_SIZE</td><td>Gauge</td><td>The total number of callbacks pending in the callback queue.</td></tr>
-<tr><td>bookie_journal_JOURNAL_ADD_ENTRY</td><td>Histogram</td><td>The histogram of request latency of adding entries to the journal.</td></tr>
-<tr><td>bookie_journal_JOURNAL_SYNC</td><td>Histogram</td><td>The histogram of fsync latency of syncing data to the journal disk.</td></tr>
+<tr><td>bookie_journal_JOURNAL_ADD_ENTRY</td><td>Summary</td><td>The summary of request latency of adding entries to the journal.</td></tr>
+<tr><td>bookie_journal_JOURNAL_SYNC</td><td>Summary</td><td>The summary of fsync latency of syncing data to the journal disk.</td></tr>
 </tbody>
 </table>
 <h3><a class="anchor" aria-hidden="true" id="storage-metrics"></a><a href="#storage-metrics" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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  [...]
diff --git a/content/docs/fr/2.5.2/client-libraries-java.html b/content/docs/fr/2.5.2/client-libraries-java.html
index 8b28ab9..3874262 100644
--- a/content/docs/fr/2.5.2/client-libraries-java.html
+++ b/content/docs/fr/2.5.2/client-libraries-java.html
@@ -255,7 +255,7 @@ producer.closeAsync()
 <h3><a class="anchor" aria-hidden="true" id="configure-consumer"></a><a href="#configure-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- [...]
 <p>If you instantiate a <code>Consumer</code> object by specifying only a topic and subscription name as in the example above, the consumer uses the default configuration.</p>
 <p>When you create a consumer, you can use the <code>loadConf</code> configuration. The following parameters are available in <code>loadConf</code>.</p>
-<p>Type | Name| <div style="width:300px">Description</div>|  Default |---|---|---|--- Set&lt;String&gt;|  <code>topicNames</code>|   Topic name| Sets.newTreeSet() Pattern|   <code>topicsPattern</code>| Topic pattern   |None String| <code>subscriptionName</code>| Subscription name|  None SubscriptionType| <code>subscriptionType</code>|   Subscription type <br/><br/>Three subscription types are available:<li>Exclusive</li><li>Failover</li><li>Shared</li>|SubscriptionType.Exclusive int | <c [...]
+<p>Type | Name| <div style="width:300px">Description</div>|  Default |---|---|---|--- Set&lt;String&gt;|  <code>topicNames</code>|   Topic name| Sets.newTreeSet() Pattern|   <code>topicsPattern</code>| Topic pattern   |None String| <code>subscriptionName</code>| Subscription name|  None SubscriptionType| <code>subscriptionType</code>|   Subscription type <br/><br/>Four subscription types are available:<li>Exclusive</li><li>Failover</li><li>Shared</li><li>Key_Shared</li>|SubscriptionType. [...]
 SortedMap&lt;String, String&gt;|<code>properties</code>|A name or value property of this consumer.<br/><br/><code>properties</code> is application defined metadata attached to a consumer. <br/><br/>When getting a topic stats, associate this metadata with the consumer stats for easier identification.|new TreeMap&lt;&gt;() boolean|<code>readCompacted</code>|If enabling <code>readCompacted</code>, a consumer reads messages from a compacted topic rather than reading a full message backlog of [...]
 <p>You can configure parameters if you do not want to use the default configuration. For a full list, see the Javadoc for the <a href="https://pulsar.incubator.apache.org/api/client/2.7.0-SNAPSHOT/org/apache/pulsar/client/api/ConsumerBuilder">ConsumerBuilder</a>
  class.</p>
diff --git a/content/docs/fr/2.5.2/client-libraries-java/index.html b/content/docs/fr/2.5.2/client-libraries-java/index.html
index 8b28ab9..3874262 100644
--- a/content/docs/fr/2.5.2/client-libraries-java/index.html
+++ b/content/docs/fr/2.5.2/client-libraries-java/index.html
@@ -255,7 +255,7 @@ producer.closeAsync()
 <h3><a class="anchor" aria-hidden="true" id="configure-consumer"></a><a href="#configure-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- [...]
 <p>If you instantiate a <code>Consumer</code> object by specifying only a topic and subscription name as in the example above, the consumer uses the default configuration.</p>
 <p>When you create a consumer, you can use the <code>loadConf</code> configuration. The following parameters are available in <code>loadConf</code>.</p>
-<p>Type | Name| <div style="width:300px">Description</div>|  Default |---|---|---|--- Set&lt;String&gt;|  <code>topicNames</code>|   Topic name| Sets.newTreeSet() Pattern|   <code>topicsPattern</code>| Topic pattern   |None String| <code>subscriptionName</code>| Subscription name|  None SubscriptionType| <code>subscriptionType</code>|   Subscription type <br/><br/>Three subscription types are available:<li>Exclusive</li><li>Failover</li><li>Shared</li>|SubscriptionType.Exclusive int | <c [...]
+<p>Type | Name| <div style="width:300px">Description</div>|  Default |---|---|---|--- Set&lt;String&gt;|  <code>topicNames</code>|   Topic name| Sets.newTreeSet() Pattern|   <code>topicsPattern</code>| Topic pattern   |None String| <code>subscriptionName</code>| Subscription name|  None SubscriptionType| <code>subscriptionType</code>|   Subscription type <br/><br/>Four subscription types are available:<li>Exclusive</li><li>Failover</li><li>Shared</li><li>Key_Shared</li>|SubscriptionType. [...]
 SortedMap&lt;String, String&gt;|<code>properties</code>|A name or value property of this consumer.<br/><br/><code>properties</code> is application defined metadata attached to a consumer. <br/><br/>When getting a topic stats, associate this metadata with the consumer stats for easier identification.|new TreeMap&lt;&gt;() boolean|<code>readCompacted</code>|If enabling <code>readCompacted</code>, a consumer reads messages from a compacted topic rather than reading a full message backlog of [...]
 <p>You can configure parameters if you do not want to use the default configuration. For a full list, see the Javadoc for the <a href="https://pulsar.incubator.apache.org/api/client/2.7.0-SNAPSHOT/org/apache/pulsar/client/api/ConsumerBuilder">ConsumerBuilder</a>
  class.</p>
diff --git a/content/docs/fr/2.5.2/client-libraries-node.html b/content/docs/fr/2.5.2/client-libraries-node.html
index 839bc5c..e4e1987 100644
--- a/content/docs/fr/2.5.2/client-libraries-node.html
+++ b/content/docs/fr/2.5.2/client-libraries-node.html
@@ -266,7 +266,7 @@ In this example, using await operator instead of executor function.</p>
 <tbody>
 <tr><td style="text-align:left"><code>topic</code></td><td style="text-align:left">The Pulsar <a href="/docs/fr/2.5.2/reference-terminology#topic">topic</a> on which the consumer will establish a subscription and listen for messages.</td><td style="text-align:left"></td></tr>
 <tr><td style="text-align:left"><code>subscription</code></td><td style="text-align:left">The subscription name for this consumer.</td><td style="text-align:left"></td></tr>
-<tr><td style="text-align:left"><code>subscriptionType</code></td><td style="text-align:left">Available options are <code>Exclusive</code>, <code>Shared</code>, and <code>Failover</code>.</td><td style="text-align:left"><code>Exclusive</code></td></tr>
+<tr><td style="text-align:left"><code>subscriptionType</code></td><td style="text-align:left">Available options are <code>Exclusive</code>, <code>Shared</code>, <code>Key_Shared</code>, and <code>Failover</code>.</td><td style="text-align:left"><code>Exclusive</code></td></tr>
 <tr><td style="text-align:left"><code>ackTimeoutMs</code></td><td style="text-align:left">Acknowledge timeout in milliseconds.</td><td style="text-align:left">0</td></tr>
 <tr><td style="text-align:left"><code>receiverQueueSize</code></td><td style="text-align:left">Sets the size of the consumer's receiver queue, i.e. the number of messages that can be accumulated by the consumer before the application calls <code>receive</code>. A value higher than the default of 1000 could increase consumer throughput, though at the expense of more memory utilization.</td><td style="text-align:left">1000</td></tr>
 <tr><td style="text-align:left"><code>receiverQueueSizeAcrossPartitions</code></td><td style="text-align:left">Set the max total receiver queue size across partitions. This setting will be used to reduce the receiver queue size for individual partitions if the total exceeds this value.</td><td style="text-align:left">50000</td></tr>
diff --git a/content/docs/fr/2.5.2/client-libraries-node/index.html b/content/docs/fr/2.5.2/client-libraries-node/index.html
index 839bc5c..e4e1987 100644
--- a/content/docs/fr/2.5.2/client-libraries-node/index.html
+++ b/content/docs/fr/2.5.2/client-libraries-node/index.html
@@ -266,7 +266,7 @@ In this example, using await operator instead of executor function.</p>
 <tbody>
 <tr><td style="text-align:left"><code>topic</code></td><td style="text-align:left">The Pulsar <a href="/docs/fr/2.5.2/reference-terminology#topic">topic</a> on which the consumer will establish a subscription and listen for messages.</td><td style="text-align:left"></td></tr>
 <tr><td style="text-align:left"><code>subscription</code></td><td style="text-align:left">The subscription name for this consumer.</td><td style="text-align:left"></td></tr>
-<tr><td style="text-align:left"><code>subscriptionType</code></td><td style="text-align:left">Available options are <code>Exclusive</code>, <code>Shared</code>, and <code>Failover</code>.</td><td style="text-align:left"><code>Exclusive</code></td></tr>
+<tr><td style="text-align:left"><code>subscriptionType</code></td><td style="text-align:left">Available options are <code>Exclusive</code>, <code>Shared</code>, <code>Key_Shared</code>, and <code>Failover</code>.</td><td style="text-align:left"><code>Exclusive</code></td></tr>
 <tr><td style="text-align:left"><code>ackTimeoutMs</code></td><td style="text-align:left">Acknowledge timeout in milliseconds.</td><td style="text-align:left">0</td></tr>
 <tr><td style="text-align:left"><code>receiverQueueSize</code></td><td style="text-align:left">Sets the size of the consumer's receiver queue, i.e. the number of messages that can be accumulated by the consumer before the application calls <code>receive</code>. A value higher than the default of 1000 could increase consumer throughput, though at the expense of more memory utilization.</td><td style="text-align:left">1000</td></tr>
 <tr><td style="text-align:left"><code>receiverQueueSizeAcrossPartitions</code></td><td style="text-align:left">Set the max total receiver queue size across partitions. This setting will be used to reduce the receiver queue size for individual partitions if the total exceeds this value.</td><td style="text-align:left">50000</td></tr>
diff --git a/content/docs/fr/2.5.2/reference-metrics.html b/content/docs/fr/2.5.2/reference-metrics.html
index 8fc884b..74e0951 100644
--- a/content/docs/fr/2.5.2/reference-metrics.html
+++ b/content/docs/fr/2.5.2/reference-metrics.html
@@ -131,8 +131,8 @@
 <tr><td>bookkeeper_server_READ_ENTRY_count</td><td>Counter</td><td>The total number of READ_ENTRY requests received at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
 <tr><td>bookie_WRITE_BYTES</td><td>Counter</td><td>The total number of bytes written to the bookie.</td></tr>
 <tr><td>bookie_READ_BYTES</td><td>Counter</td><td>The total number of bytes read from the bookie.</td></tr>
-<tr><td>bookkeeper_server_ADD_ENTRY_REQUEST</td><td>Histogram</td><td>The histogram of request latency of ADD_ENTRY requests at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
-<tr><td>bookkeeper_server_READ_ENTRY_REQUEST</td><td>Histogram</td><td>The histogram of request latency of READ_ENTRY requests at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
+<tr><td>bookkeeper_server_ADD_ENTRY_REQUEST</td><td>Summary</td><td>The summary of request latency of ADD_ENTRY requests at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
+<tr><td>bookkeeper_server_READ_ENTRY_REQUEST</td><td>Summary</td><td>The summary of request latency of READ_ENTRY requests at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
 </tbody>
 </table>
 <h3><a class="anchor" aria-hidden="true" id="journal-metrics"></a><a href="#journal-metrics" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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  [...]
@@ -145,8 +145,8 @@
 <tr><td>bookie_journal_JOURNAL_QUEUE_SIZE</td><td>Gauge</td><td>The total number of requests pending in the journal queue.</td></tr>
 <tr><td>bookie_journal_JOURNAL_FORCE_WRITE_QUEUE_SIZE</td><td>Gauge</td><td>The total number of force write (fsync) requests pending in the force-write queue.</td></tr>
 <tr><td>bookie_journal_JOURNAL_CB_QUEUE_SIZE</td><td>Gauge</td><td>The total number of callbacks pending in the callback queue.</td></tr>
-<tr><td>bookie_journal_JOURNAL_ADD_ENTRY</td><td>Histogram</td><td>The histogram of request latency of adding entries to the journal.</td></tr>
-<tr><td>bookie_journal_JOURNAL_SYNC</td><td>Histogram</td><td>The histogram of fsync latency of syncing data to the journal disk.</td></tr>
+<tr><td>bookie_journal_JOURNAL_ADD_ENTRY</td><td>Summary</td><td>The summary of request latency of adding entries to the journal.</td></tr>
+<tr><td>bookie_journal_JOURNAL_SYNC</td><td>Summary</td><td>The summary of fsync latency of syncing data to the journal disk.</td></tr>
 </tbody>
 </table>
 <h3><a class="anchor" aria-hidden="true" id="storage-metrics"></a><a href="#storage-metrics" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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  [...]
diff --git a/content/docs/fr/2.5.2/reference-metrics/index.html b/content/docs/fr/2.5.2/reference-metrics/index.html
index 8fc884b..74e0951 100644
--- a/content/docs/fr/2.5.2/reference-metrics/index.html
+++ b/content/docs/fr/2.5.2/reference-metrics/index.html
@@ -131,8 +131,8 @@
 <tr><td>bookkeeper_server_READ_ENTRY_count</td><td>Counter</td><td>The total number of READ_ENTRY requests received at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
 <tr><td>bookie_WRITE_BYTES</td><td>Counter</td><td>The total number of bytes written to the bookie.</td></tr>
 <tr><td>bookie_READ_BYTES</td><td>Counter</td><td>The total number of bytes read from the bookie.</td></tr>
-<tr><td>bookkeeper_server_ADD_ENTRY_REQUEST</td><td>Histogram</td><td>The histogram of request latency of ADD_ENTRY requests at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
-<tr><td>bookkeeper_server_READ_ENTRY_REQUEST</td><td>Histogram</td><td>The histogram of request latency of READ_ENTRY requests at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
+<tr><td>bookkeeper_server_ADD_ENTRY_REQUEST</td><td>Summary</td><td>The summary of request latency of ADD_ENTRY requests at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
+<tr><td>bookkeeper_server_READ_ENTRY_REQUEST</td><td>Summary</td><td>The summary of request latency of READ_ENTRY requests at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
 </tbody>
 </table>
 <h3><a class="anchor" aria-hidden="true" id="journal-metrics"></a><a href="#journal-metrics" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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  [...]
@@ -145,8 +145,8 @@
 <tr><td>bookie_journal_JOURNAL_QUEUE_SIZE</td><td>Gauge</td><td>The total number of requests pending in the journal queue.</td></tr>
 <tr><td>bookie_journal_JOURNAL_FORCE_WRITE_QUEUE_SIZE</td><td>Gauge</td><td>The total number of force write (fsync) requests pending in the force-write queue.</td></tr>
 <tr><td>bookie_journal_JOURNAL_CB_QUEUE_SIZE</td><td>Gauge</td><td>The total number of callbacks pending in the callback queue.</td></tr>
-<tr><td>bookie_journal_JOURNAL_ADD_ENTRY</td><td>Histogram</td><td>The histogram of request latency of adding entries to the journal.</td></tr>
-<tr><td>bookie_journal_JOURNAL_SYNC</td><td>Histogram</td><td>The histogram of fsync latency of syncing data to the journal disk.</td></tr>
+<tr><td>bookie_journal_JOURNAL_ADD_ENTRY</td><td>Summary</td><td>The summary of request latency of adding entries to the journal.</td></tr>
+<tr><td>bookie_journal_JOURNAL_SYNC</td><td>Summary</td><td>The summary of fsync latency of syncing data to the journal disk.</td></tr>
 </tbody>
 </table>
 <h3><a class="anchor" aria-hidden="true" id="storage-metrics"></a><a href="#storage-metrics" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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  [...]
diff --git a/content/docs/fr/2.6.0/client-libraries-java.html b/content/docs/fr/2.6.0/client-libraries-java.html
index d546ac8..1ac2e43 100644
--- a/content/docs/fr/2.6.0/client-libraries-java.html
+++ b/content/docs/fr/2.6.0/client-libraries-java.html
@@ -255,7 +255,7 @@ producer.closeAsync()
 <h3><a class="anchor" aria-hidden="true" id="configure-consumer"></a><a href="#configure-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- [...]
 <p>If you instantiate a <code>Consumer</code> object by specifying only a topic and subscription name as in the example above, the consumer uses the default configuration.</p>
 <p>When you create a consumer, you can use the <code>loadConf</code> configuration. The following parameters are available in <code>loadConf</code>.</p>
-<p>Type | Name| <div style="width:300px">Description</div>|  Default |---|---|---|--- Set&lt;String&gt;|  <code>topicNames</code>|   Topic name| Sets.newTreeSet() Pattern|   <code>topicsPattern</code>| Topic pattern   |None String| <code>subscriptionName</code>| Subscription name|  None SubscriptionType| <code>subscriptionType</code>|   Subscription type <br/><br/>Three subscription types are available:<li>Exclusive</li><li>Failover</li><li>Shared</li>|SubscriptionType.Exclusive int | <c [...]
+<p>Type | Name| <div style="width:300px">Description</div>|  Default |---|---|---|--- Set&lt;String&gt;|  <code>topicNames</code>|   Topic name| Sets.newTreeSet() Pattern|   <code>topicsPattern</code>| Topic pattern   |None String| <code>subscriptionName</code>| Subscription name|  None SubscriptionType| <code>subscriptionType</code>|   Subscription type <br/><br/>Four subscription types are available:<li>Exclusive</li><li>Failover</li><li>Shared</li><li>Key_Shared</li>|SubscriptionType. [...]
 SortedMap&lt;String, String&gt;|<code>properties</code>|A name or value property of this consumer.<br/><br/><code>properties</code> is application defined metadata attached to a consumer. <br/><br/>When getting a topic stats, associate this metadata with the consumer stats for easier identification.|new TreeMap&lt;&gt;() boolean|<code>readCompacted</code>|If enabling <code>readCompacted</code>, a consumer reads messages from a compacted topic rather than reading a full message backlog of [...]
 <p>You can configure parameters if you do not want to use the default configuration. For a full list, see the Javadoc for the <a href="https://pulsar.incubator.apache.org/api/client/2.7.0-SNAPSHOT/org/apache/pulsar/client/api/ConsumerBuilder">ConsumerBuilder</a>
  class.</p>
diff --git a/content/docs/fr/2.6.0/client-libraries-java/index.html b/content/docs/fr/2.6.0/client-libraries-java/index.html
index d546ac8..1ac2e43 100644
--- a/content/docs/fr/2.6.0/client-libraries-java/index.html
+++ b/content/docs/fr/2.6.0/client-libraries-java/index.html
@@ -255,7 +255,7 @@ producer.closeAsync()
 <h3><a class="anchor" aria-hidden="true" id="configure-consumer"></a><a href="#configure-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- [...]
 <p>If you instantiate a <code>Consumer</code> object by specifying only a topic and subscription name as in the example above, the consumer uses the default configuration.</p>
 <p>When you create a consumer, you can use the <code>loadConf</code> configuration. The following parameters are available in <code>loadConf</code>.</p>
-<p>Type | Name| <div style="width:300px">Description</div>|  Default |---|---|---|--- Set&lt;String&gt;|  <code>topicNames</code>|   Topic name| Sets.newTreeSet() Pattern|   <code>topicsPattern</code>| Topic pattern   |None String| <code>subscriptionName</code>| Subscription name|  None SubscriptionType| <code>subscriptionType</code>|   Subscription type <br/><br/>Three subscription types are available:<li>Exclusive</li><li>Failover</li><li>Shared</li>|SubscriptionType.Exclusive int | <c [...]
+<p>Type | Name| <div style="width:300px">Description</div>|  Default |---|---|---|--- Set&lt;String&gt;|  <code>topicNames</code>|   Topic name| Sets.newTreeSet() Pattern|   <code>topicsPattern</code>| Topic pattern   |None String| <code>subscriptionName</code>| Subscription name|  None SubscriptionType| <code>subscriptionType</code>|   Subscription type <br/><br/>Four subscription types are available:<li>Exclusive</li><li>Failover</li><li>Shared</li><li>Key_Shared</li>|SubscriptionType. [...]
 SortedMap&lt;String, String&gt;|<code>properties</code>|A name or value property of this consumer.<br/><br/><code>properties</code> is application defined metadata attached to a consumer. <br/><br/>When getting a topic stats, associate this metadata with the consumer stats for easier identification.|new TreeMap&lt;&gt;() boolean|<code>readCompacted</code>|If enabling <code>readCompacted</code>, a consumer reads messages from a compacted topic rather than reading a full message backlog of [...]
 <p>You can configure parameters if you do not want to use the default configuration. For a full list, see the Javadoc for the <a href="https://pulsar.incubator.apache.org/api/client/2.7.0-SNAPSHOT/org/apache/pulsar/client/api/ConsumerBuilder">ConsumerBuilder</a>
  class.</p>
diff --git a/content/docs/fr/2.6.0/client-libraries-node.html b/content/docs/fr/2.6.0/client-libraries-node.html
index bd6bba9..1f2a7c5 100644
--- a/content/docs/fr/2.6.0/client-libraries-node.html
+++ b/content/docs/fr/2.6.0/client-libraries-node.html
@@ -266,7 +266,7 @@ In this example, using await operator instead of executor function.</p>
 <tbody>
 <tr><td style="text-align:left"><code>topic</code></td><td style="text-align:left">The Pulsar <a href="/docs/fr/2.6.0/reference-terminology#topic">topic</a> on which the consumer will establish a subscription and listen for messages.</td><td style="text-align:left"></td></tr>
 <tr><td style="text-align:left"><code>subscription</code></td><td style="text-align:left">The subscription name for this consumer.</td><td style="text-align:left"></td></tr>
-<tr><td style="text-align:left"><code>subscriptionType</code></td><td style="text-align:left">Available options are <code>Exclusive</code>, <code>Shared</code>, and <code>Failover</code>.</td><td style="text-align:left"><code>Exclusive</code></td></tr>
+<tr><td style="text-align:left"><code>subscriptionType</code></td><td style="text-align:left">Available options are <code>Exclusive</code>, <code>Shared</code>, <code>Key_Shared</code>, and <code>Failover</code>.</td><td style="text-align:left"><code>Exclusive</code></td></tr>
 <tr><td style="text-align:left"><code>ackTimeoutMs</code></td><td style="text-align:left">Acknowledge timeout in milliseconds.</td><td style="text-align:left">0</td></tr>
 <tr><td style="text-align:left"><code>receiverQueueSize</code></td><td style="text-align:left">Sets the size of the consumer's receiver queue, i.e. the number of messages that can be accumulated by the consumer before the application calls <code>receive</code>. A value higher than the default of 1000 could increase consumer throughput, though at the expense of more memory utilization.</td><td style="text-align:left">1000</td></tr>
 <tr><td style="text-align:left"><code>receiverQueueSizeAcrossPartitions</code></td><td style="text-align:left">Set the max total receiver queue size across partitions. This setting will be used to reduce the receiver queue size for individual partitions if the total exceeds this value.</td><td style="text-align:left">50000</td></tr>
diff --git a/content/docs/fr/2.6.0/client-libraries-node/index.html b/content/docs/fr/2.6.0/client-libraries-node/index.html
index bd6bba9..1f2a7c5 100644
--- a/content/docs/fr/2.6.0/client-libraries-node/index.html
+++ b/content/docs/fr/2.6.0/client-libraries-node/index.html
@@ -266,7 +266,7 @@ In this example, using await operator instead of executor function.</p>
 <tbody>
 <tr><td style="text-align:left"><code>topic</code></td><td style="text-align:left">The Pulsar <a href="/docs/fr/2.6.0/reference-terminology#topic">topic</a> on which the consumer will establish a subscription and listen for messages.</td><td style="text-align:left"></td></tr>
 <tr><td style="text-align:left"><code>subscription</code></td><td style="text-align:left">The subscription name for this consumer.</td><td style="text-align:left"></td></tr>
-<tr><td style="text-align:left"><code>subscriptionType</code></td><td style="text-align:left">Available options are <code>Exclusive</code>, <code>Shared</code>, and <code>Failover</code>.</td><td style="text-align:left"><code>Exclusive</code></td></tr>
+<tr><td style="text-align:left"><code>subscriptionType</code></td><td style="text-align:left">Available options are <code>Exclusive</code>, <code>Shared</code>, <code>Key_Shared</code>, and <code>Failover</code>.</td><td style="text-align:left"><code>Exclusive</code></td></tr>
 <tr><td style="text-align:left"><code>ackTimeoutMs</code></td><td style="text-align:left">Acknowledge timeout in milliseconds.</td><td style="text-align:left">0</td></tr>
 <tr><td style="text-align:left"><code>receiverQueueSize</code></td><td style="text-align:left">Sets the size of the consumer's receiver queue, i.e. the number of messages that can be accumulated by the consumer before the application calls <code>receive</code>. A value higher than the default of 1000 could increase consumer throughput, though at the expense of more memory utilization.</td><td style="text-align:left">1000</td></tr>
 <tr><td style="text-align:left"><code>receiverQueueSizeAcrossPartitions</code></td><td style="text-align:left">Set the max total receiver queue size across partitions. This setting will be used to reduce the receiver queue size for individual partitions if the total exceeds this value.</td><td style="text-align:left">50000</td></tr>
diff --git a/content/docs/fr/2.6.0/client-libraries-websocket.html b/content/docs/fr/2.6.0/client-libraries-websocket.html
index 11897d5..3d0348b 100644
--- a/content/docs/fr/2.6.0/client-libraries-websocket.html
+++ b/content/docs/fr/2.6.0/client-libraries-websocket.html
@@ -184,7 +184,7 @@
 </thead>
 <tbody>
 <tr><td style="text-align:left"><code>ackTimeoutMillis</code></td><td style="text-align:left">long</td><td style="text-align:left">no</td><td style="text-align:left">Set the timeout for unacked messages (default: 0)</td></tr>
-<tr><td style="text-align:left"><code>subscriptionType</code></td><td style="text-align:left">string</td><td style="text-align:left">no</td><td style="text-align:left"><a href="https://pulsar.apache.org/api/client/2.7.0-SNAPSHOT/index.html?org/apache/pulsar/client/api/SubscriptionType.html">Subscription type</a>: <code>Exclusive</code>, <code>Failover</code>, <code>Shared</code></td></tr>
+<tr><td style="text-align:left"><code>subscriptionType</code></td><td style="text-align:left">string</td><td style="text-align:left">no</td><td style="text-align:left"><a href="https://pulsar.apache.org/api/client/2.7.0-SNAPSHOT/index.html?org/apache/pulsar/client/api/SubscriptionType.html">Subscription type</a>: <code>Exclusive</code>, <code>Failover</code>, <code>Shared</code>, <code>Key_Shared</code></td></tr>
 <tr><td style="text-align:left"><code>receiverQueueSize</code></td><td style="text-align:left">int</td><td style="text-align:left">no</td><td style="text-align:left">Size of the consumer receive queue (default: 1000)</td></tr>
 <tr><td style="text-align:left"><code>consumerName</code></td><td style="text-align:left">string</td><td style="text-align:left">no</td><td style="text-align:left">Consumer name</td></tr>
 <tr><td style="text-align:left"><code>priorityLevel</code></td><td style="text-align:left">int</td><td style="text-align:left">no</td><td style="text-align:left">Define a <a href="http://pulsar.apache.org/api/client/2.7.0-SNAPSHOT/org/apache/pulsar/client/api/ConsumerConfiguration.html#setPriorityLevel-int-">priority</a> for the consumer</td></tr>
diff --git a/content/docs/fr/2.6.0/client-libraries-websocket/index.html b/content/docs/fr/2.6.0/client-libraries-websocket/index.html
index 11897d5..3d0348b 100644
--- a/content/docs/fr/2.6.0/client-libraries-websocket/index.html
+++ b/content/docs/fr/2.6.0/client-libraries-websocket/index.html
@@ -184,7 +184,7 @@
 </thead>
 <tbody>
 <tr><td style="text-align:left"><code>ackTimeoutMillis</code></td><td style="text-align:left">long</td><td style="text-align:left">no</td><td style="text-align:left">Set the timeout for unacked messages (default: 0)</td></tr>
-<tr><td style="text-align:left"><code>subscriptionType</code></td><td style="text-align:left">string</td><td style="text-align:left">no</td><td style="text-align:left"><a href="https://pulsar.apache.org/api/client/2.7.0-SNAPSHOT/index.html?org/apache/pulsar/client/api/SubscriptionType.html">Subscription type</a>: <code>Exclusive</code>, <code>Failover</code>, <code>Shared</code></td></tr>
+<tr><td style="text-align:left"><code>subscriptionType</code></td><td style="text-align:left">string</td><td style="text-align:left">no</td><td style="text-align:left"><a href="https://pulsar.apache.org/api/client/2.7.0-SNAPSHOT/index.html?org/apache/pulsar/client/api/SubscriptionType.html">Subscription type</a>: <code>Exclusive</code>, <code>Failover</code>, <code>Shared</code>, <code>Key_Shared</code></td></tr>
 <tr><td style="text-align:left"><code>receiverQueueSize</code></td><td style="text-align:left">int</td><td style="text-align:left">no</td><td style="text-align:left">Size of the consumer receive queue (default: 1000)</td></tr>
 <tr><td style="text-align:left"><code>consumerName</code></td><td style="text-align:left">string</td><td style="text-align:left">no</td><td style="text-align:left">Consumer name</td></tr>
 <tr><td style="text-align:left"><code>priorityLevel</code></td><td style="text-align:left">int</td><td style="text-align:left">no</td><td style="text-align:left">Define a <a href="http://pulsar.apache.org/api/client/2.7.0-SNAPSHOT/org/apache/pulsar/client/api/ConsumerConfiguration.html#setPriorityLevel-int-">priority</a> for the consumer</td></tr>
diff --git a/content/docs/fr/2.6.0/reference-metrics.html b/content/docs/fr/2.6.0/reference-metrics.html
index 557ea23..f6103d7 100644
--- a/content/docs/fr/2.6.0/reference-metrics.html
+++ b/content/docs/fr/2.6.0/reference-metrics.html
@@ -134,8 +134,8 @@
 <tr><td>bookkeeper_server_READ_ENTRY_count</td><td>Counter</td><td>The total number of READ_ENTRY requests received at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
 <tr><td>bookie_WRITE_BYTES</td><td>Counter</td><td>The total number of bytes written to the bookie.</td></tr>
 <tr><td>bookie_READ_BYTES</td><td>Counter</td><td>The total number of bytes read from the bookie.</td></tr>
-<tr><td>bookkeeper_server_ADD_ENTRY_REQUEST</td><td>Histogram</td><td>The histogram of request latency of ADD_ENTRY requests at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
-<tr><td>bookkeeper_server_READ_ENTRY_REQUEST</td><td>Histogram</td><td>The histogram of request latency of READ_ENTRY requests at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
+<tr><td>bookkeeper_server_ADD_ENTRY_REQUEST</td><td>Summary</td><td>The summary of request latency of ADD_ENTRY requests at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
+<tr><td>bookkeeper_server_READ_ENTRY_REQUEST</td><td>Summary</td><td>The summary of request latency of READ_ENTRY requests at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
 </tbody>
 </table>
 <h3><a class="anchor" aria-hidden="true" id="journal-metrics"></a><a href="#journal-metrics" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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  [...]
@@ -148,8 +148,8 @@
 <tr><td>bookie_journal_JOURNAL_QUEUE_SIZE</td><td>Gauge</td><td>The total number of requests pending in the journal queue.</td></tr>
 <tr><td>bookie_journal_JOURNAL_FORCE_WRITE_QUEUE_SIZE</td><td>Gauge</td><td>The total number of force write (fsync) requests pending in the force-write queue.</td></tr>
 <tr><td>bookie_journal_JOURNAL_CB_QUEUE_SIZE</td><td>Gauge</td><td>The total number of callbacks pending in the callback queue.</td></tr>
-<tr><td>bookie_journal_JOURNAL_ADD_ENTRY</td><td>Histogram</td><td>The histogram of request latency of adding entries to the journal.</td></tr>
-<tr><td>bookie_journal_JOURNAL_SYNC</td><td>Histogram</td><td>The histogram of fsync latency of syncing data to the journal disk.</td></tr>
+<tr><td>bookie_journal_JOURNAL_ADD_ENTRY</td><td>Summary</td><td>The summary of request latency of adding entries to the journal.</td></tr>
+<tr><td>bookie_journal_JOURNAL_SYNC</td><td>Summary</td><td>The summary of fsync latency of syncing data to the journal disk.</td></tr>
 </tbody>
 </table>
 <h3><a class="anchor" aria-hidden="true" id="storage-metrics"></a><a href="#storage-metrics" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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  [...]
diff --git a/content/docs/fr/2.6.0/reference-metrics/index.html b/content/docs/fr/2.6.0/reference-metrics/index.html
index 557ea23..f6103d7 100644
--- a/content/docs/fr/2.6.0/reference-metrics/index.html
+++ b/content/docs/fr/2.6.0/reference-metrics/index.html
@@ -134,8 +134,8 @@
 <tr><td>bookkeeper_server_READ_ENTRY_count</td><td>Counter</td><td>The total number of READ_ENTRY requests received at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
 <tr><td>bookie_WRITE_BYTES</td><td>Counter</td><td>The total number of bytes written to the bookie.</td></tr>
 <tr><td>bookie_READ_BYTES</td><td>Counter</td><td>The total number of bytes read from the bookie.</td></tr>
-<tr><td>bookkeeper_server_ADD_ENTRY_REQUEST</td><td>Histogram</td><td>The histogram of request latency of ADD_ENTRY requests at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
-<tr><td>bookkeeper_server_READ_ENTRY_REQUEST</td><td>Histogram</td><td>The histogram of request latency of READ_ENTRY requests at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
+<tr><td>bookkeeper_server_ADD_ENTRY_REQUEST</td><td>Summary</td><td>The summary of request latency of ADD_ENTRY requests at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
+<tr><td>bookkeeper_server_READ_ENTRY_REQUEST</td><td>Summary</td><td>The summary of request latency of READ_ENTRY requests at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
 </tbody>
 </table>
 <h3><a class="anchor" aria-hidden="true" id="journal-metrics"></a><a href="#journal-metrics" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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  [...]
@@ -148,8 +148,8 @@
 <tr><td>bookie_journal_JOURNAL_QUEUE_SIZE</td><td>Gauge</td><td>The total number of requests pending in the journal queue.</td></tr>
 <tr><td>bookie_journal_JOURNAL_FORCE_WRITE_QUEUE_SIZE</td><td>Gauge</td><td>The total number of force write (fsync) requests pending in the force-write queue.</td></tr>
 <tr><td>bookie_journal_JOURNAL_CB_QUEUE_SIZE</td><td>Gauge</td><td>The total number of callbacks pending in the callback queue.</td></tr>
-<tr><td>bookie_journal_JOURNAL_ADD_ENTRY</td><td>Histogram</td><td>The histogram of request latency of adding entries to the journal.</td></tr>
-<tr><td>bookie_journal_JOURNAL_SYNC</td><td>Histogram</td><td>The histogram of fsync latency of syncing data to the journal disk.</td></tr>
+<tr><td>bookie_journal_JOURNAL_ADD_ENTRY</td><td>Summary</td><td>The summary of request latency of adding entries to the journal.</td></tr>
+<tr><td>bookie_journal_JOURNAL_SYNC</td><td>Summary</td><td>The summary of fsync latency of syncing data to the journal disk.</td></tr>
 </tbody>
 </table>
 <h3><a class="anchor" aria-hidden="true" id="storage-metrics"></a><a href="#storage-metrics" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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  [...]
diff --git a/content/docs/fr/2.6.1/client-libraries-java.html b/content/docs/fr/2.6.1/client-libraries-java.html
index 447190e..b4144a5 100644
--- a/content/docs/fr/2.6.1/client-libraries-java.html
+++ b/content/docs/fr/2.6.1/client-libraries-java.html
@@ -255,7 +255,7 @@ producer.closeAsync()
 <h3><a class="anchor" aria-hidden="true" id="configure-consumer"></a><a href="#configure-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- [...]
 <p>If you instantiate a <code>Consumer</code> object by specifying only a topic and subscription name as in the example above, the consumer uses the default configuration.</p>
 <p>When you create a consumer, you can use the <code>loadConf</code> configuration. The following parameters are available in <code>loadConf</code>.</p>
-<p>Type | Name| <div style="width:300px">Description</div>|  Default |---|---|---|--- Set&lt;String&gt;|  <code>topicNames</code>|   Topic name| Sets.newTreeSet() Pattern|   <code>topicsPattern</code>| Topic pattern   |None String| <code>subscriptionName</code>| Subscription name|  None SubscriptionType| <code>subscriptionType</code>|   Subscription type <br/><br/>Three subscription types are available:<li>Exclusive</li><li>Failover</li><li>Shared</li>|SubscriptionType.Exclusive int | <c [...]
+<p>Type | Name| <div style="width:300px">Description</div>|  Default |---|---|---|--- Set&lt;String&gt;|  <code>topicNames</code>|   Topic name| Sets.newTreeSet() Pattern|   <code>topicsPattern</code>| Topic pattern   |None String| <code>subscriptionName</code>| Subscription name|  None SubscriptionType| <code>subscriptionType</code>|   Subscription type <br/><br/>Four subscription types are available:<li>Exclusive</li><li>Failover</li><li>Shared</li><li>Key_Shared</li>|SubscriptionType. [...]
 SortedMap&lt;String, String&gt;|<code>properties</code>|A name or value property of this consumer.<br/><br/><code>properties</code> is application defined metadata attached to a consumer. <br/><br/>When getting a topic stats, associate this metadata with the consumer stats for easier identification.|new TreeMap&lt;&gt;() boolean|<code>readCompacted</code>|If enabling <code>readCompacted</code>, a consumer reads messages from a compacted topic rather than reading a full message backlog of [...]
 <p>You can configure parameters if you do not want to use the default configuration. For a full list, see the Javadoc for the <a href="https://pulsar.incubator.apache.org/api/client/2.7.0-SNAPSHOT/org/apache/pulsar/client/api/ConsumerBuilder">ConsumerBuilder</a>
  class.</p>
diff --git a/content/docs/fr/2.6.1/client-libraries-java/index.html b/content/docs/fr/2.6.1/client-libraries-java/index.html
index 447190e..b4144a5 100644
--- a/content/docs/fr/2.6.1/client-libraries-java/index.html
+++ b/content/docs/fr/2.6.1/client-libraries-java/index.html
@@ -255,7 +255,7 @@ producer.closeAsync()
 <h3><a class="anchor" aria-hidden="true" id="configure-consumer"></a><a href="#configure-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- [...]
 <p>If you instantiate a <code>Consumer</code> object by specifying only a topic and subscription name as in the example above, the consumer uses the default configuration.</p>
 <p>When you create a consumer, you can use the <code>loadConf</code> configuration. The following parameters are available in <code>loadConf</code>.</p>
-<p>Type | Name| <div style="width:300px">Description</div>|  Default |---|---|---|--- Set&lt;String&gt;|  <code>topicNames</code>|   Topic name| Sets.newTreeSet() Pattern|   <code>topicsPattern</code>| Topic pattern   |None String| <code>subscriptionName</code>| Subscription name|  None SubscriptionType| <code>subscriptionType</code>|   Subscription type <br/><br/>Three subscription types are available:<li>Exclusive</li><li>Failover</li><li>Shared</li>|SubscriptionType.Exclusive int | <c [...]
+<p>Type | Name| <div style="width:300px">Description</div>|  Default |---|---|---|--- Set&lt;String&gt;|  <code>topicNames</code>|   Topic name| Sets.newTreeSet() Pattern|   <code>topicsPattern</code>| Topic pattern   |None String| <code>subscriptionName</code>| Subscription name|  None SubscriptionType| <code>subscriptionType</code>|   Subscription type <br/><br/>Four subscription types are available:<li>Exclusive</li><li>Failover</li><li>Shared</li><li>Key_Shared</li>|SubscriptionType. [...]
 SortedMap&lt;String, String&gt;|<code>properties</code>|A name or value property of this consumer.<br/><br/><code>properties</code> is application defined metadata attached to a consumer. <br/><br/>When getting a topic stats, associate this metadata with the consumer stats for easier identification.|new TreeMap&lt;&gt;() boolean|<code>readCompacted</code>|If enabling <code>readCompacted</code>, a consumer reads messages from a compacted topic rather than reading a full message backlog of [...]
 <p>You can configure parameters if you do not want to use the default configuration. For a full list, see the Javadoc for the <a href="https://pulsar.incubator.apache.org/api/client/2.7.0-SNAPSHOT/org/apache/pulsar/client/api/ConsumerBuilder">ConsumerBuilder</a>
  class.</p>
diff --git a/content/docs/fr/2.6.1/client-libraries-node.html b/content/docs/fr/2.6.1/client-libraries-node.html
index cfee4df..c36d8c3 100644
--- a/content/docs/fr/2.6.1/client-libraries-node.html
+++ b/content/docs/fr/2.6.1/client-libraries-node.html
@@ -266,7 +266,7 @@ In this example, using await operator instead of executor function.</p>
 <tbody>
 <tr><td style="text-align:left"><code>topic</code></td><td style="text-align:left">The Pulsar <a href="/docs/fr/2.6.1/reference-terminology#topic">topic</a> on which the consumer will establish a subscription and listen for messages.</td><td style="text-align:left"></td></tr>
 <tr><td style="text-align:left"><code>subscription</code></td><td style="text-align:left">The subscription name for this consumer.</td><td style="text-align:left"></td></tr>
-<tr><td style="text-align:left"><code>subscriptionType</code></td><td style="text-align:left">Available options are <code>Exclusive</code>, <code>Shared</code>, and <code>Failover</code>.</td><td style="text-align:left"><code>Exclusive</code></td></tr>
+<tr><td style="text-align:left"><code>subscriptionType</code></td><td style="text-align:left">Available options are <code>Exclusive</code>, <code>Shared</code>, <code>Key_Shared</code>, and <code>Failover</code>.</td><td style="text-align:left"><code>Exclusive</code></td></tr>
 <tr><td style="text-align:left"><code>ackTimeoutMs</code></td><td style="text-align:left">Acknowledge timeout in milliseconds.</td><td style="text-align:left">0</td></tr>
 <tr><td style="text-align:left"><code>receiverQueueSize</code></td><td style="text-align:left">Sets the size of the consumer's receiver queue, i.e. the number of messages that can be accumulated by the consumer before the application calls <code>receive</code>. A value higher than the default of 1000 could increase consumer throughput, though at the expense of more memory utilization.</td><td style="text-align:left">1000</td></tr>
 <tr><td style="text-align:left"><code>receiverQueueSizeAcrossPartitions</code></td><td style="text-align:left">Set the max total receiver queue size across partitions. This setting will be used to reduce the receiver queue size for individual partitions if the total exceeds this value.</td><td style="text-align:left">50000</td></tr>
diff --git a/content/docs/fr/2.6.1/client-libraries-node/index.html b/content/docs/fr/2.6.1/client-libraries-node/index.html
index cfee4df..c36d8c3 100644
--- a/content/docs/fr/2.6.1/client-libraries-node/index.html
+++ b/content/docs/fr/2.6.1/client-libraries-node/index.html
@@ -266,7 +266,7 @@ In this example, using await operator instead of executor function.</p>
 <tbody>
 <tr><td style="text-align:left"><code>topic</code></td><td style="text-align:left">The Pulsar <a href="/docs/fr/2.6.1/reference-terminology#topic">topic</a> on which the consumer will establish a subscription and listen for messages.</td><td style="text-align:left"></td></tr>
 <tr><td style="text-align:left"><code>subscription</code></td><td style="text-align:left">The subscription name for this consumer.</td><td style="text-align:left"></td></tr>
-<tr><td style="text-align:left"><code>subscriptionType</code></td><td style="text-align:left">Available options are <code>Exclusive</code>, <code>Shared</code>, and <code>Failover</code>.</td><td style="text-align:left"><code>Exclusive</code></td></tr>
+<tr><td style="text-align:left"><code>subscriptionType</code></td><td style="text-align:left">Available options are <code>Exclusive</code>, <code>Shared</code>, <code>Key_Shared</code>, and <code>Failover</code>.</td><td style="text-align:left"><code>Exclusive</code></td></tr>
 <tr><td style="text-align:left"><code>ackTimeoutMs</code></td><td style="text-align:left">Acknowledge timeout in milliseconds.</td><td style="text-align:left">0</td></tr>
 <tr><td style="text-align:left"><code>receiverQueueSize</code></td><td style="text-align:left">Sets the size of the consumer's receiver queue, i.e. the number of messages that can be accumulated by the consumer before the application calls <code>receive</code>. A value higher than the default of 1000 could increase consumer throughput, though at the expense of more memory utilization.</td><td style="text-align:left">1000</td></tr>
 <tr><td style="text-align:left"><code>receiverQueueSizeAcrossPartitions</code></td><td style="text-align:left">Set the max total receiver queue size across partitions. This setting will be used to reduce the receiver queue size for individual partitions if the total exceeds this value.</td><td style="text-align:left">50000</td></tr>
diff --git a/content/docs/fr/2.6.1/client-libraries-websocket.html b/content/docs/fr/2.6.1/client-libraries-websocket.html
index e30df36..ec83c1f 100644
--- a/content/docs/fr/2.6.1/client-libraries-websocket.html
+++ b/content/docs/fr/2.6.1/client-libraries-websocket.html
@@ -184,7 +184,7 @@
 </thead>
 <tbody>
 <tr><td style="text-align:left"><code>ackTimeoutMillis</code></td><td style="text-align:left">long</td><td style="text-align:left">no</td><td style="text-align:left">Set the timeout for unacked messages (default: 0)</td></tr>
-<tr><td style="text-align:left"><code>subscriptionType</code></td><td style="text-align:left">string</td><td style="text-align:left">no</td><td style="text-align:left"><a href="https://pulsar.apache.org/api/client/2.7.0-SNAPSHOT/index.html?org/apache/pulsar/client/api/SubscriptionType.html">Subscription type</a>: <code>Exclusive</code>, <code>Failover</code>, <code>Shared</code></td></tr>
+<tr><td style="text-align:left"><code>subscriptionType</code></td><td style="text-align:left">string</td><td style="text-align:left">no</td><td style="text-align:left"><a href="https://pulsar.apache.org/api/client/2.7.0-SNAPSHOT/index.html?org/apache/pulsar/client/api/SubscriptionType.html">Subscription type</a>: <code>Exclusive</code>, <code>Failover</code>, <code>Shared</code>, <code>Key_Shared</code></td></tr>
 <tr><td style="text-align:left"><code>receiverQueueSize</code></td><td style="text-align:left">int</td><td style="text-align:left">no</td><td style="text-align:left">Size of the consumer receive queue (default: 1000)</td></tr>
 <tr><td style="text-align:left"><code>consumerName</code></td><td style="text-align:left">string</td><td style="text-align:left">no</td><td style="text-align:left">Consumer name</td></tr>
 <tr><td style="text-align:left"><code>priorityLevel</code></td><td style="text-align:left">int</td><td style="text-align:left">no</td><td style="text-align:left">Define a <a href="http://pulsar.apache.org/api/client/2.7.0-SNAPSHOT/org/apache/pulsar/client/api/ConsumerConfiguration.html#setPriorityLevel-int-">priority</a> for the consumer</td></tr>
diff --git a/content/docs/fr/2.6.1/client-libraries-websocket/index.html b/content/docs/fr/2.6.1/client-libraries-websocket/index.html
index e30df36..ec83c1f 100644
--- a/content/docs/fr/2.6.1/client-libraries-websocket/index.html
+++ b/content/docs/fr/2.6.1/client-libraries-websocket/index.html
@@ -184,7 +184,7 @@
 </thead>
 <tbody>
 <tr><td style="text-align:left"><code>ackTimeoutMillis</code></td><td style="text-align:left">long</td><td style="text-align:left">no</td><td style="text-align:left">Set the timeout for unacked messages (default: 0)</td></tr>
-<tr><td style="text-align:left"><code>subscriptionType</code></td><td style="text-align:left">string</td><td style="text-align:left">no</td><td style="text-align:left"><a href="https://pulsar.apache.org/api/client/2.7.0-SNAPSHOT/index.html?org/apache/pulsar/client/api/SubscriptionType.html">Subscription type</a>: <code>Exclusive</code>, <code>Failover</code>, <code>Shared</code></td></tr>
+<tr><td style="text-align:left"><code>subscriptionType</code></td><td style="text-align:left">string</td><td style="text-align:left">no</td><td style="text-align:left"><a href="https://pulsar.apache.org/api/client/2.7.0-SNAPSHOT/index.html?org/apache/pulsar/client/api/SubscriptionType.html">Subscription type</a>: <code>Exclusive</code>, <code>Failover</code>, <code>Shared</code>, <code>Key_Shared</code></td></tr>
 <tr><td style="text-align:left"><code>receiverQueueSize</code></td><td style="text-align:left">int</td><td style="text-align:left">no</td><td style="text-align:left">Size of the consumer receive queue (default: 1000)</td></tr>
 <tr><td style="text-align:left"><code>consumerName</code></td><td style="text-align:left">string</td><td style="text-align:left">no</td><td style="text-align:left">Consumer name</td></tr>
 <tr><td style="text-align:left"><code>priorityLevel</code></td><td style="text-align:left">int</td><td style="text-align:left">no</td><td style="text-align:left">Define a <a href="http://pulsar.apache.org/api/client/2.7.0-SNAPSHOT/org/apache/pulsar/client/api/ConsumerConfiguration.html#setPriorityLevel-int-">priority</a> for the consumer</td></tr>
diff --git a/content/docs/fr/2.6.1/reference-metrics.html b/content/docs/fr/2.6.1/reference-metrics.html
index c4ad481..6a63c6b 100644
--- a/content/docs/fr/2.6.1/reference-metrics.html
+++ b/content/docs/fr/2.6.1/reference-metrics.html
@@ -134,8 +134,8 @@
 <tr><td>bookkeeper_server_READ_ENTRY_count</td><td>Counter</td><td>The total number of READ_ENTRY requests received at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
 <tr><td>bookie_WRITE_BYTES</td><td>Counter</td><td>The total number of bytes written to the bookie.</td></tr>
 <tr><td>bookie_READ_BYTES</td><td>Counter</td><td>The total number of bytes read from the bookie.</td></tr>
-<tr><td>bookkeeper_server_ADD_ENTRY_REQUEST</td><td>Histogram</td><td>The histogram of request latency of ADD_ENTRY requests at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
-<tr><td>bookkeeper_server_READ_ENTRY_REQUEST</td><td>Histogram</td><td>The histogram of request latency of READ_ENTRY requests at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
+<tr><td>bookkeeper_server_ADD_ENTRY_REQUEST</td><td>Summary</td><td>The summary of request latency of ADD_ENTRY requests at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
+<tr><td>bookkeeper_server_READ_ENTRY_REQUEST</td><td>Summary</td><td>The summary of request latency of READ_ENTRY requests at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
 </tbody>
 </table>
 <h3><a class="anchor" aria-hidden="true" id="journal-metrics"></a><a href="#journal-metrics" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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  [...]
@@ -148,8 +148,8 @@
 <tr><td>bookie_journal_JOURNAL_QUEUE_SIZE</td><td>Gauge</td><td>The total number of requests pending in the journal queue.</td></tr>
 <tr><td>bookie_journal_JOURNAL_FORCE_WRITE_QUEUE_SIZE</td><td>Gauge</td><td>The total number of force write (fsync) requests pending in the force-write queue.</td></tr>
 <tr><td>bookie_journal_JOURNAL_CB_QUEUE_SIZE</td><td>Gauge</td><td>The total number of callbacks pending in the callback queue.</td></tr>
-<tr><td>bookie_journal_JOURNAL_ADD_ENTRY</td><td>Histogram</td><td>The histogram of request latency of adding entries to the journal.</td></tr>
-<tr><td>bookie_journal_JOURNAL_SYNC</td><td>Histogram</td><td>The histogram of fsync latency of syncing data to the journal disk.</td></tr>
+<tr><td>bookie_journal_JOURNAL_ADD_ENTRY</td><td>Summary</td><td>The summary of request latency of adding entries to the journal.</td></tr>
+<tr><td>bookie_journal_JOURNAL_SYNC</td><td>Summary</td><td>The summary of fsync latency of syncing data to the journal disk.</td></tr>
 </tbody>
 </table>
 <h3><a class="anchor" aria-hidden="true" id="storage-metrics"></a><a href="#storage-metrics" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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  [...]
diff --git a/content/docs/fr/2.6.1/reference-metrics/index.html b/content/docs/fr/2.6.1/reference-metrics/index.html
index c4ad481..6a63c6b 100644
--- a/content/docs/fr/2.6.1/reference-metrics/index.html
+++ b/content/docs/fr/2.6.1/reference-metrics/index.html
@@ -134,8 +134,8 @@
 <tr><td>bookkeeper_server_READ_ENTRY_count</td><td>Counter</td><td>The total number of READ_ENTRY requests received at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
 <tr><td>bookie_WRITE_BYTES</td><td>Counter</td><td>The total number of bytes written to the bookie.</td></tr>
 <tr><td>bookie_READ_BYTES</td><td>Counter</td><td>The total number of bytes read from the bookie.</td></tr>
-<tr><td>bookkeeper_server_ADD_ENTRY_REQUEST</td><td>Histogram</td><td>The histogram of request latency of ADD_ENTRY requests at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
-<tr><td>bookkeeper_server_READ_ENTRY_REQUEST</td><td>Histogram</td><td>The histogram of request latency of READ_ENTRY requests at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
+<tr><td>bookkeeper_server_ADD_ENTRY_REQUEST</td><td>Summary</td><td>The summary of request latency of ADD_ENTRY requests at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
+<tr><td>bookkeeper_server_READ_ENTRY_REQUEST</td><td>Summary</td><td>The summary of request latency of READ_ENTRY requests at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
 </tbody>
 </table>
 <h3><a class="anchor" aria-hidden="true" id="journal-metrics"></a><a href="#journal-metrics" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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  [...]
@@ -148,8 +148,8 @@
 <tr><td>bookie_journal_JOURNAL_QUEUE_SIZE</td><td>Gauge</td><td>The total number of requests pending in the journal queue.</td></tr>
 <tr><td>bookie_journal_JOURNAL_FORCE_WRITE_QUEUE_SIZE</td><td>Gauge</td><td>The total number of force write (fsync) requests pending in the force-write queue.</td></tr>
 <tr><td>bookie_journal_JOURNAL_CB_QUEUE_SIZE</td><td>Gauge</td><td>The total number of callbacks pending in the callback queue.</td></tr>
-<tr><td>bookie_journal_JOURNAL_ADD_ENTRY</td><td>Histogram</td><td>The histogram of request latency of adding entries to the journal.</td></tr>
-<tr><td>bookie_journal_JOURNAL_SYNC</td><td>Histogram</td><td>The histogram of fsync latency of syncing data to the journal disk.</td></tr>
+<tr><td>bookie_journal_JOURNAL_ADD_ENTRY</td><td>Summary</td><td>The summary of request latency of adding entries to the journal.</td></tr>
+<tr><td>bookie_journal_JOURNAL_SYNC</td><td>Summary</td><td>The summary of fsync latency of syncing data to the journal disk.</td></tr>
 </tbody>
 </table>
 <h3><a class="anchor" aria-hidden="true" id="storage-metrics"></a><a href="#storage-metrics" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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  [...]
diff --git a/content/docs/fr/2.6.2/client-libraries-java.html b/content/docs/fr/2.6.2/client-libraries-java.html
index 094d373..dbf21aa 100644
--- a/content/docs/fr/2.6.2/client-libraries-java.html
+++ b/content/docs/fr/2.6.2/client-libraries-java.html
@@ -255,7 +255,7 @@ producer.closeAsync()
 <h3><a class="anchor" aria-hidden="true" id="configure-consumer"></a><a href="#configure-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- [...]
 <p>If you instantiate a <code>Consumer</code> object by specifying only a topic and subscription name as in the example above, the consumer uses the default configuration.</p>
 <p>When you create a consumer, you can use the <code>loadConf</code> configuration. The following parameters are available in <code>loadConf</code>.</p>
-<p>Type | Name| <div style="width:300px">Description</div>|  Default |---|---|---|--- Set&lt;String&gt;|  <code>topicNames</code>|   Topic name| Sets.newTreeSet() Pattern|   <code>topicsPattern</code>| Topic pattern   |None String| <code>subscriptionName</code>| Subscription name|  None SubscriptionType| <code>subscriptionType</code>|   Subscription type <br/><br/>Three subscription types are available:<li>Exclusive</li><li>Failover</li><li>Shared</li>|SubscriptionType.Exclusive int | <c [...]
+<p>Type | Name| <div style="width:300px">Description</div>|  Default |---|---|---|--- Set&lt;String&gt;|  <code>topicNames</code>|   Topic name| Sets.newTreeSet() Pattern|   <code>topicsPattern</code>| Topic pattern   |None String| <code>subscriptionName</code>| Subscription name|  None SubscriptionType| <code>subscriptionType</code>|   Subscription type <br/><br/>Four subscription types are available:<li>Exclusive</li><li>Failover</li><li>Shared</li><li>Key_Shared</li>|SubscriptionType. [...]
 SortedMap&lt;String, String&gt;|<code>properties</code>|A name or value property of this consumer.<br/><br/><code>properties</code> is application defined metadata attached to a consumer. <br/><br/>When getting a topic stats, associate this metadata with the consumer stats for easier identification.|new TreeMap&lt;&gt;() boolean|<code>readCompacted</code>|If enabling <code>readCompacted</code>, a consumer reads messages from a compacted topic rather than reading a full message backlog of [...]
 <p>You can configure parameters if you do not want to use the default configuration. For a full list, see the Javadoc for the <a href="https://pulsar.incubator.apache.org/api/client/2.7.0-SNAPSHOT/org/apache/pulsar/client/api/ConsumerBuilder">ConsumerBuilder</a>
  class.</p>
diff --git a/content/docs/fr/2.6.2/client-libraries-java/index.html b/content/docs/fr/2.6.2/client-libraries-java/index.html
index 094d373..dbf21aa 100644
--- a/content/docs/fr/2.6.2/client-libraries-java/index.html
+++ b/content/docs/fr/2.6.2/client-libraries-java/index.html
@@ -255,7 +255,7 @@ producer.closeAsync()
 <h3><a class="anchor" aria-hidden="true" id="configure-consumer"></a><a href="#configure-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- [...]
 <p>If you instantiate a <code>Consumer</code> object by specifying only a topic and subscription name as in the example above, the consumer uses the default configuration.</p>
 <p>When you create a consumer, you can use the <code>loadConf</code> configuration. The following parameters are available in <code>loadConf</code>.</p>
-<p>Type | Name| <div style="width:300px">Description</div>|  Default |---|---|---|--- Set&lt;String&gt;|  <code>topicNames</code>|   Topic name| Sets.newTreeSet() Pattern|   <code>topicsPattern</code>| Topic pattern   |None String| <code>subscriptionName</code>| Subscription name|  None SubscriptionType| <code>subscriptionType</code>|   Subscription type <br/><br/>Three subscription types are available:<li>Exclusive</li><li>Failover</li><li>Shared</li>|SubscriptionType.Exclusive int | <c [...]
+<p>Type | Name| <div style="width:300px">Description</div>|  Default |---|---|---|--- Set&lt;String&gt;|  <code>topicNames</code>|   Topic name| Sets.newTreeSet() Pattern|   <code>topicsPattern</code>| Topic pattern   |None String| <code>subscriptionName</code>| Subscription name|  None SubscriptionType| <code>subscriptionType</code>|   Subscription type <br/><br/>Four subscription types are available:<li>Exclusive</li><li>Failover</li><li>Shared</li><li>Key_Shared</li>|SubscriptionType. [...]
 SortedMap&lt;String, String&gt;|<code>properties</code>|A name or value property of this consumer.<br/><br/><code>properties</code> is application defined metadata attached to a consumer. <br/><br/>When getting a topic stats, associate this metadata with the consumer stats for easier identification.|new TreeMap&lt;&gt;() boolean|<code>readCompacted</code>|If enabling <code>readCompacted</code>, a consumer reads messages from a compacted topic rather than reading a full message backlog of [...]
 <p>You can configure parameters if you do not want to use the default configuration. For a full list, see the Javadoc for the <a href="https://pulsar.incubator.apache.org/api/client/2.7.0-SNAPSHOT/org/apache/pulsar/client/api/ConsumerBuilder">ConsumerBuilder</a>
  class.</p>
diff --git a/content/docs/fr/2.6.2/client-libraries-node.html b/content/docs/fr/2.6.2/client-libraries-node.html
index 9bb0f09..80d8186 100644
--- a/content/docs/fr/2.6.2/client-libraries-node.html
+++ b/content/docs/fr/2.6.2/client-libraries-node.html
@@ -266,7 +266,7 @@ In this example, using await operator instead of executor function.</p>
 <tbody>
 <tr><td style="text-align:left"><code>topic</code></td><td style="text-align:left">The Pulsar <a href="/docs/fr/2.6.2/reference-terminology#topic">topic</a> on which the consumer will establish a subscription and listen for messages.</td><td style="text-align:left"></td></tr>
 <tr><td style="text-align:left"><code>subscription</code></td><td style="text-align:left">The subscription name for this consumer.</td><td style="text-align:left"></td></tr>
-<tr><td style="text-align:left"><code>subscriptionType</code></td><td style="text-align:left">Available options are <code>Exclusive</code>, <code>Shared</code>, and <code>Failover</code>.</td><td style="text-align:left"><code>Exclusive</code></td></tr>
+<tr><td style="text-align:left"><code>subscriptionType</code></td><td style="text-align:left">Available options are <code>Exclusive</code>, <code>Shared</code>, <code>Key_Shared</code>, and <code>Failover</code>.</td><td style="text-align:left"><code>Exclusive</code></td></tr>
 <tr><td style="text-align:left"><code>ackTimeoutMs</code></td><td style="text-align:left">Acknowledge timeout in milliseconds.</td><td style="text-align:left">0</td></tr>
 <tr><td style="text-align:left"><code>receiverQueueSize</code></td><td style="text-align:left">Sets the size of the consumer's receiver queue, i.e. the number of messages that can be accumulated by the consumer before the application calls <code>receive</code>. A value higher than the default of 1000 could increase consumer throughput, though at the expense of more memory utilization.</td><td style="text-align:left">1000</td></tr>
 <tr><td style="text-align:left"><code>receiverQueueSizeAcrossPartitions</code></td><td style="text-align:left">Set the max total receiver queue size across partitions. This setting will be used to reduce the receiver queue size for individual partitions if the total exceeds this value.</td><td style="text-align:left">50000</td></tr>
diff --git a/content/docs/fr/2.6.2/client-libraries-node/index.html b/content/docs/fr/2.6.2/client-libraries-node/index.html
index 9bb0f09..80d8186 100644
--- a/content/docs/fr/2.6.2/client-libraries-node/index.html
+++ b/content/docs/fr/2.6.2/client-libraries-node/index.html
@@ -266,7 +266,7 @@ In this example, using await operator instead of executor function.</p>
 <tbody>
 <tr><td style="text-align:left"><code>topic</code></td><td style="text-align:left">The Pulsar <a href="/docs/fr/2.6.2/reference-terminology#topic">topic</a> on which the consumer will establish a subscription and listen for messages.</td><td style="text-align:left"></td></tr>
 <tr><td style="text-align:left"><code>subscription</code></td><td style="text-align:left">The subscription name for this consumer.</td><td style="text-align:left"></td></tr>
-<tr><td style="text-align:left"><code>subscriptionType</code></td><td style="text-align:left">Available options are <code>Exclusive</code>, <code>Shared</code>, and <code>Failover</code>.</td><td style="text-align:left"><code>Exclusive</code></td></tr>
+<tr><td style="text-align:left"><code>subscriptionType</code></td><td style="text-align:left">Available options are <code>Exclusive</code>, <code>Shared</code>, <code>Key_Shared</code>, and <code>Failover</code>.</td><td style="text-align:left"><code>Exclusive</code></td></tr>
 <tr><td style="text-align:left"><code>ackTimeoutMs</code></td><td style="text-align:left">Acknowledge timeout in milliseconds.</td><td style="text-align:left">0</td></tr>
 <tr><td style="text-align:left"><code>receiverQueueSize</code></td><td style="text-align:left">Sets the size of the consumer's receiver queue, i.e. the number of messages that can be accumulated by the consumer before the application calls <code>receive</code>. A value higher than the default of 1000 could increase consumer throughput, though at the expense of more memory utilization.</td><td style="text-align:left">1000</td></tr>
 <tr><td style="text-align:left"><code>receiverQueueSizeAcrossPartitions</code></td><td style="text-align:left">Set the max total receiver queue size across partitions. This setting will be used to reduce the receiver queue size for individual partitions if the total exceeds this value.</td><td style="text-align:left">50000</td></tr>
diff --git a/content/docs/fr/2.6.2/client-libraries-websocket.html b/content/docs/fr/2.6.2/client-libraries-websocket.html
index 3a90e7d..a290c3b 100644
--- a/content/docs/fr/2.6.2/client-libraries-websocket.html
+++ b/content/docs/fr/2.6.2/client-libraries-websocket.html
@@ -184,7 +184,7 @@
 </thead>
 <tbody>
 <tr><td style="text-align:left"><code>ackTimeoutMillis</code></td><td style="text-align:left">long</td><td style="text-align:left">no</td><td style="text-align:left">Set the timeout for unacked messages (default: 0)</td></tr>
-<tr><td style="text-align:left"><code>subscriptionType</code></td><td style="text-align:left">string</td><td style="text-align:left">no</td><td style="text-align:left"><a href="https://pulsar.apache.org/api/client/2.7.0-SNAPSHOT/index.html?org/apache/pulsar/client/api/SubscriptionType.html">Subscription type</a>: <code>Exclusive</code>, <code>Failover</code>, <code>Shared</code></td></tr>
+<tr><td style="text-align:left"><code>subscriptionType</code></td><td style="text-align:left">string</td><td style="text-align:left">no</td><td style="text-align:left"><a href="https://pulsar.apache.org/api/client/2.7.0-SNAPSHOT/index.html?org/apache/pulsar/client/api/SubscriptionType.html">Subscription type</a>: <code>Exclusive</code>, <code>Failover</code>, <code>Shared</code>, <code>Key_Shared</code></td></tr>
 <tr><td style="text-align:left"><code>receiverQueueSize</code></td><td style="text-align:left">int</td><td style="text-align:left">no</td><td style="text-align:left">Size of the consumer receive queue (default: 1000)</td></tr>
 <tr><td style="text-align:left"><code>consumerName</code></td><td style="text-align:left">string</td><td style="text-align:left">no</td><td style="text-align:left">Consumer name</td></tr>
 <tr><td style="text-align:left"><code>priorityLevel</code></td><td style="text-align:left">int</td><td style="text-align:left">no</td><td style="text-align:left">Define a <a href="http://pulsar.apache.org/api/client/2.7.0-SNAPSHOT/org/apache/pulsar/client/api/ConsumerConfiguration.html#setPriorityLevel-int-">priority</a> for the consumer</td></tr>
diff --git a/content/docs/fr/2.6.2/client-libraries-websocket/index.html b/content/docs/fr/2.6.2/client-libraries-websocket/index.html
index 3a90e7d..a290c3b 100644
--- a/content/docs/fr/2.6.2/client-libraries-websocket/index.html
+++ b/content/docs/fr/2.6.2/client-libraries-websocket/index.html
@@ -184,7 +184,7 @@
 </thead>
 <tbody>
 <tr><td style="text-align:left"><code>ackTimeoutMillis</code></td><td style="text-align:left">long</td><td style="text-align:left">no</td><td style="text-align:left">Set the timeout for unacked messages (default: 0)</td></tr>
-<tr><td style="text-align:left"><code>subscriptionType</code></td><td style="text-align:left">string</td><td style="text-align:left">no</td><td style="text-align:left"><a href="https://pulsar.apache.org/api/client/2.7.0-SNAPSHOT/index.html?org/apache/pulsar/client/api/SubscriptionType.html">Subscription type</a>: <code>Exclusive</code>, <code>Failover</code>, <code>Shared</code></td></tr>
+<tr><td style="text-align:left"><code>subscriptionType</code></td><td style="text-align:left">string</td><td style="text-align:left">no</td><td style="text-align:left"><a href="https://pulsar.apache.org/api/client/2.7.0-SNAPSHOT/index.html?org/apache/pulsar/client/api/SubscriptionType.html">Subscription type</a>: <code>Exclusive</code>, <code>Failover</code>, <code>Shared</code>, <code>Key_Shared</code></td></tr>
 <tr><td style="text-align:left"><code>receiverQueueSize</code></td><td style="text-align:left">int</td><td style="text-align:left">no</td><td style="text-align:left">Size of the consumer receive queue (default: 1000)</td></tr>
 <tr><td style="text-align:left"><code>consumerName</code></td><td style="text-align:left">string</td><td style="text-align:left">no</td><td style="text-align:left">Consumer name</td></tr>
 <tr><td style="text-align:left"><code>priorityLevel</code></td><td style="text-align:left">int</td><td style="text-align:left">no</td><td style="text-align:left">Define a <a href="http://pulsar.apache.org/api/client/2.7.0-SNAPSHOT/org/apache/pulsar/client/api/ConsumerConfiguration.html#setPriorityLevel-int-">priority</a> for the consumer</td></tr>
diff --git a/content/docs/fr/2.6.2/reference-metrics.html b/content/docs/fr/2.6.2/reference-metrics.html
index b2786ff..5fe5008 100644
--- a/content/docs/fr/2.6.2/reference-metrics.html
+++ b/content/docs/fr/2.6.2/reference-metrics.html
@@ -134,8 +134,8 @@
 <tr><td>bookkeeper_server_READ_ENTRY_count</td><td>Counter</td><td>The total number of READ_ENTRY requests received at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
 <tr><td>bookie_WRITE_BYTES</td><td>Counter</td><td>The total number of bytes written to the bookie.</td></tr>
 <tr><td>bookie_READ_BYTES</td><td>Counter</td><td>The total number of bytes read from the bookie.</td></tr>
-<tr><td>bookkeeper_server_ADD_ENTRY_REQUEST</td><td>Histogram</td><td>The histogram of request latency of ADD_ENTRY requests at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
-<tr><td>bookkeeper_server_READ_ENTRY_REQUEST</td><td>Histogram</td><td>The histogram of request latency of READ_ENTRY requests at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
+<tr><td>bookkeeper_server_ADD_ENTRY_REQUEST</td><td>Summary</td><td>The summary of request latency of ADD_ENTRY requests at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
+<tr><td>bookkeeper_server_READ_ENTRY_REQUEST</td><td>Summary</td><td>The summary of request latency of READ_ENTRY requests at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
 </tbody>
 </table>
 <h3><a class="anchor" aria-hidden="true" id="journal-metrics"></a><a href="#journal-metrics" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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  [...]
@@ -148,8 +148,8 @@
 <tr><td>bookie_journal_JOURNAL_QUEUE_SIZE</td><td>Gauge</td><td>The total number of requests pending in the journal queue.</td></tr>
 <tr><td>bookie_journal_JOURNAL_FORCE_WRITE_QUEUE_SIZE</td><td>Gauge</td><td>The total number of force write (fsync) requests pending in the force-write queue.</td></tr>
 <tr><td>bookie_journal_JOURNAL_CB_QUEUE_SIZE</td><td>Gauge</td><td>The total number of callbacks pending in the callback queue.</td></tr>
-<tr><td>bookie_journal_JOURNAL_ADD_ENTRY</td><td>Histogram</td><td>The histogram of request latency of adding entries to the journal.</td></tr>
-<tr><td>bookie_journal_JOURNAL_SYNC</td><td>Histogram</td><td>The histogram of fsync latency of syncing data to the journal disk.</td></tr>
+<tr><td>bookie_journal_JOURNAL_ADD_ENTRY</td><td>Summary</td><td>The summary of request latency of adding entries to the journal.</td></tr>
+<tr><td>bookie_journal_JOURNAL_SYNC</td><td>Summary</td><td>The summary of fsync latency of syncing data to the journal disk.</td></tr>
 </tbody>
 </table>
 <h3><a class="anchor" aria-hidden="true" id="storage-metrics"></a><a href="#storage-metrics" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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  [...]
diff --git a/content/docs/fr/2.6.2/reference-metrics/index.html b/content/docs/fr/2.6.2/reference-metrics/index.html
index b2786ff..5fe5008 100644
--- a/content/docs/fr/2.6.2/reference-metrics/index.html
+++ b/content/docs/fr/2.6.2/reference-metrics/index.html
@@ -134,8 +134,8 @@
 <tr><td>bookkeeper_server_READ_ENTRY_count</td><td>Counter</td><td>The total number of READ_ENTRY requests received at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
 <tr><td>bookie_WRITE_BYTES</td><td>Counter</td><td>The total number of bytes written to the bookie.</td></tr>
 <tr><td>bookie_READ_BYTES</td><td>Counter</td><td>The total number of bytes read from the bookie.</td></tr>
-<tr><td>bookkeeper_server_ADD_ENTRY_REQUEST</td><td>Histogram</td><td>The histogram of request latency of ADD_ENTRY requests at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
-<tr><td>bookkeeper_server_READ_ENTRY_REQUEST</td><td>Histogram</td><td>The histogram of request latency of READ_ENTRY requests at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
+<tr><td>bookkeeper_server_ADD_ENTRY_REQUEST</td><td>Summary</td><td>The summary of request latency of ADD_ENTRY requests at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
+<tr><td>bookkeeper_server_READ_ENTRY_REQUEST</td><td>Summary</td><td>The summary of request latency of READ_ENTRY requests at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
 </tbody>
 </table>
 <h3><a class="anchor" aria-hidden="true" id="journal-metrics"></a><a href="#journal-metrics" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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  [...]
@@ -148,8 +148,8 @@
 <tr><td>bookie_journal_JOURNAL_QUEUE_SIZE</td><td>Gauge</td><td>The total number of requests pending in the journal queue.</td></tr>
 <tr><td>bookie_journal_JOURNAL_FORCE_WRITE_QUEUE_SIZE</td><td>Gauge</td><td>The total number of force write (fsync) requests pending in the force-write queue.</td></tr>
 <tr><td>bookie_journal_JOURNAL_CB_QUEUE_SIZE</td><td>Gauge</td><td>The total number of callbacks pending in the callback queue.</td></tr>
-<tr><td>bookie_journal_JOURNAL_ADD_ENTRY</td><td>Histogram</td><td>The histogram of request latency of adding entries to the journal.</td></tr>
-<tr><td>bookie_journal_JOURNAL_SYNC</td><td>Histogram</td><td>The histogram of fsync latency of syncing data to the journal disk.</td></tr>
+<tr><td>bookie_journal_JOURNAL_ADD_ENTRY</td><td>Summary</td><td>The summary of request latency of adding entries to the journal.</td></tr>
+<tr><td>bookie_journal_JOURNAL_SYNC</td><td>Summary</td><td>The summary of fsync latency of syncing data to the journal disk.</td></tr>
 </tbody>
 </table>
 <h3><a class="anchor" aria-hidden="true" id="storage-metrics"></a><a href="#storage-metrics" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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  [...]
diff --git a/content/docs/fr/2.6.3/client-libraries-java.html b/content/docs/fr/2.6.3/client-libraries-java.html
index f7a0caf..0e1a72c 100644
--- a/content/docs/fr/2.6.3/client-libraries-java.html
+++ b/content/docs/fr/2.6.3/client-libraries-java.html
@@ -255,7 +255,7 @@ producer.closeAsync()
 <h3><a class="anchor" aria-hidden="true" id="configure-consumer"></a><a href="#configure-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- [...]
 <p>If you instantiate a <code>Consumer</code> object by specifying only a topic and subscription name as in the example above, the consumer uses the default configuration.</p>
 <p>When you create a consumer, you can use the <code>loadConf</code> configuration. The following parameters are available in <code>loadConf</code>.</p>
-<p>Type | Name| <div style="width:300px">Description</div>|  Default |---|---|---|--- Set&lt;String&gt;|  <code>topicNames</code>|   Topic name| Sets.newTreeSet() Pattern|   <code>topicsPattern</code>| Topic pattern   |None String| <code>subscriptionName</code>| Subscription name|  None SubscriptionType| <code>subscriptionType</code>|   Subscription type <br/><br/>Three subscription types are available:<li>Exclusive</li><li>Failover</li><li>Shared</li>|SubscriptionType.Exclusive int | <c [...]
+<p>Type | Name| <div style="width:300px">Description</div>|  Default |---|---|---|--- Set&lt;String&gt;|  <code>topicNames</code>|   Topic name| Sets.newTreeSet() Pattern|   <code>topicsPattern</code>| Topic pattern   |None String| <code>subscriptionName</code>| Subscription name|  None SubscriptionType| <code>subscriptionType</code>|   Subscription type <br/><br/>Four subscription types are available:<li>Exclusive</li><li>Failover</li><li>Shared</li><li>Key_Shared</li>|SubscriptionType. [...]
 SortedMap&lt;String, String&gt;|<code>properties</code>|A name or value property of this consumer.<br/><br/><code>properties</code> is application defined metadata attached to a consumer. <br/><br/>When getting a topic stats, associate this metadata with the consumer stats for easier identification.|new TreeMap&lt;&gt;() boolean|<code>readCompacted</code>|If enabling <code>readCompacted</code>, a consumer reads messages from a compacted topic rather than reading a full message backlog of [...]
 <p>You can configure parameters if you do not want to use the default configuration. For a full list, see the Javadoc for the <a href="https://pulsar.incubator.apache.org/api/client/2.7.0-SNAPSHOT/org/apache/pulsar/client/api/ConsumerBuilder">ConsumerBuilder</a>
  class.</p>
diff --git a/content/docs/fr/2.6.3/client-libraries-java/index.html b/content/docs/fr/2.6.3/client-libraries-java/index.html
index f7a0caf..0e1a72c 100644
--- a/content/docs/fr/2.6.3/client-libraries-java/index.html
+++ b/content/docs/fr/2.6.3/client-libraries-java/index.html
@@ -255,7 +255,7 @@ producer.closeAsync()
 <h3><a class="anchor" aria-hidden="true" id="configure-consumer"></a><a href="#configure-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- [...]
 <p>If you instantiate a <code>Consumer</code> object by specifying only a topic and subscription name as in the example above, the consumer uses the default configuration.</p>
 <p>When you create a consumer, you can use the <code>loadConf</code> configuration. The following parameters are available in <code>loadConf</code>.</p>
-<p>Type | Name| <div style="width:300px">Description</div>|  Default |---|---|---|--- Set&lt;String&gt;|  <code>topicNames</code>|   Topic name| Sets.newTreeSet() Pattern|   <code>topicsPattern</code>| Topic pattern   |None String| <code>subscriptionName</code>| Subscription name|  None SubscriptionType| <code>subscriptionType</code>|   Subscription type <br/><br/>Three subscription types are available:<li>Exclusive</li><li>Failover</li><li>Shared</li>|SubscriptionType.Exclusive int | <c [...]
+<p>Type | Name| <div style="width:300px">Description</div>|  Default |---|---|---|--- Set&lt;String&gt;|  <code>topicNames</code>|   Topic name| Sets.newTreeSet() Pattern|   <code>topicsPattern</code>| Topic pattern   |None String| <code>subscriptionName</code>| Subscription name|  None SubscriptionType| <code>subscriptionType</code>|   Subscription type <br/><br/>Four subscription types are available:<li>Exclusive</li><li>Failover</li><li>Shared</li><li>Key_Shared</li>|SubscriptionType. [...]
 SortedMap&lt;String, String&gt;|<code>properties</code>|A name or value property of this consumer.<br/><br/><code>properties</code> is application defined metadata attached to a consumer. <br/><br/>When getting a topic stats, associate this metadata with the consumer stats for easier identification.|new TreeMap&lt;&gt;() boolean|<code>readCompacted</code>|If enabling <code>readCompacted</code>, a consumer reads messages from a compacted topic rather than reading a full message backlog of [...]
 <p>You can configure parameters if you do not want to use the default configuration. For a full list, see the Javadoc for the <a href="https://pulsar.incubator.apache.org/api/client/2.7.0-SNAPSHOT/org/apache/pulsar/client/api/ConsumerBuilder">ConsumerBuilder</a>
  class.</p>
diff --git a/content/docs/fr/2.6.3/client-libraries-node.html b/content/docs/fr/2.6.3/client-libraries-node.html
index ebe2732..b6a50ae 100644
--- a/content/docs/fr/2.6.3/client-libraries-node.html
+++ b/content/docs/fr/2.6.3/client-libraries-node.html
@@ -266,7 +266,7 @@ In this example, using await operator instead of executor function.</p>
 <tbody>
 <tr><td style="text-align:left"><code>topic</code></td><td style="text-align:left">The Pulsar <a href="/docs/fr/2.6.3/reference-terminology#topic">topic</a> on which the consumer will establish a subscription and listen for messages.</td><td style="text-align:left"></td></tr>
 <tr><td style="text-align:left"><code>subscription</code></td><td style="text-align:left">The subscription name for this consumer.</td><td style="text-align:left"></td></tr>
-<tr><td style="text-align:left"><code>subscriptionType</code></td><td style="text-align:left">Available options are <code>Exclusive</code>, <code>Shared</code>, and <code>Failover</code>.</td><td style="text-align:left"><code>Exclusive</code></td></tr>
+<tr><td style="text-align:left"><code>subscriptionType</code></td><td style="text-align:left">Available options are <code>Exclusive</code>, <code>Shared</code>, <code>Key_Shared</code>, and <code>Failover</code>.</td><td style="text-align:left"><code>Exclusive</code></td></tr>
 <tr><td style="text-align:left"><code>ackTimeoutMs</code></td><td style="text-align:left">Acknowledge timeout in milliseconds.</td><td style="text-align:left">0</td></tr>
 <tr><td style="text-align:left"><code>receiverQueueSize</code></td><td style="text-align:left">Sets the size of the consumer's receiver queue, i.e. the number of messages that can be accumulated by the consumer before the application calls <code>receive</code>. A value higher than the default of 1000 could increase consumer throughput, though at the expense of more memory utilization.</td><td style="text-align:left">1000</td></tr>
 <tr><td style="text-align:left"><code>receiverQueueSizeAcrossPartitions</code></td><td style="text-align:left">Set the max total receiver queue size across partitions. This setting will be used to reduce the receiver queue size for individual partitions if the total exceeds this value.</td><td style="text-align:left">50000</td></tr>
diff --git a/content/docs/fr/2.6.3/client-libraries-node/index.html b/content/docs/fr/2.6.3/client-libraries-node/index.html
index ebe2732..b6a50ae 100644
--- a/content/docs/fr/2.6.3/client-libraries-node/index.html
+++ b/content/docs/fr/2.6.3/client-libraries-node/index.html
@@ -266,7 +266,7 @@ In this example, using await operator instead of executor function.</p>
 <tbody>
 <tr><td style="text-align:left"><code>topic</code></td><td style="text-align:left">The Pulsar <a href="/docs/fr/2.6.3/reference-terminology#topic">topic</a> on which the consumer will establish a subscription and listen for messages.</td><td style="text-align:left"></td></tr>
 <tr><td style="text-align:left"><code>subscription</code></td><td style="text-align:left">The subscription name for this consumer.</td><td style="text-align:left"></td></tr>
-<tr><td style="text-align:left"><code>subscriptionType</code></td><td style="text-align:left">Available options are <code>Exclusive</code>, <code>Shared</code>, and <code>Failover</code>.</td><td style="text-align:left"><code>Exclusive</code></td></tr>
+<tr><td style="text-align:left"><code>subscriptionType</code></td><td style="text-align:left">Available options are <code>Exclusive</code>, <code>Shared</code>, <code>Key_Shared</code>, and <code>Failover</code>.</td><td style="text-align:left"><code>Exclusive</code></td></tr>
 <tr><td style="text-align:left"><code>ackTimeoutMs</code></td><td style="text-align:left">Acknowledge timeout in milliseconds.</td><td style="text-align:left">0</td></tr>
 <tr><td style="text-align:left"><code>receiverQueueSize</code></td><td style="text-align:left">Sets the size of the consumer's receiver queue, i.e. the number of messages that can be accumulated by the consumer before the application calls <code>receive</code>. A value higher than the default of 1000 could increase consumer throughput, though at the expense of more memory utilization.</td><td style="text-align:left">1000</td></tr>
 <tr><td style="text-align:left"><code>receiverQueueSizeAcrossPartitions</code></td><td style="text-align:left">Set the max total receiver queue size across partitions. This setting will be used to reduce the receiver queue size for individual partitions if the total exceeds this value.</td><td style="text-align:left">50000</td></tr>
diff --git a/content/docs/fr/2.6.3/client-libraries-websocket.html b/content/docs/fr/2.6.3/client-libraries-websocket.html
index f32f66f..5ad4b2c 100644
--- a/content/docs/fr/2.6.3/client-libraries-websocket.html
+++ b/content/docs/fr/2.6.3/client-libraries-websocket.html
@@ -184,7 +184,7 @@
 </thead>
 <tbody>
 <tr><td style="text-align:left"><code>ackTimeoutMillis</code></td><td style="text-align:left">long</td><td style="text-align:left">no</td><td style="text-align:left">Set the timeout for unacked messages (default: 0)</td></tr>
-<tr><td style="text-align:left"><code>subscriptionType</code></td><td style="text-align:left">string</td><td style="text-align:left">no</td><td style="text-align:left"><a href="https://pulsar.apache.org/api/client/2.7.0-SNAPSHOT/index.html?org/apache/pulsar/client/api/SubscriptionType.html">Subscription type</a>: <code>Exclusive</code>, <code>Failover</code>, <code>Shared</code></td></tr>
+<tr><td style="text-align:left"><code>subscriptionType</code></td><td style="text-align:left">string</td><td style="text-align:left">no</td><td style="text-align:left"><a href="https://pulsar.apache.org/api/client/2.7.0-SNAPSHOT/index.html?org/apache/pulsar/client/api/SubscriptionType.html">Subscription type</a>: <code>Exclusive</code>, <code>Failover</code>, <code>Shared</code>, <code>Key_Shared</code></td></tr>
 <tr><td style="text-align:left"><code>receiverQueueSize</code></td><td style="text-align:left">int</td><td style="text-align:left">no</td><td style="text-align:left">Size of the consumer receive queue (default: 1000)</td></tr>
 <tr><td style="text-align:left"><code>consumerName</code></td><td style="text-align:left">string</td><td style="text-align:left">no</td><td style="text-align:left">Consumer name</td></tr>
 <tr><td style="text-align:left"><code>priorityLevel</code></td><td style="text-align:left">int</td><td style="text-align:left">no</td><td style="text-align:left">Define a <a href="http://pulsar.apache.org/api/client/2.7.0-SNAPSHOT/org/apache/pulsar/client/api/ConsumerConfiguration.html#setPriorityLevel-int-">priority</a> for the consumer</td></tr>
diff --git a/content/docs/fr/2.6.3/client-libraries-websocket/index.html b/content/docs/fr/2.6.3/client-libraries-websocket/index.html
index f32f66f..5ad4b2c 100644
--- a/content/docs/fr/2.6.3/client-libraries-websocket/index.html
+++ b/content/docs/fr/2.6.3/client-libraries-websocket/index.html
@@ -184,7 +184,7 @@
 </thead>
 <tbody>
 <tr><td style="text-align:left"><code>ackTimeoutMillis</code></td><td style="text-align:left">long</td><td style="text-align:left">no</td><td style="text-align:left">Set the timeout for unacked messages (default: 0)</td></tr>
-<tr><td style="text-align:left"><code>subscriptionType</code></td><td style="text-align:left">string</td><td style="text-align:left">no</td><td style="text-align:left"><a href="https://pulsar.apache.org/api/client/2.7.0-SNAPSHOT/index.html?org/apache/pulsar/client/api/SubscriptionType.html">Subscription type</a>: <code>Exclusive</code>, <code>Failover</code>, <code>Shared</code></td></tr>
+<tr><td style="text-align:left"><code>subscriptionType</code></td><td style="text-align:left">string</td><td style="text-align:left">no</td><td style="text-align:left"><a href="https://pulsar.apache.org/api/client/2.7.0-SNAPSHOT/index.html?org/apache/pulsar/client/api/SubscriptionType.html">Subscription type</a>: <code>Exclusive</code>, <code>Failover</code>, <code>Shared</code>, <code>Key_Shared</code></td></tr>
 <tr><td style="text-align:left"><code>receiverQueueSize</code></td><td style="text-align:left">int</td><td style="text-align:left">no</td><td style="text-align:left">Size of the consumer receive queue (default: 1000)</td></tr>
 <tr><td style="text-align:left"><code>consumerName</code></td><td style="text-align:left">string</td><td style="text-align:left">no</td><td style="text-align:left">Consumer name</td></tr>
 <tr><td style="text-align:left"><code>priorityLevel</code></td><td style="text-align:left">int</td><td style="text-align:left">no</td><td style="text-align:left">Define a <a href="http://pulsar.apache.org/api/client/2.7.0-SNAPSHOT/org/apache/pulsar/client/api/ConsumerConfiguration.html#setPriorityLevel-int-">priority</a> for the consumer</td></tr>
diff --git a/content/docs/fr/2.6.3/reference-metrics.html b/content/docs/fr/2.6.3/reference-metrics.html
index b3dde81..9294084 100644
--- a/content/docs/fr/2.6.3/reference-metrics.html
+++ b/content/docs/fr/2.6.3/reference-metrics.html
@@ -134,8 +134,8 @@
 <tr><td>bookkeeper_server_READ_ENTRY_count</td><td>Counter</td><td>The total number of READ_ENTRY requests received at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
 <tr><td>bookie_WRITE_BYTES</td><td>Counter</td><td>The total number of bytes written to the bookie.</td></tr>
 <tr><td>bookie_READ_BYTES</td><td>Counter</td><td>The total number of bytes read from the bookie.</td></tr>
-<tr><td>bookkeeper_server_ADD_ENTRY_REQUEST</td><td>Histogram</td><td>The histogram of request latency of ADD_ENTRY requests at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
-<tr><td>bookkeeper_server_READ_ENTRY_REQUEST</td><td>Histogram</td><td>The histogram of request latency of READ_ENTRY requests at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
+<tr><td>bookkeeper_server_ADD_ENTRY_REQUEST</td><td>Summary</td><td>The summary of request latency of ADD_ENTRY requests at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
+<tr><td>bookkeeper_server_READ_ENTRY_REQUEST</td><td>Summary</td><td>The summary of request latency of READ_ENTRY requests at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
 </tbody>
 </table>
 <h3><a class="anchor" aria-hidden="true" id="journal-metrics"></a><a href="#journal-metrics" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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  [...]
@@ -148,8 +148,8 @@
 <tr><td>bookie_journal_JOURNAL_QUEUE_SIZE</td><td>Gauge</td><td>The total number of requests pending in the journal queue.</td></tr>
 <tr><td>bookie_journal_JOURNAL_FORCE_WRITE_QUEUE_SIZE</td><td>Gauge</td><td>The total number of force write (fsync) requests pending in the force-write queue.</td></tr>
 <tr><td>bookie_journal_JOURNAL_CB_QUEUE_SIZE</td><td>Gauge</td><td>The total number of callbacks pending in the callback queue.</td></tr>
-<tr><td>bookie_journal_JOURNAL_ADD_ENTRY</td><td>Histogram</td><td>The histogram of request latency of adding entries to the journal.</td></tr>
-<tr><td>bookie_journal_JOURNAL_SYNC</td><td>Histogram</td><td>The histogram of fsync latency of syncing data to the journal disk.</td></tr>
+<tr><td>bookie_journal_JOURNAL_ADD_ENTRY</td><td>Summary</td><td>The summary of request latency of adding entries to the journal.</td></tr>
+<tr><td>bookie_journal_JOURNAL_SYNC</td><td>Summary</td><td>The summary of fsync latency of syncing data to the journal disk.</td></tr>
 </tbody>
 </table>
 <h3><a class="anchor" aria-hidden="true" id="storage-metrics"></a><a href="#storage-metrics" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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  [...]
diff --git a/content/docs/fr/2.6.3/reference-metrics/index.html b/content/docs/fr/2.6.3/reference-metrics/index.html
index b3dde81..9294084 100644
--- a/content/docs/fr/2.6.3/reference-metrics/index.html
+++ b/content/docs/fr/2.6.3/reference-metrics/index.html
@@ -134,8 +134,8 @@
 <tr><td>bookkeeper_server_READ_ENTRY_count</td><td>Counter</td><td>The total number of READ_ENTRY requests received at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
 <tr><td>bookie_WRITE_BYTES</td><td>Counter</td><td>The total number of bytes written to the bookie.</td></tr>
 <tr><td>bookie_READ_BYTES</td><td>Counter</td><td>The total number of bytes read from the bookie.</td></tr>
-<tr><td>bookkeeper_server_ADD_ENTRY_REQUEST</td><td>Histogram</td><td>The histogram of request latency of ADD_ENTRY requests at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
-<tr><td>bookkeeper_server_READ_ENTRY_REQUEST</td><td>Histogram</td><td>The histogram of request latency of READ_ENTRY requests at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
+<tr><td>bookkeeper_server_ADD_ENTRY_REQUEST</td><td>Summary</td><td>The summary of request latency of ADD_ENTRY requests at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
+<tr><td>bookkeeper_server_READ_ENTRY_REQUEST</td><td>Summary</td><td>The summary of request latency of READ_ENTRY requests at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
 </tbody>
 </table>
 <h3><a class="anchor" aria-hidden="true" id="journal-metrics"></a><a href="#journal-metrics" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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  [...]
@@ -148,8 +148,8 @@
 <tr><td>bookie_journal_JOURNAL_QUEUE_SIZE</td><td>Gauge</td><td>The total number of requests pending in the journal queue.</td></tr>
 <tr><td>bookie_journal_JOURNAL_FORCE_WRITE_QUEUE_SIZE</td><td>Gauge</td><td>The total number of force write (fsync) requests pending in the force-write queue.</td></tr>
 <tr><td>bookie_journal_JOURNAL_CB_QUEUE_SIZE</td><td>Gauge</td><td>The total number of callbacks pending in the callback queue.</td></tr>
-<tr><td>bookie_journal_JOURNAL_ADD_ENTRY</td><td>Histogram</td><td>The histogram of request latency of adding entries to the journal.</td></tr>
-<tr><td>bookie_journal_JOURNAL_SYNC</td><td>Histogram</td><td>The histogram of fsync latency of syncing data to the journal disk.</td></tr>
+<tr><td>bookie_journal_JOURNAL_ADD_ENTRY</td><td>Summary</td><td>The summary of request latency of adding entries to the journal.</td></tr>
+<tr><td>bookie_journal_JOURNAL_SYNC</td><td>Summary</td><td>The summary of fsync latency of syncing data to the journal disk.</td></tr>
 </tbody>
 </table>
 <h3><a class="anchor" aria-hidden="true" id="storage-metrics"></a><a href="#storage-metrics" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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  [...]
diff --git a/content/docs/fr/client-libraries-java.html b/content/docs/fr/client-libraries-java.html
index 95ddbfd..f6d3099 100644
--- a/content/docs/fr/client-libraries-java.html
+++ b/content/docs/fr/client-libraries-java.html
@@ -255,7 +255,7 @@ producer.closeAsync()
 <h3><a class="anchor" aria-hidden="true" id="configure-consumer"></a><a href="#configure-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- [...]
 <p>If you instantiate a <code>Consumer</code> object by specifying only a topic and subscription name as in the example above, the consumer uses the default configuration.</p>
 <p>When you create a consumer, you can use the <code>loadConf</code> configuration. The following parameters are available in <code>loadConf</code>.</p>
-<p>Type | Name| <div style="width:300px">Description</div>|  Default |---|---|---|--- Set&lt;String&gt;|  <code>topicNames</code>|   Topic name| Sets.newTreeSet() Pattern|   <code>topicsPattern</code>| Topic pattern   |None String| <code>subscriptionName</code>| Subscription name|  None SubscriptionType| <code>subscriptionType</code>|   Subscription type <br/><br/>Three subscription types are available:<li>Exclusive</li><li>Failover</li><li>Shared</li>|SubscriptionType.Exclusive int | <c [...]
+<p>Type | Name| <div style="width:300px">Description</div>|  Default |---|---|---|--- Set&lt;String&gt;|  <code>topicNames</code>|   Topic name| Sets.newTreeSet() Pattern|   <code>topicsPattern</code>| Topic pattern   |None String| <code>subscriptionName</code>| Subscription name|  None SubscriptionType| <code>subscriptionType</code>|   Subscription type <br/><br/>Four subscription types are available:<li>Exclusive</li><li>Failover</li><li>Shared</li><li>Key_Shared</li>|SubscriptionType. [...]
 SortedMap&lt;String, String&gt;|<code>properties</code>|A name or value property of this consumer.<br/><br/><code>properties</code> is application defined metadata attached to a consumer. <br/><br/>When getting a topic stats, associate this metadata with the consumer stats for easier identification.|new TreeMap&lt;&gt;() boolean|<code>readCompacted</code>|If enabling <code>readCompacted</code>, a consumer reads messages from a compacted topic rather than reading a full message backlog of [...]
 <p>You can configure parameters if you do not want to use the default configuration. For a full list, see the Javadoc for the <a href="https://pulsar.incubator.apache.org/api/client/2.7.0-SNAPSHOT/org/apache/pulsar/client/api/ConsumerBuilder">ConsumerBuilder</a>
  class.</p>
diff --git a/content/docs/fr/client-libraries-java/index.html b/content/docs/fr/client-libraries-java/index.html
index 95ddbfd..f6d3099 100644
--- a/content/docs/fr/client-libraries-java/index.html
+++ b/content/docs/fr/client-libraries-java/index.html
@@ -255,7 +255,7 @@ producer.closeAsync()
 <h3><a class="anchor" aria-hidden="true" id="configure-consumer"></a><a href="#configure-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- [...]
 <p>If you instantiate a <code>Consumer</code> object by specifying only a topic and subscription name as in the example above, the consumer uses the default configuration.</p>
 <p>When you create a consumer, you can use the <code>loadConf</code> configuration. The following parameters are available in <code>loadConf</code>.</p>
-<p>Type | Name| <div style="width:300px">Description</div>|  Default |---|---|---|--- Set&lt;String&gt;|  <code>topicNames</code>|   Topic name| Sets.newTreeSet() Pattern|   <code>topicsPattern</code>| Topic pattern   |None String| <code>subscriptionName</code>| Subscription name|  None SubscriptionType| <code>subscriptionType</code>|   Subscription type <br/><br/>Three subscription types are available:<li>Exclusive</li><li>Failover</li><li>Shared</li>|SubscriptionType.Exclusive int | <c [...]
+<p>Type | Name| <div style="width:300px">Description</div>|  Default |---|---|---|--- Set&lt;String&gt;|  <code>topicNames</code>|   Topic name| Sets.newTreeSet() Pattern|   <code>topicsPattern</code>| Topic pattern   |None String| <code>subscriptionName</code>| Subscription name|  None SubscriptionType| <code>subscriptionType</code>|   Subscription type <br/><br/>Four subscription types are available:<li>Exclusive</li><li>Failover</li><li>Shared</li><li>Key_Shared</li>|SubscriptionType. [...]
 SortedMap&lt;String, String&gt;|<code>properties</code>|A name or value property of this consumer.<br/><br/><code>properties</code> is application defined metadata attached to a consumer. <br/><br/>When getting a topic stats, associate this metadata with the consumer stats for easier identification.|new TreeMap&lt;&gt;() boolean|<code>readCompacted</code>|If enabling <code>readCompacted</code>, a consumer reads messages from a compacted topic rather than reading a full message backlog of [...]
 <p>You can configure parameters if you do not want to use the default configuration. For a full list, see the Javadoc for the <a href="https://pulsar.incubator.apache.org/api/client/2.7.0-SNAPSHOT/org/apache/pulsar/client/api/ConsumerBuilder">ConsumerBuilder</a>
  class.</p>
diff --git a/content/docs/fr/client-libraries-node.html b/content/docs/fr/client-libraries-node.html
index fe6c7a2..cf06d13 100644
--- a/content/docs/fr/client-libraries-node.html
+++ b/content/docs/fr/client-libraries-node.html
@@ -271,7 +271,7 @@ In this example, using await operator instead of executor function.</p>
 <tbody>
 <tr><td style="text-align:left"><code>topic</code></td><td style="text-align:left">The Pulsar <a href="/docs/fr/reference-terminology#topic">topic</a> on which the consumer will establish a subscription and listen for messages.</td><td style="text-align:left"></td></tr>
 <tr><td style="text-align:left"><code>subscription</code></td><td style="text-align:left">The subscription name for this consumer.</td><td style="text-align:left"></td></tr>
-<tr><td style="text-align:left"><code>subscriptionType</code></td><td style="text-align:left">Available options are <code>Exclusive</code>, <code>Shared</code>, and <code>Failover</code>.</td><td style="text-align:left"><code>Exclusive</code></td></tr>
+<tr><td style="text-align:left"><code>subscriptionType</code></td><td style="text-align:left">Available options are <code>Exclusive</code>, <code>Shared</code>, <code>Key_Shared</code>, and <code>Failover</code>.</td><td style="text-align:left"><code>Exclusive</code></td></tr>
 <tr><td style="text-align:left"><code>subscriptionInitialPosition</code></td><td style="text-align:left">Initial position at which to set cursor when subscribing to a topic at first time.</td><td style="text-align:left"><code>SubscriptionInitialPosition.Latest</code></td></tr>
 <tr><td style="text-align:left"><code>ackTimeoutMs</code></td><td style="text-align:left">Acknowledge timeout in milliseconds.</td><td style="text-align:left">0</td></tr>
 <tr><td style="text-align:left"><code>nAckRedeliverTimeoutMs</code></td><td style="text-align:left">Delay to wait before redelivering messages that failed to be processed.</td><td style="text-align:left">60000</td></tr>
diff --git a/content/docs/fr/client-libraries-node/index.html b/content/docs/fr/client-libraries-node/index.html
index fe6c7a2..cf06d13 100644
--- a/content/docs/fr/client-libraries-node/index.html
+++ b/content/docs/fr/client-libraries-node/index.html
@@ -271,7 +271,7 @@ In this example, using await operator instead of executor function.</p>
 <tbody>
 <tr><td style="text-align:left"><code>topic</code></td><td style="text-align:left">The Pulsar <a href="/docs/fr/reference-terminology#topic">topic</a> on which the consumer will establish a subscription and listen for messages.</td><td style="text-align:left"></td></tr>
 <tr><td style="text-align:left"><code>subscription</code></td><td style="text-align:left">The subscription name for this consumer.</td><td style="text-align:left"></td></tr>
-<tr><td style="text-align:left"><code>subscriptionType</code></td><td style="text-align:left">Available options are <code>Exclusive</code>, <code>Shared</code>, and <code>Failover</code>.</td><td style="text-align:left"><code>Exclusive</code></td></tr>
+<tr><td style="text-align:left"><code>subscriptionType</code></td><td style="text-align:left">Available options are <code>Exclusive</code>, <code>Shared</code>, <code>Key_Shared</code>, and <code>Failover</code>.</td><td style="text-align:left"><code>Exclusive</code></td></tr>
 <tr><td style="text-align:left"><code>subscriptionInitialPosition</code></td><td style="text-align:left">Initial position at which to set cursor when subscribing to a topic at first time.</td><td style="text-align:left"><code>SubscriptionInitialPosition.Latest</code></td></tr>
 <tr><td style="text-align:left"><code>ackTimeoutMs</code></td><td style="text-align:left">Acknowledge timeout in milliseconds.</td><td style="text-align:left">0</td></tr>
 <tr><td style="text-align:left"><code>nAckRedeliverTimeoutMs</code></td><td style="text-align:left">Delay to wait before redelivering messages that failed to be processed.</td><td style="text-align:left">60000</td></tr>
diff --git a/content/docs/fr/client-libraries-websocket.html b/content/docs/fr/client-libraries-websocket.html
index 9a2388d..1a2207d 100644
--- a/content/docs/fr/client-libraries-websocket.html
+++ b/content/docs/fr/client-libraries-websocket.html
@@ -184,7 +184,7 @@
 </thead>
 <tbody>
 <tr><td style="text-align:left"><code>ackTimeoutMillis</code></td><td style="text-align:left">long</td><td style="text-align:left">no</td><td style="text-align:left">Set the timeout for unacked messages (default: 0)</td></tr>
-<tr><td style="text-align:left"><code>subscriptionType</code></td><td style="text-align:left">string</td><td style="text-align:left">no</td><td style="text-align:left"><a href="https://pulsar.apache.org/api/client/2.7.0-SNAPSHOT/index.html?org/apache/pulsar/client/api/SubscriptionType.html">Subscription type</a>: <code>Exclusive</code>, <code>Failover</code>, <code>Shared</code></td></tr>
+<tr><td style="text-align:left"><code>subscriptionType</code></td><td style="text-align:left">string</td><td style="text-align:left">no</td><td style="text-align:left"><a href="https://pulsar.apache.org/api/client/2.7.0-SNAPSHOT/index.html?org/apache/pulsar/client/api/SubscriptionType.html">Subscription type</a>: <code>Exclusive</code>, <code>Failover</code>, <code>Shared</code>, <code>Key_Shared</code></td></tr>
 <tr><td style="text-align:left"><code>receiverQueueSize</code></td><td style="text-align:left">int</td><td style="text-align:left">no</td><td style="text-align:left">Size of the consumer receive queue (default: 1000)</td></tr>
 <tr><td style="text-align:left"><code>consumerName</code></td><td style="text-align:left">string</td><td style="text-align:left">no</td><td style="text-align:left">Consumer name</td></tr>
 <tr><td style="text-align:left"><code>priorityLevel</code></td><td style="text-align:left">int</td><td style="text-align:left">no</td><td style="text-align:left">Define a <a href="http://pulsar.apache.org/api/client/2.7.0-SNAPSHOT/org/apache/pulsar/client/api/ConsumerConfiguration.html#setPriorityLevel-int-">priority</a> for the consumer</td></tr>
diff --git a/content/docs/fr/client-libraries-websocket/index.html b/content/docs/fr/client-libraries-websocket/index.html
index 9a2388d..1a2207d 100644
--- a/content/docs/fr/client-libraries-websocket/index.html
+++ b/content/docs/fr/client-libraries-websocket/index.html
@@ -184,7 +184,7 @@
 </thead>
 <tbody>
 <tr><td style="text-align:left"><code>ackTimeoutMillis</code></td><td style="text-align:left">long</td><td style="text-align:left">no</td><td style="text-align:left">Set the timeout for unacked messages (default: 0)</td></tr>
-<tr><td style="text-align:left"><code>subscriptionType</code></td><td style="text-align:left">string</td><td style="text-align:left">no</td><td style="text-align:left"><a href="https://pulsar.apache.org/api/client/2.7.0-SNAPSHOT/index.html?org/apache/pulsar/client/api/SubscriptionType.html">Subscription type</a>: <code>Exclusive</code>, <code>Failover</code>, <code>Shared</code></td></tr>
+<tr><td style="text-align:left"><code>subscriptionType</code></td><td style="text-align:left">string</td><td style="text-align:left">no</td><td style="text-align:left"><a href="https://pulsar.apache.org/api/client/2.7.0-SNAPSHOT/index.html?org/apache/pulsar/client/api/SubscriptionType.html">Subscription type</a>: <code>Exclusive</code>, <code>Failover</code>, <code>Shared</code>, <code>Key_Shared</code></td></tr>
 <tr><td style="text-align:left"><code>receiverQueueSize</code></td><td style="text-align:left">int</td><td style="text-align:left">no</td><td style="text-align:left">Size of the consumer receive queue (default: 1000)</td></tr>
 <tr><td style="text-align:left"><code>consumerName</code></td><td style="text-align:left">string</td><td style="text-align:left">no</td><td style="text-align:left">Consumer name</td></tr>
 <tr><td style="text-align:left"><code>priorityLevel</code></td><td style="text-align:left">int</td><td style="text-align:left">no</td><td style="text-align:left">Define a <a href="http://pulsar.apache.org/api/client/2.7.0-SNAPSHOT/org/apache/pulsar/client/api/ConsumerConfiguration.html#setPriorityLevel-int-">priority</a> for the consumer</td></tr>
diff --git a/content/docs/fr/next/adaptors-kafka.html b/content/docs/fr/next/adaptors-kafka.html
index 239ffe3..2157eca 100644
--- a/content/docs/fr/next/adaptors-kafka.html
+++ b/content/docs/fr/next/adaptors-kafka.html
@@ -145,10 +145,10 @@ consumer.subscribe(Arrays.asList(topic));
 }
 </code></pre>
 <h2><a class="anchor" aria-hidden="true" id="exemples-complets"></a><a href="#exemples-complets" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2- [...]
-<p>Vous pouvez trouver les exemples complets de producteurs et de consommateurs <a href="https://github.com/apache/pulsar/tree/master/pulsar-client-kafka-compat/pulsar-client-kafka-tests/src/test/java/org/apache/pulsar/client/kafka/compat/examples">ici</a>.</p>
+<p>You can find the complete producer and consumer examples <a href="https://github.com/apache/pulsar-adapters/tree/master/pulsar-client-kafka-compat/pulsar-client-kafka-tests/src/test/java/org/apache/pulsar/client/kafka/compat/examples">here</a>.</p>
 <h2><a class="anchor" aria-hidden="true" id="matrice-de-compatibilité"></a><a href="#matrice-de-compatibilité" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>Actuellement, le wrapper Pulsar Kafka supporte la plupart des opérations offertes par l'API Kafka.</p>
-<h4><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  [...]
+<h3><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>APIs:</p>
 <table>
 <thead>
@@ -197,7 +197,7 @@ consumer.subscribe(Arrays.asList(topic));
 <tr><td style="text-align:left"><code>value.serializer</code></td><td style="text-align:left">Oui</td><td style="text-align:left"></td></tr>
 </tbody>
 </table>
-<h4><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  [...]
+<h3><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>Le tableau suivant liste les APIs des consommateurs.</p>
 <table>
 <thead>
@@ -315,7 +315,7 @@ consumer.subscribe(Arrays.asList(topic));
 <tr><td style="text-align:left"><a href="http://pulsar.apache.org/api/client/2.7.0-SNAPSHOT/org/apache/pulsar/client/api/ConsumerBuilder.html#subscriptionTopicsMode-Mode-"><code>pulsar.consumer.subscription.topics.mode</code></a></td><td style="text-align:left">PersistentOnly</td><td style="text-align:left">Définit le mode d'abonnement au topic pour les consommateurs.</td></tr>
 </tbody>
 </table>
-</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/fr/next/admin-api-packages"><span class="arrow-prev">← </span><span>Packages</span></a><a class="docs-next button" href="/docs/fr/next/adaptors-spark"><span>Apache Spark</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#à-laide-du-wrapper-de-compatibilité-pulsar-pour-kafka">À l’aide du wrapper de compatibilité Pulsar pou [...]
+</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/fr/next/admin-api-packages"><span class="arrow-prev">← </span><span>Packages</span></a><a class="docs-next button" href="/docs/fr/next/adaptors-spark"><span>Apache Spark</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#à-laide-du-wrapper-de-compatibilité-pulsar-pour-kafka">À l’aide du wrapper de compatibilité Pulsar pou [...]
       const community = document.querySelector("a[href='#community']").parentNode;
       const communityMenu =
         '<li>' +
diff --git a/content/docs/fr/next/adaptors-kafka/index.html b/content/docs/fr/next/adaptors-kafka/index.html
index 239ffe3..2157eca 100644
--- a/content/docs/fr/next/adaptors-kafka/index.html
+++ b/content/docs/fr/next/adaptors-kafka/index.html
@@ -145,10 +145,10 @@ consumer.subscribe(Arrays.asList(topic));
 }
 </code></pre>
 <h2><a class="anchor" aria-hidden="true" id="exemples-complets"></a><a href="#exemples-complets" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2- [...]
-<p>Vous pouvez trouver les exemples complets de producteurs et de consommateurs <a href="https://github.com/apache/pulsar/tree/master/pulsar-client-kafka-compat/pulsar-client-kafka-tests/src/test/java/org/apache/pulsar/client/kafka/compat/examples">ici</a>.</p>
+<p>You can find the complete producer and consumer examples <a href="https://github.com/apache/pulsar-adapters/tree/master/pulsar-client-kafka-compat/pulsar-client-kafka-tests/src/test/java/org/apache/pulsar/client/kafka/compat/examples">here</a>.</p>
 <h2><a class="anchor" aria-hidden="true" id="matrice-de-compatibilité"></a><a href="#matrice-de-compatibilité" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>Actuellement, le wrapper Pulsar Kafka supporte la plupart des opérations offertes par l'API Kafka.</p>
-<h4><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  [...]
+<h3><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>APIs:</p>
 <table>
 <thead>
@@ -197,7 +197,7 @@ consumer.subscribe(Arrays.asList(topic));
 <tr><td style="text-align:left"><code>value.serializer</code></td><td style="text-align:left">Oui</td><td style="text-align:left"></td></tr>
 </tbody>
 </table>
-<h4><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  [...]
+<h3><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>Le tableau suivant liste les APIs des consommateurs.</p>
 <table>
 <thead>
@@ -315,7 +315,7 @@ consumer.subscribe(Arrays.asList(topic));
 <tr><td style="text-align:left"><a href="http://pulsar.apache.org/api/client/2.7.0-SNAPSHOT/org/apache/pulsar/client/api/ConsumerBuilder.html#subscriptionTopicsMode-Mode-"><code>pulsar.consumer.subscription.topics.mode</code></a></td><td style="text-align:left">PersistentOnly</td><td style="text-align:left">Définit le mode d'abonnement au topic pour les consommateurs.</td></tr>
 </tbody>
 </table>
-</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/fr/next/admin-api-packages"><span class="arrow-prev">← </span><span>Packages</span></a><a class="docs-next button" href="/docs/fr/next/adaptors-spark"><span>Apache Spark</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#à-laide-du-wrapper-de-compatibilité-pulsar-pour-kafka">À l’aide du wrapper de compatibilité Pulsar pou [...]
+</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/fr/next/admin-api-packages"><span class="arrow-prev">← </span><span>Packages</span></a><a class="docs-next button" href="/docs/fr/next/adaptors-spark"><span>Apache Spark</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#à-laide-du-wrapper-de-compatibilité-pulsar-pour-kafka">À l’aide du wrapper de compatibilité Pulsar pou [...]
       const community = document.querySelector("a[href='#community']").parentNode;
       const communityMenu =
         '<li>' +
diff --git a/content/docs/fr/next/adaptors-spark.html b/content/docs/fr/next/adaptors-spark.html
index bfff1ea..6f8bd27 100644
--- a/content/docs/fr/next/adaptors-spark.html
+++ b/content/docs/fr/next/adaptors-spark.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="fr"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Adaptateur Pulsar pour Apache Spark · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Le récepteur Spark Streaming pour Pulsar est un récepteur personnalisé qui permet à Apache [Spark Streaming](https://spark.apache.org/streaming/) de recevoir des données de Pulsar." [...]
+<!DOCTYPE html><html lang="fr"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Adaptateur Pulsar pour Apache Spark · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="## Spark structured streaming connector"/><meta name="docsearch:version" content="next"/><meta name="docsearch:language" content="fr"/><meta property="og:title" content="Adaptateur  [...]
               (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
               (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
               m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
@@ -74,11 +74,14 @@
                 };
               }
             });
-        </script></nav></div><div class="container mainContainer docsContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://crowdin.com/project/apache-pulsar/fr" target="_blank" rel="noreferrer noopener">Translate</a><h1 id="__docusaurus" class="postHeaderTitle">Adaptateur Pulsar pour Apache Spark</h1></header><article><div><span><p>Le récepteur Spark Streaming pour Pulsar est un récepteur personnalisé qui permet à Apac [...]
+        </script></nav></div><div class="container mainContainer docsContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://crowdin.com/project/apache-pulsar/fr" target="_blank" rel="noreferrer noopener">Translate</a><h1 id="__docusaurus" class="postHeaderTitle">Adaptateur Pulsar pour Apache Spark</h1></header><article><div><span><h2><a class="anchor" aria-hidden="true" id="spark-structured-streaming-connector"></a><a h [...]
+<p>Pulsar Spark Connector is an integration of Apache Pulsar and Apache Spark (data processing engine), which allows Spark reading data from Pulsar and writing data to Pulsar using Spark structured streaming and Spark SQL and provides exactly-once source semantics and at-least-once sink semantics. For details, refer to <a href="https://hub.streamnative.io/">Pulsar Spark Connector in StreamNative Hub</a>.</p>
+<h2><a class="anchor" aria-hidden="true" id="spark-streaming-connector"></a><a href="#spark-streaming-connector" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>Le récepteur Spark Streaming pour Pulsar est un récepteur personnalisé qui permet à Apache <a href="https://spark.apache.org/streaming/">Spark Streaming</a> de recevoir des données de Pulsar.</p>
 <p>Une application peut recevoir des données au format <a href="https://spark.apache.org/docs/latest/programming-guide.html#resilient-distributed-datasets-rdds">Resilient Distributed Dataset</a> (RDD) via le récepteur Spark Streaming de Pulsar et peut les traiter de différentes façons.</p>
-<h2><a class="anchor" aria-hidden="true" id="prerequisites"></a><a href="#prerequisites" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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 [...]
+<h3><a class="anchor" aria-hidden="true" id="prerequisites"></a><a href="#prerequisites" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>Pour utiliser le récepteur, il faut inclure une dépendance à la bibliothèque <code>pulsar-spark</code> dans votre configuration Java.</p>
-<h3><a class="anchor" aria-hidden="true" id="maven"></a><a href="#maven" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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 [...]
+<h4><a class="anchor" aria-hidden="true" id="maven"></a><a href="#maven" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>Si vous utilisez Maven, ajoutez ceci à votre <code>pom.xml</code>:</p>
 <pre><code class="hljs css language-xml"><span class="hljs-comment">&lt;!-- dans la partie &lt;properties&gt; --&gt;</span>
 <span class="hljs-tag">&lt;<span class="hljs-name">pulsar.version</span>&gt;</span>2.7.0<span class="hljs-tag">&lt;/<span class="hljs-name">pulsar.version</span>&gt;</span>
@@ -90,7 +93,7 @@
   <span class="hljs-tag">&lt;<span class="hljs-name">version</span>&gt;</span>${pulsar.version}<span class="hljs-tag">&lt;/<span class="hljs-name">version</span>&gt;</span>
 <span class="hljs-tag">&lt;/<span class="hljs-name">dependency</span>&gt;</span>
 </code></pre>
-<h3><a class="anchor" aria-hidden="true" id="gradle"></a><a href="#gradle" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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="gradle"></a><a href="#gradle" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>Si vous utilisez Gradle, ajoutez ceci à votre fichier <code>build.gradle</code>:</p>
 <pre><code class="hljs css language-groovy"><span class="hljs-keyword">def</span> pulsarVersion = <span class="hljs-string">"2.7.0"</span>
 
@@ -98,7 +101,7 @@ dependencies {
     compile <span class="hljs-string">group:</span> <span class="hljs-string">'org.apache.pulsar'</span>, <span class="hljs-string">name:</span> <span class="hljs-string">'pulsar-spark'</span>, <span class="hljs-string">version:</span> pulsarVersion
 }
 </code></pre>
-<h2><a class="anchor" aria-hidden="true" id="usage"></a><a href="#usage" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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 [...]
+<h3><a class="anchor" aria-hidden="true" id="usage"></a><a href="#usage" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>Pour utiliser le receiver de Pulsar, il faut passer une instance de <code>SparkStreamingPulsarReceiver</code> à la méthode <code>receiverStream</code> de <code>JavaStreamingContext</code>:</p>
 <pre><code class="hljs css language-java">    String serviceUrl = <span class="hljs-string">"pulsar://localhost:6650/"</span>;
     String topic = <span class="hljs-string">"persistent://public/default/test_src"</span>;
@@ -123,7 +126,7 @@ dependencies {
     JavaReceiverInputDStream&lt;<span class="hljs-keyword">byte</span>[]&gt; lineDStream = jsc.receiverStream(pulsarReceiver);
 </code></pre>
 <p>For a complete example, click <a href="https://github.com/apache/pulsar-adapters/blob/master/examples/spark/src/main/java/org/apache/spark/streaming/receiver/example/SparkStreamingPulsarReceiverExample.java">here</a>. In this example, the number of messages that contain the string &quot;Pulsar&quot; in received messages is counted.</p>
-</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/fr/next/adaptors-kafka"><span class="arrow-prev">← </span><span>Wrapper de client Kafka</span></a><a class="docs-next button" href="/docs/fr/next/adaptors-storm"><span>Apache Storm</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#prerequisites">Prerequisites</a><ul class="toc-headings"><li><a href="#maven">Maven</a></li [...]
+</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/fr/next/adaptors-kafka"><span class="arrow-prev">← </span><span>Wrapper de client Kafka</span></a><a class="docs-next button" href="/docs/fr/next/adaptors-storm"><span>Apache Storm</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#spark-structured-streaming-connector">Spark structured streaming connector</a></li><li><a h [...]
       const community = document.querySelector("a[href='#community']").parentNode;
       const communityMenu =
         '<li>' +
diff --git a/content/docs/fr/next/adaptors-spark/index.html b/content/docs/fr/next/adaptors-spark/index.html
index bfff1ea..6f8bd27 100644
--- a/content/docs/fr/next/adaptors-spark/index.html
+++ b/content/docs/fr/next/adaptors-spark/index.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="fr"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Adaptateur Pulsar pour Apache Spark · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Le récepteur Spark Streaming pour Pulsar est un récepteur personnalisé qui permet à Apache [Spark Streaming](https://spark.apache.org/streaming/) de recevoir des données de Pulsar." [...]
+<!DOCTYPE html><html lang="fr"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Adaptateur Pulsar pour Apache Spark · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="## Spark structured streaming connector"/><meta name="docsearch:version" content="next"/><meta name="docsearch:language" content="fr"/><meta property="og:title" content="Adaptateur  [...]
               (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
               (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
               m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
@@ -74,11 +74,14 @@
                 };
               }
             });
-        </script></nav></div><div class="container mainContainer docsContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://crowdin.com/project/apache-pulsar/fr" target="_blank" rel="noreferrer noopener">Translate</a><h1 id="__docusaurus" class="postHeaderTitle">Adaptateur Pulsar pour Apache Spark</h1></header><article><div><span><p>Le récepteur Spark Streaming pour Pulsar est un récepteur personnalisé qui permet à Apac [...]
+        </script></nav></div><div class="container mainContainer docsContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://crowdin.com/project/apache-pulsar/fr" target="_blank" rel="noreferrer noopener">Translate</a><h1 id="__docusaurus" class="postHeaderTitle">Adaptateur Pulsar pour Apache Spark</h1></header><article><div><span><h2><a class="anchor" aria-hidden="true" id="spark-structured-streaming-connector"></a><a h [...]
+<p>Pulsar Spark Connector is an integration of Apache Pulsar and Apache Spark (data processing engine), which allows Spark reading data from Pulsar and writing data to Pulsar using Spark structured streaming and Spark SQL and provides exactly-once source semantics and at-least-once sink semantics. For details, refer to <a href="https://hub.streamnative.io/">Pulsar Spark Connector in StreamNative Hub</a>.</p>
+<h2><a class="anchor" aria-hidden="true" id="spark-streaming-connector"></a><a href="#spark-streaming-connector" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>Le récepteur Spark Streaming pour Pulsar est un récepteur personnalisé qui permet à Apache <a href="https://spark.apache.org/streaming/">Spark Streaming</a> de recevoir des données de Pulsar.</p>
 <p>Une application peut recevoir des données au format <a href="https://spark.apache.org/docs/latest/programming-guide.html#resilient-distributed-datasets-rdds">Resilient Distributed Dataset</a> (RDD) via le récepteur Spark Streaming de Pulsar et peut les traiter de différentes façons.</p>
-<h2><a class="anchor" aria-hidden="true" id="prerequisites"></a><a href="#prerequisites" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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 [...]
+<h3><a class="anchor" aria-hidden="true" id="prerequisites"></a><a href="#prerequisites" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>Pour utiliser le récepteur, il faut inclure une dépendance à la bibliothèque <code>pulsar-spark</code> dans votre configuration Java.</p>
-<h3><a class="anchor" aria-hidden="true" id="maven"></a><a href="#maven" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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 [...]
+<h4><a class="anchor" aria-hidden="true" id="maven"></a><a href="#maven" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>Si vous utilisez Maven, ajoutez ceci à votre <code>pom.xml</code>:</p>
 <pre><code class="hljs css language-xml"><span class="hljs-comment">&lt;!-- dans la partie &lt;properties&gt; --&gt;</span>
 <span class="hljs-tag">&lt;<span class="hljs-name">pulsar.version</span>&gt;</span>2.7.0<span class="hljs-tag">&lt;/<span class="hljs-name">pulsar.version</span>&gt;</span>
@@ -90,7 +93,7 @@
   <span class="hljs-tag">&lt;<span class="hljs-name">version</span>&gt;</span>${pulsar.version}<span class="hljs-tag">&lt;/<span class="hljs-name">version</span>&gt;</span>
 <span class="hljs-tag">&lt;/<span class="hljs-name">dependency</span>&gt;</span>
 </code></pre>
-<h3><a class="anchor" aria-hidden="true" id="gradle"></a><a href="#gradle" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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="gradle"></a><a href="#gradle" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>Si vous utilisez Gradle, ajoutez ceci à votre fichier <code>build.gradle</code>:</p>
 <pre><code class="hljs css language-groovy"><span class="hljs-keyword">def</span> pulsarVersion = <span class="hljs-string">"2.7.0"</span>
 
@@ -98,7 +101,7 @@ dependencies {
     compile <span class="hljs-string">group:</span> <span class="hljs-string">'org.apache.pulsar'</span>, <span class="hljs-string">name:</span> <span class="hljs-string">'pulsar-spark'</span>, <span class="hljs-string">version:</span> pulsarVersion
 }
 </code></pre>
-<h2><a class="anchor" aria-hidden="true" id="usage"></a><a href="#usage" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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 [...]
+<h3><a class="anchor" aria-hidden="true" id="usage"></a><a href="#usage" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>Pour utiliser le receiver de Pulsar, il faut passer une instance de <code>SparkStreamingPulsarReceiver</code> à la méthode <code>receiverStream</code> de <code>JavaStreamingContext</code>:</p>
 <pre><code class="hljs css language-java">    String serviceUrl = <span class="hljs-string">"pulsar://localhost:6650/"</span>;
     String topic = <span class="hljs-string">"persistent://public/default/test_src"</span>;
@@ -123,7 +126,7 @@ dependencies {
     JavaReceiverInputDStream&lt;<span class="hljs-keyword">byte</span>[]&gt; lineDStream = jsc.receiverStream(pulsarReceiver);
 </code></pre>
 <p>For a complete example, click <a href="https://github.com/apache/pulsar-adapters/blob/master/examples/spark/src/main/java/org/apache/spark/streaming/receiver/example/SparkStreamingPulsarReceiverExample.java">here</a>. In this example, the number of messages that contain the string &quot;Pulsar&quot; in received messages is counted.</p>
-</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/fr/next/adaptors-kafka"><span class="arrow-prev">← </span><span>Wrapper de client Kafka</span></a><a class="docs-next button" href="/docs/fr/next/adaptors-storm"><span>Apache Storm</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#prerequisites">Prerequisites</a><ul class="toc-headings"><li><a href="#maven">Maven</a></li [...]
+</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/fr/next/adaptors-kafka"><span class="arrow-prev">← </span><span>Wrapper de client Kafka</span></a><a class="docs-next button" href="/docs/fr/next/adaptors-storm"><span>Apache Storm</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#spark-structured-streaming-connector">Spark structured streaming connector</a></li><li><a h [...]
       const community = document.querySelector("a[href='#community']").parentNode;
       const communityMenu =
         '<li>' +
diff --git a/content/docs/fr/next/client-libraries-java.html b/content/docs/fr/next/client-libraries-java.html
index 710e6f2..706a705 100644
--- a/content/docs/fr/next/client-libraries-java.html
+++ b/content/docs/fr/next/client-libraries-java.html
@@ -320,11 +320,12 @@ You can configure parameters if you do not want to use the default configuration
   &lt;/div&gt;
   | Default |\---|\---|\---|\--- Set&lt;String&gt;| `topicNames`| Topic name| Sets.newTreeSet() Pattern| `topicsPattern`| Topic pattern |None String| `subscriptionName`| Subscription name| None SubscriptionType| `subscriptionType`| Subscription type   
     
-  Three subscription types are available:
+  Four subscription types are available:
   
   * Exclusive
   * Failover
-  * Shared|SubscriptionType.Exclusive int | 
+  * Shared
+  * Key_Shared|SubscriptionType.Exclusive int | 
   `receiverQueueSize` | Size of a consumer's receiver queue.   
     
   For example, the number of messages accumulated by a consumer before an application calls `Receive`.   
diff --git a/content/docs/fr/next/client-libraries-java/index.html b/content/docs/fr/next/client-libraries-java/index.html
index 710e6f2..706a705 100644
--- a/content/docs/fr/next/client-libraries-java/index.html
+++ b/content/docs/fr/next/client-libraries-java/index.html
@@ -320,11 +320,12 @@ You can configure parameters if you do not want to use the default configuration
   &lt;/div&gt;
   | Default |\---|\---|\---|\--- Set&lt;String&gt;| `topicNames`| Topic name| Sets.newTreeSet() Pattern| `topicsPattern`| Topic pattern |None String| `subscriptionName`| Subscription name| None SubscriptionType| `subscriptionType`| Subscription type   
     
-  Three subscription types are available:
+  Four subscription types are available:
   
   * Exclusive
   * Failover
-  * Shared|SubscriptionType.Exclusive int | 
+  * Shared
+  * Key_Shared|SubscriptionType.Exclusive int | 
   `receiverQueueSize` | Size of a consumer's receiver queue.   
     
   For example, the number of messages accumulated by a consumer before an application calls `Receive`.   
diff --git a/content/docs/fr/next/client-libraries-node.html b/content/docs/fr/next/client-libraries-node.html
index f4bc42c..886392d 100644
--- a/content/docs/fr/next/client-libraries-node.html
+++ b/content/docs/fr/next/client-libraries-node.html
@@ -269,7 +269,7 @@ consumer.acknowledge(msg);
 <tbody>
 <tr><td style="text-align:left"><code>topic</code></td><td style="text-align:left">The Pulsar <a href="/docs/fr/next/reference-terminology#topic">topic</a> on which the consumer will establish a subscription and listen for messages.</td><td style="text-align:left"></td></tr>
 <tr><td style="text-align:left"><code>subscription</code></td><td style="text-align:left">The subscription name for this consumer.</td><td style="text-align:left"></td></tr>
-<tr><td style="text-align:left"><code>subscriptionType</code></td><td style="text-align:left">Available options are <code>Exclusive</code>, <code>Shared</code>, and <code>Failover</code>.</td><td style="text-align:left"><code>Exclusive</code></td></tr>
+<tr><td style="text-align:left"><code>subscriptionType</code></td><td style="text-align:left">Available options are <code>Exclusive</code>, <code>Shared</code>, <code>Key_Shared</code>, and <code>Failover</code>.</td><td style="text-align:left"><code>Exclusive</code></td></tr>
 <tr><td style="text-align:left"><code>subscriptionInitialPosition</code></td><td style="text-align:left">Initial position at which to set cursor when subscribing to a topic at first time.</td><td style="text-align:left"><code>SubscriptionInitialPosition.Latest</code></td></tr>
 <tr><td style="text-align:left"><code>ackTimeoutMs</code></td><td style="text-align:left">Acknowledge timeout in milliseconds.</td><td style="text-align:left">0</td></tr>
 <tr><td style="text-align:left"><code>nAckRedeliverTimeoutMs</code></td><td style="text-align:left">Delay to wait before redelivering messages that failed to be processed.</td><td style="text-align:left">60000</td></tr>
diff --git a/content/docs/fr/next/client-libraries-node/index.html b/content/docs/fr/next/client-libraries-node/index.html
index f4bc42c..886392d 100644
--- a/content/docs/fr/next/client-libraries-node/index.html
+++ b/content/docs/fr/next/client-libraries-node/index.html
@@ -269,7 +269,7 @@ consumer.acknowledge(msg);
 <tbody>
 <tr><td style="text-align:left"><code>topic</code></td><td style="text-align:left">The Pulsar <a href="/docs/fr/next/reference-terminology#topic">topic</a> on which the consumer will establish a subscription and listen for messages.</td><td style="text-align:left"></td></tr>
 <tr><td style="text-align:left"><code>subscription</code></td><td style="text-align:left">The subscription name for this consumer.</td><td style="text-align:left"></td></tr>
-<tr><td style="text-align:left"><code>subscriptionType</code></td><td style="text-align:left">Available options are <code>Exclusive</code>, <code>Shared</code>, and <code>Failover</code>.</td><td style="text-align:left"><code>Exclusive</code></td></tr>
+<tr><td style="text-align:left"><code>subscriptionType</code></td><td style="text-align:left">Available options are <code>Exclusive</code>, <code>Shared</code>, <code>Key_Shared</code>, and <code>Failover</code>.</td><td style="text-align:left"><code>Exclusive</code></td></tr>
 <tr><td style="text-align:left"><code>subscriptionInitialPosition</code></td><td style="text-align:left">Initial position at which to set cursor when subscribing to a topic at first time.</td><td style="text-align:left"><code>SubscriptionInitialPosition.Latest</code></td></tr>
 <tr><td style="text-align:left"><code>ackTimeoutMs</code></td><td style="text-align:left">Acknowledge timeout in milliseconds.</td><td style="text-align:left">0</td></tr>
 <tr><td style="text-align:left"><code>nAckRedeliverTimeoutMs</code></td><td style="text-align:left">Delay to wait before redelivering messages that failed to be processed.</td><td style="text-align:left">60000</td></tr>
diff --git a/content/docs/fr/next/client-libraries-websocket.html b/content/docs/fr/next/client-libraries-websocket.html
index d337f46..cdaa005 100644
--- a/content/docs/fr/next/client-libraries-websocket.html
+++ b/content/docs/fr/next/client-libraries-websocket.html
@@ -192,7 +192,7 @@
 </thead>
 <tbody>
 <tr><td style="text-align:left"><code>ackTimeoutMillis</code></td><td style="text-align:left">long</td><td style="text-align:left">no</td><td style="text-align:left">Set the timeout for unacked messages (default: 0)</td></tr>
-<tr><td style="text-align:left"><code>subscriptionType</code></td><td style="text-align:left">string</td><td style="text-align:left">no</td><td style="text-align:left"><a href="https://pulsar.apache.org/api/client/2.7.0-SNAPSHOT/index.html?org/apache/pulsar/client/api/SubscriptionType.html">Subscription type</a>: <code>Exclusive</code>, <code>Failover</code>, <code>Shared</code></td></tr>
+<tr><td style="text-align:left"><code>subscriptionType</code></td><td style="text-align:left">string</td><td style="text-align:left">no</td><td style="text-align:left"><a href="https://pulsar.apache.org/api/client/2.7.0-SNAPSHOT/index.html?org/apache/pulsar/client/api/SubscriptionType.html">Subscription type</a>: <code>Exclusive</code>, <code>Failover</code>, <code>Shared</code>, <code>Key_Shared</code></td></tr>
 <tr><td style="text-align:left"><code>receiverQueueSize</code></td><td style="text-align:left">int</td><td style="text-align:left">no</td><td style="text-align:left">Size of the consumer receive queue (default: 1000)</td></tr>
 <tr><td style="text-align:left"><code>consumerName</code></td><td style="text-align:left">string</td><td style="text-align:left">no</td><td style="text-align:left">Consumer name</td></tr>
 <tr><td style="text-align:left"><code>priorityLevel</code></td><td style="text-align:left">int</td><td style="text-align:left">no</td><td style="text-align:left">Define a <a href="http://pulsar.apache.org/api/client/2.7.0-SNAPSHOT/org/apache/pulsar/client/api/ConsumerConfiguration.html#setPriorityLevel-int-">priority</a> for the consumer</td></tr>
diff --git a/content/docs/fr/next/client-libraries-websocket/index.html b/content/docs/fr/next/client-libraries-websocket/index.html
index d337f46..cdaa005 100644
--- a/content/docs/fr/next/client-libraries-websocket/index.html
+++ b/content/docs/fr/next/client-libraries-websocket/index.html
@@ -192,7 +192,7 @@
 </thead>
 <tbody>
 <tr><td style="text-align:left"><code>ackTimeoutMillis</code></td><td style="text-align:left">long</td><td style="text-align:left">no</td><td style="text-align:left">Set the timeout for unacked messages (default: 0)</td></tr>
-<tr><td style="text-align:left"><code>subscriptionType</code></td><td style="text-align:left">string</td><td style="text-align:left">no</td><td style="text-align:left"><a href="https://pulsar.apache.org/api/client/2.7.0-SNAPSHOT/index.html?org/apache/pulsar/client/api/SubscriptionType.html">Subscription type</a>: <code>Exclusive</code>, <code>Failover</code>, <code>Shared</code></td></tr>
+<tr><td style="text-align:left"><code>subscriptionType</code></td><td style="text-align:left">string</td><td style="text-align:left">no</td><td style="text-align:left"><a href="https://pulsar.apache.org/api/client/2.7.0-SNAPSHOT/index.html?org/apache/pulsar/client/api/SubscriptionType.html">Subscription type</a>: <code>Exclusive</code>, <code>Failover</code>, <code>Shared</code>, <code>Key_Shared</code></td></tr>
 <tr><td style="text-align:left"><code>receiverQueueSize</code></td><td style="text-align:left">int</td><td style="text-align:left">no</td><td style="text-align:left">Size of the consumer receive queue (default: 1000)</td></tr>
 <tr><td style="text-align:left"><code>consumerName</code></td><td style="text-align:left">string</td><td style="text-align:left">no</td><td style="text-align:left">Consumer name</td></tr>
 <tr><td style="text-align:left"><code>priorityLevel</code></td><td style="text-align:left">int</td><td style="text-align:left">no</td><td style="text-align:left">Define a <a href="http://pulsar.apache.org/api/client/2.7.0-SNAPSHOT/org/apache/pulsar/client/api/ConsumerConfiguration.html#setPriorityLevel-int-">priority</a> for the consumer</td></tr>
diff --git a/content/docs/fr/next/io-connectors.html b/content/docs/fr/next/io-connectors.html
index 6a4ddc2..a093244 100644
--- a/content/docs/fr/next/io-connectors.html
+++ b/content/docs/fr/next/io-connectors.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="fr"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Built-in connector · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Pulsar distribution includes a set of common connectors that have been packaged and tested with the rest of Apache Pulsar. These connectors import and export data from some of the most commonly used [...]
+<!DOCTYPE html><html lang="fr"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Built-in connector · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Pulsar distribution includes a set of common connectors that have been packaged and tested with the rest of Apache Pulsar. These connectors import and export data from some of the most commonly used [...]
               (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
               (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
               m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
@@ -74,7 +74,7 @@
                 };
               }
             });
-        </script></nav></div><div class="container mainContainer docsContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://crowdin.com/project/apache-pulsar/fr" target="_blank" rel="noreferrer noopener">Translate</a><h1 id="__docusaurus" class="postHeaderTitle">Built-in connector</h1></header><article><div><span><p>Pulsar distribution includes a set of common connectors that have been packaged and tested with the rest  [...]
+        </script></nav></div><div class="container mainContainer docsContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://crowdin.com/project/apache-pulsar/fr" target="_blank" rel="noreferrer noopener">Translate</a><h1 id="__docusaurus" class="postHeaderTitle">Built-in connector</h1></header><article><div><span><p>Pulsar distribution includes a set of common connectors that have been packaged and tested with the rest  [...]
 <p>Using any of these connectors is as easy as writing a simple connector and running the connector locally or submitting the connector to a Pulsar Functions cluster.</p>
 <h2><a class="anchor" aria-hidden="true" id="source-connector"></a><a href="#source-connector" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>Pulsar has various source connectors, which are sorted alphabetically as below.</p>
diff --git a/content/docs/fr/next/io-connectors/index.html b/content/docs/fr/next/io-connectors/index.html
index 6a4ddc2..a093244 100644
--- a/content/docs/fr/next/io-connectors/index.html
+++ b/content/docs/fr/next/io-connectors/index.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="fr"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Built-in connector · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Pulsar distribution includes a set of common connectors that have been packaged and tested with the rest of Apache Pulsar. These connectors import and export data from some of the most commonly used [...]
+<!DOCTYPE html><html lang="fr"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Built-in connector · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Pulsar distribution includes a set of common connectors that have been packaged and tested with the rest of Apache Pulsar. These connectors import and export data from some of the most commonly used [...]
               (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
               (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
               m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
@@ -74,7 +74,7 @@
                 };
               }
             });
-        </script></nav></div><div class="container mainContainer docsContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://crowdin.com/project/apache-pulsar/fr" target="_blank" rel="noreferrer noopener">Translate</a><h1 id="__docusaurus" class="postHeaderTitle">Built-in connector</h1></header><article><div><span><p>Pulsar distribution includes a set of common connectors that have been packaged and tested with the rest  [...]
+        </script></nav></div><div class="container mainContainer docsContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://crowdin.com/project/apache-pulsar/fr" target="_blank" rel="noreferrer noopener">Translate</a><h1 id="__docusaurus" class="postHeaderTitle">Built-in connector</h1></header><article><div><span><p>Pulsar distribution includes a set of common connectors that have been packaged and tested with the rest  [...]
 <p>Using any of these connectors is as easy as writing a simple connector and running the connector locally or submitting the connector to a Pulsar Functions cluster.</p>
 <h2><a class="anchor" aria-hidden="true" id="source-connector"></a><a href="#source-connector" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>Pulsar has various source connectors, which are sorted alphabetically as below.</p>
diff --git a/content/docs/fr/next/performance-pulsar-perf.html b/content/docs/fr/next/performance-pulsar-perf.html
index 42d4455..9d9a99e 100644
--- a/content/docs/fr/next/performance-pulsar-perf.html
+++ b/content/docs/fr/next/performance-pulsar-perf.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="fr"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Pulsar Perf · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="This document describes how to use the Pulsar Perf for performance testing. For detailed information about performance tuning, see [here](https://streamnative.io/whitepaper/taking-a-deep-dive-into-apache-p [...]
+<!DOCTYPE html><html lang="fr"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Pulsar Perf · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="The Pulsar Perf is a built-in performance test tool for Apache Pulsar. You can use the Pulsar Perf to test message writing or reading performance. For detailed information about performance tuning, see [he [...]
               (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
               (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
               m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
@@ -74,10 +74,8 @@
                 };
               }
             });
-        </script></nav></div><div class="container mainContainer docsContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://crowdin.com/project/apache-pulsar/fr" target="_blank" rel="noreferrer noopener">Translate</a><h1 id="__docusaurus" class="postHeaderTitle">Pulsar Perf</h1></header><article><div><span><p>This document describes how to use the Pulsar Perf for performance testing. For detailed information about perfo [...]
-<h2><a class="anchor" aria-hidden="true" id="pulsar-perf"></a><a href="#pulsar-perf" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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 [...]
-<p>The Pulsar Perf is a built-in performance test tool for Apache Pulsar. You can use the Pulsar Perf to test message writing or reading performance.</p>
-<h3><a class="anchor" aria-hidden="true" id="produce-messages"></a><a href="#produce-messages" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2. [...]
+        </script></nav></div><div class="container mainContainer docsContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://crowdin.com/project/apache-pulsar/fr" target="_blank" rel="noreferrer noopener">Translate</a><h1 id="__docusaurus" class="postHeaderTitle">Pulsar Perf</h1></header><article><div><span><p>The Pulsar Perf is a built-in performance test tool for Apache Pulsar. You can use the Pulsar Perf to test messa [...]
+<h2><a class="anchor" aria-hidden="true" id="produce-messages"></a><a href="#produce-messages" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2. [...]
 <p>This example shows how the Pulsar Perf produces messages with default options. For all configuration options available for the <code>pulsar-perf produce</code> command, see <a href="#configuration-options-for-pulsar-perf-produce">configuration options</a>.</p>
 <pre><code class="hljs">bin/pulsar-perf produce <span class="hljs-keyword">my</span>-topic
 </code></pre>
@@ -96,7 +94,7 @@
 <span class="hljs-number">19</span>:<span class="hljs-number">54</span>:<span class="hljs-number">44.336</span> [Thread<span class="hljs-number">-1</span>] INFO  org.apache.pulsar.testclient.PerformanceProducer - Aggregated latency stats --- Latency: mean:   <span class="hljs-number">3.383</span> ms - med:   <span class="hljs-number">3.293</span> - <span class="hljs-number">95</span>pct:   <span class="hljs-number">4.610</span> - <span class="hljs-number">99</span>pct:   <span class="hlj [...]
 </code></pre>
 <p>From the above test data, you can get the throughput statistics and the write latency statistics. The aggregated statistics is printed when the Pulsar Perf is stopped. You can press <strong>Ctrl</strong>+<strong>C</strong> to stop the Pulsar Perf. After the Pulsar Perf is stopped, the <a href="http://hdrhistogram.github.io/HdrHistogram/">HdrHistogram</a> formatted test result appears under your directory. The document looks like <code>perf-producer-1589370810837.hgrm</code>. You can a [...]
-<h4><a class="anchor" aria-hidden="true" id="configuration-options-for-pulsar-perf-produce"></a><a href="#configuration-options-for-pulsar-perf-produce" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h- [...]
+<h3><a class="anchor" aria-hidden="true" id="configuration-options-for-pulsar-perf-produce"></a><a href="#configuration-options-for-pulsar-perf-produce" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h- [...]
 <p>You can get all options by executing the <code>bin/pulsar-perf produce -h</code> command. Therefore, you can modify these options as required.</p>
 <p>The following table lists configuration options available for the <code>pulsar-perf produce</code> command.</p>
 <table>
@@ -134,7 +132,7 @@
 <tr><td>warmup-time</td><td>Set the warm-up time.</td><td>1s</td></tr>
 </tbody>
 </table>
-<h3><a class="anchor" aria-hidden="true" id="consume-messages"></a><a href="#consume-messages" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2. [...]
+<h2><a class="anchor" aria-hidden="true" id="consume-messages"></a><a href="#consume-messages" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2. [...]
 <p>This example shows how the Pulsar Perf consumes messages with default options.</p>
 <pre><code class="hljs">bin/pulsar-perf consume <span class="hljs-keyword">my</span>-topic
 </code></pre>
@@ -152,7 +150,7 @@
 <span class="hljs-number">20</span>:<span class="hljs-number">36</span>:<span class="hljs-number">42.759</span> [Thread<span class="hljs-number">-1</span>] INFO  org.apache.pulsar.testclient.PerformanceConsumer - Aggregated latency stats --- Latency: mean: <span class="hljs-number">9.422</span> ms - med: <span class="hljs-number">9</span> - <span class="hljs-number">95</span>pct: <span class="hljs-number">15</span> - <span class="hljs-number">99</span>pct: <span class="hljs-number">16</s [...]
 </code></pre>
 <p>From the output test data, you can get the throughput statistics and the end-to-end latency statistics. The aggregated statistics is printed after the Pulsar Perf is stopped. You can press <strong>Ctrl</strong>+<strong>C</strong> to stop the Pulsar Perf.</p>
-<h4><a class="anchor" aria-hidden="true" id="configuration-options-for-pulsar-perf-consume"></a><a href="#configuration-options-for-pulsar-perf-consume" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h- [...]
+<h3><a class="anchor" aria-hidden="true" id="configuration-options-for-pulsar-perf-consume"></a><a href="#configuration-options-for-pulsar-perf-consume" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h- [...]
 <p>You can get all options by executing the <code>bin/pulsar-perf consume -h</code> command. Therefore, you can modify these options as required.</p>
 <p>The following table lists configuration options available for the <code>pulsar-perf consume</code> command.</p>
 <table>
@@ -180,7 +178,7 @@
 <tr><td>trust-cert-file</td><td>Set the path for the trusted TLS certificate file.</td><td><empty string></td></tr>
 </tbody>
 </table>
-<h3><a class="anchor" aria-hidden="true" id="configurations"></a><a href="#configurations" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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- [...]
+<h2><a class="anchor" aria-hidden="true" id="configurations"></a><a href="#configurations" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>By default, the Pulsar Perf uses <code>conf/client.conf</code> as the default configuration and uses <code>conf/log4j2.yaml</code> as the default Log4j configuration. If you want to connect to other Pulsar clusters, you can update the <code>brokerServiceUrl</code> in the client configuration.</p>
 <p>You can use the following commands to change the configuration file and the Log4j configuration file.</p>
 <pre><code class="hljs"><span class="hljs-builtin-name">export</span> <span class="hljs-attribute">PULSAR_CLIENT_CONF</span>=&lt;your-config-file&gt;
@@ -209,7 +207,7 @@
 <li><p>Check the test result through the Graphical User Interface of the HdrHistogram Plotter, as shown blow.</p>
 <p><img src="/docs/assets/perf-produce.png" alt=""></p></li>
 </ol>
-</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/fr/next/security-bouncy-castle"><span class="arrow-prev">← </span><span>Bouncy Castle Providers</span></a><a class="docs-next button" href="/docs/fr/next/client-libraries"><span>Overview</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#pulsar-perf">Pulsar Perf</a><ul class="toc-headings"><li><a href="#produce-messages"> [...]
+</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/fr/next/security-bouncy-castle"><span class="arrow-prev">← </span><span>Bouncy Castle Providers</span></a><a class="docs-next button" href="/docs/fr/next/client-libraries"><span>Overview</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#produce-messages">Produce messages</a><ul class="toc-headings"><li><a href="#configur [...]
       const community = document.querySelector("a[href='#community']").parentNode;
       const communityMenu =
         '<li>' +
diff --git a/content/docs/fr/next/performance-pulsar-perf/index.html b/content/docs/fr/next/performance-pulsar-perf/index.html
index 42d4455..9d9a99e 100644
--- a/content/docs/fr/next/performance-pulsar-perf/index.html
+++ b/content/docs/fr/next/performance-pulsar-perf/index.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="fr"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Pulsar Perf · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="This document describes how to use the Pulsar Perf for performance testing. For detailed information about performance tuning, see [here](https://streamnative.io/whitepaper/taking-a-deep-dive-into-apache-p [...]
+<!DOCTYPE html><html lang="fr"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Pulsar Perf · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="The Pulsar Perf is a built-in performance test tool for Apache Pulsar. You can use the Pulsar Perf to test message writing or reading performance. For detailed information about performance tuning, see [he [...]
               (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
               (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
               m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
@@ -74,10 +74,8 @@
                 };
               }
             });
-        </script></nav></div><div class="container mainContainer docsContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://crowdin.com/project/apache-pulsar/fr" target="_blank" rel="noreferrer noopener">Translate</a><h1 id="__docusaurus" class="postHeaderTitle">Pulsar Perf</h1></header><article><div><span><p>This document describes how to use the Pulsar Perf for performance testing. For detailed information about perfo [...]
-<h2><a class="anchor" aria-hidden="true" id="pulsar-perf"></a><a href="#pulsar-perf" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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 [...]
-<p>The Pulsar Perf is a built-in performance test tool for Apache Pulsar. You can use the Pulsar Perf to test message writing or reading performance.</p>
-<h3><a class="anchor" aria-hidden="true" id="produce-messages"></a><a href="#produce-messages" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2. [...]
+        </script></nav></div><div class="container mainContainer docsContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://crowdin.com/project/apache-pulsar/fr" target="_blank" rel="noreferrer noopener">Translate</a><h1 id="__docusaurus" class="postHeaderTitle">Pulsar Perf</h1></header><article><div><span><p>The Pulsar Perf is a built-in performance test tool for Apache Pulsar. You can use the Pulsar Perf to test messa [...]
+<h2><a class="anchor" aria-hidden="true" id="produce-messages"></a><a href="#produce-messages" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2. [...]
 <p>This example shows how the Pulsar Perf produces messages with default options. For all configuration options available for the <code>pulsar-perf produce</code> command, see <a href="#configuration-options-for-pulsar-perf-produce">configuration options</a>.</p>
 <pre><code class="hljs">bin/pulsar-perf produce <span class="hljs-keyword">my</span>-topic
 </code></pre>
@@ -96,7 +94,7 @@
 <span class="hljs-number">19</span>:<span class="hljs-number">54</span>:<span class="hljs-number">44.336</span> [Thread<span class="hljs-number">-1</span>] INFO  org.apache.pulsar.testclient.PerformanceProducer - Aggregated latency stats --- Latency: mean:   <span class="hljs-number">3.383</span> ms - med:   <span class="hljs-number">3.293</span> - <span class="hljs-number">95</span>pct:   <span class="hljs-number">4.610</span> - <span class="hljs-number">99</span>pct:   <span class="hlj [...]
 </code></pre>
 <p>From the above test data, you can get the throughput statistics and the write latency statistics. The aggregated statistics is printed when the Pulsar Perf is stopped. You can press <strong>Ctrl</strong>+<strong>C</strong> to stop the Pulsar Perf. After the Pulsar Perf is stopped, the <a href="http://hdrhistogram.github.io/HdrHistogram/">HdrHistogram</a> formatted test result appears under your directory. The document looks like <code>perf-producer-1589370810837.hgrm</code>. You can a [...]
-<h4><a class="anchor" aria-hidden="true" id="configuration-options-for-pulsar-perf-produce"></a><a href="#configuration-options-for-pulsar-perf-produce" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h- [...]
+<h3><a class="anchor" aria-hidden="true" id="configuration-options-for-pulsar-perf-produce"></a><a href="#configuration-options-for-pulsar-perf-produce" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h- [...]
 <p>You can get all options by executing the <code>bin/pulsar-perf produce -h</code> command. Therefore, you can modify these options as required.</p>
 <p>The following table lists configuration options available for the <code>pulsar-perf produce</code> command.</p>
 <table>
@@ -134,7 +132,7 @@
 <tr><td>warmup-time</td><td>Set the warm-up time.</td><td>1s</td></tr>
 </tbody>
 </table>
-<h3><a class="anchor" aria-hidden="true" id="consume-messages"></a><a href="#consume-messages" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2. [...]
+<h2><a class="anchor" aria-hidden="true" id="consume-messages"></a><a href="#consume-messages" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2. [...]
 <p>This example shows how the Pulsar Perf consumes messages with default options.</p>
 <pre><code class="hljs">bin/pulsar-perf consume <span class="hljs-keyword">my</span>-topic
 </code></pre>
@@ -152,7 +150,7 @@
 <span class="hljs-number">20</span>:<span class="hljs-number">36</span>:<span class="hljs-number">42.759</span> [Thread<span class="hljs-number">-1</span>] INFO  org.apache.pulsar.testclient.PerformanceConsumer - Aggregated latency stats --- Latency: mean: <span class="hljs-number">9.422</span> ms - med: <span class="hljs-number">9</span> - <span class="hljs-number">95</span>pct: <span class="hljs-number">15</span> - <span class="hljs-number">99</span>pct: <span class="hljs-number">16</s [...]
 </code></pre>
 <p>From the output test data, you can get the throughput statistics and the end-to-end latency statistics. The aggregated statistics is printed after the Pulsar Perf is stopped. You can press <strong>Ctrl</strong>+<strong>C</strong> to stop the Pulsar Perf.</p>
-<h4><a class="anchor" aria-hidden="true" id="configuration-options-for-pulsar-perf-consume"></a><a href="#configuration-options-for-pulsar-perf-consume" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h- [...]
+<h3><a class="anchor" aria-hidden="true" id="configuration-options-for-pulsar-perf-consume"></a><a href="#configuration-options-for-pulsar-perf-consume" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h- [...]
 <p>You can get all options by executing the <code>bin/pulsar-perf consume -h</code> command. Therefore, you can modify these options as required.</p>
 <p>The following table lists configuration options available for the <code>pulsar-perf consume</code> command.</p>
 <table>
@@ -180,7 +178,7 @@
 <tr><td>trust-cert-file</td><td>Set the path for the trusted TLS certificate file.</td><td><empty string></td></tr>
 </tbody>
 </table>
-<h3><a class="anchor" aria-hidden="true" id="configurations"></a><a href="#configurations" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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- [...]
+<h2><a class="anchor" aria-hidden="true" id="configurations"></a><a href="#configurations" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>By default, the Pulsar Perf uses <code>conf/client.conf</code> as the default configuration and uses <code>conf/log4j2.yaml</code> as the default Log4j configuration. If you want to connect to other Pulsar clusters, you can update the <code>brokerServiceUrl</code> in the client configuration.</p>
 <p>You can use the following commands to change the configuration file and the Log4j configuration file.</p>
 <pre><code class="hljs"><span class="hljs-builtin-name">export</span> <span class="hljs-attribute">PULSAR_CLIENT_CONF</span>=&lt;your-config-file&gt;
@@ -209,7 +207,7 @@
 <li><p>Check the test result through the Graphical User Interface of the HdrHistogram Plotter, as shown blow.</p>
 <p><img src="/docs/assets/perf-produce.png" alt=""></p></li>
 </ol>
-</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/fr/next/security-bouncy-castle"><span class="arrow-prev">← </span><span>Bouncy Castle Providers</span></a><a class="docs-next button" href="/docs/fr/next/client-libraries"><span>Overview</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#pulsar-perf">Pulsar Perf</a><ul class="toc-headings"><li><a href="#produce-messages"> [...]
+</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/fr/next/security-bouncy-castle"><span class="arrow-prev">← </span><span>Bouncy Castle Providers</span></a><a class="docs-next button" href="/docs/fr/next/client-libraries"><span>Overview</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#produce-messages">Produce messages</a><ul class="toc-headings"><li><a href="#configur [...]
       const community = document.querySelector("a[href='#community']").parentNode;
       const communityMenu =
         '<li>' +
diff --git a/content/docs/fr/next/pulsar-admin.html b/content/docs/fr/next/pulsar-admin.html
index 1920788..5301e68 100644
--- a/content/docs/fr/next/pulsar-admin.html
+++ b/content/docs/fr/next/pulsar-admin.html
@@ -1515,11 +1515,15 @@
 </tbody>
 </table>
 <h2><a class="anchor" aria-hidden="true" id="topics-1"></a><a href="#topics-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  [...]
-<p>Operations for managing Pulsar topics (both persistent and non persistent)</p>
+<p>Operations for managing Pulsar topics (both persistent and non-persistent).</p>
 <p>Usage</p>
 <pre><code class="hljs css language-bash">$ pulsar-admin topics subcommand
 </code></pre>
-<p>Subcommands * <code>compact</code> * <code>compaction-status</code> * <code>offload</code> * <code>offload-status</code> * <code>create-partitioned-topic</code> * <code>create-missed-partitions</code> * <code>delete-partitioned-topic</code> * <code>create</code> * <code>get-partitioned-topic-metadata</code> * <code>update-partitioned-topic</code> * <code>list-partitioned-topics</code> * <code>list</code> * <code>terminate</code> * <code>permissions</code> * <code>grant-permission</cod [...]
+<p>From Pulsar 2.7.0, some namespace-level policies are available on topic level. To enable topic-level policy in Pulsar, you need to configure the following parameters in the <code>broker.conf</code> file.</p>
+<pre><code class="hljs css language-shell">systemTopicEnabled=true
+topicLevelPoliciesEnabled=true
+</code></pre>
+<p>Subcommands * <code>compact</code> * <code>compaction-status</code> * <code>offload</code> * <code>offload-status</code> * <code>create-partitioned-topic</code> * <code>create-missed-partitions</code> * <code>delete-partitioned-topic</code> * <code>create</code> * <code>get-partitioned-topic-metadata</code> * <code>update-partitioned-topic</code> * <code>list-partitioned-topics</code> * <code>list</code> * <code>terminate</code> * <code>permissions</code> * <code>grant-permission</cod [...]
 <h3><a class="anchor" aria-hidden="true" id="compact"></a><a href="#compact" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>Run compaction on the specified topic (persistent topics only)</p>
 <p>Usage</p>
diff --git a/content/docs/fr/next/pulsar-admin/index.html b/content/docs/fr/next/pulsar-admin/index.html
index 1920788..5301e68 100644
--- a/content/docs/fr/next/pulsar-admin/index.html
+++ b/content/docs/fr/next/pulsar-admin/index.html
@@ -1515,11 +1515,15 @@
 </tbody>
 </table>
 <h2><a class="anchor" aria-hidden="true" id="topics-1"></a><a href="#topics-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  [...]
-<p>Operations for managing Pulsar topics (both persistent and non persistent)</p>
+<p>Operations for managing Pulsar topics (both persistent and non-persistent).</p>
 <p>Usage</p>
 <pre><code class="hljs css language-bash">$ pulsar-admin topics subcommand
 </code></pre>
-<p>Subcommands * <code>compact</code> * <code>compaction-status</code> * <code>offload</code> * <code>offload-status</code> * <code>create-partitioned-topic</code> * <code>create-missed-partitions</code> * <code>delete-partitioned-topic</code> * <code>create</code> * <code>get-partitioned-topic-metadata</code> * <code>update-partitioned-topic</code> * <code>list-partitioned-topics</code> * <code>list</code> * <code>terminate</code> * <code>permissions</code> * <code>grant-permission</cod [...]
+<p>From Pulsar 2.7.0, some namespace-level policies are available on topic level. To enable topic-level policy in Pulsar, you need to configure the following parameters in the <code>broker.conf</code> file.</p>
+<pre><code class="hljs css language-shell">systemTopicEnabled=true
+topicLevelPoliciesEnabled=true
+</code></pre>
+<p>Subcommands * <code>compact</code> * <code>compaction-status</code> * <code>offload</code> * <code>offload-status</code> * <code>create-partitioned-topic</code> * <code>create-missed-partitions</code> * <code>delete-partitioned-topic</code> * <code>create</code> * <code>get-partitioned-topic-metadata</code> * <code>update-partitioned-topic</code> * <code>list-partitioned-topics</code> * <code>list</code> * <code>terminate</code> * <code>permissions</code> * <code>grant-permission</cod [...]
 <h3><a class="anchor" aria-hidden="true" id="compact"></a><a href="#compact" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>Run compaction on the specified topic (persistent topics only)</p>
 <p>Usage</p>
diff --git a/content/docs/fr/next/reference-configuration.html b/content/docs/fr/next/reference-configuration.html
index 471b466..c5d63d9 100644
--- a/content/docs/fr/next/reference-configuration.html
+++ b/content/docs/fr/next/reference-configuration.html
@@ -258,6 +258,7 @@ Instead, you can set a subscription expiration time for each <strong>namespace</
 </tbody>
 </table>
 <h2><a class="anchor" aria-hidden="true" id="log4j"></a><a href="#log4j" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>You can set the log level and configuration in the <a href="https://github.com/apache/pulsar/blob/d557e0aa286866363bc6261dec87790c055db1b0/conf/log4j2.yaml#L155">log4j2.yaml</a> file. The following logging configuration parameters are available.</p>
 <table>
 <thead>
 <tr><th>Name</th><th>Default</th></tr>
@@ -304,7 +305,7 @@ Instead, you can set a subscription expiration time for each <strong>namespace</
 </tbody>
 </table>
 <h2><a class="anchor" aria-hidden="true" id="standalone"></a><a href="#standalone" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>|Name|Description|Default| |---|---|---| |authenticateOriginalAuthData| If this flag is set to <code>true</code>, the broker authenticates the original Auth data; else it just accepts the originalPrincipal and authorizes it (if required). |false| |zookeeperServers| The quorum connection string for local ZooKeeper || |zooKeeperCacheExpirySeconds|ZooKeeper cache expiry time in seconds|300 |configurationStoreServers| Configuration store connection string (as a comma-separated list) || |b [...]
+<p>|Name|Description|Default| |---|---|---| |authenticateOriginalAuthData| If this flag is set to <code>true</code>, the broker authenticates the original Auth data; else it just accepts the originalPrincipal and authorizes it (if required). |false| |zookeeperServers| The quorum connection string for local ZooKeeper || |zooKeeperCacheExpirySeconds|ZooKeeper cache expiry time in seconds|300 |configurationStoreServers| Configuration store connection string (as a comma-separated list) || |b [...]
 <ul>
 <li>JKS
 <ul>
diff --git a/content/docs/fr/next/reference-configuration/index.html b/content/docs/fr/next/reference-configuration/index.html
index 471b466..c5d63d9 100644
--- a/content/docs/fr/next/reference-configuration/index.html
+++ b/content/docs/fr/next/reference-configuration/index.html
@@ -258,6 +258,7 @@ Instead, you can set a subscription expiration time for each <strong>namespace</
 </tbody>
 </table>
 <h2><a class="anchor" aria-hidden="true" id="log4j"></a><a href="#log4j" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>You can set the log level and configuration in the <a href="https://github.com/apache/pulsar/blob/d557e0aa286866363bc6261dec87790c055db1b0/conf/log4j2.yaml#L155">log4j2.yaml</a> file. The following logging configuration parameters are available.</p>
 <table>
 <thead>
 <tr><th>Name</th><th>Default</th></tr>
@@ -304,7 +305,7 @@ Instead, you can set a subscription expiration time for each <strong>namespace</
 </tbody>
 </table>
 <h2><a class="anchor" aria-hidden="true" id="standalone"></a><a href="#standalone" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>|Name|Description|Default| |---|---|---| |authenticateOriginalAuthData| If this flag is set to <code>true</code>, the broker authenticates the original Auth data; else it just accepts the originalPrincipal and authorizes it (if required). |false| |zookeeperServers| The quorum connection string for local ZooKeeper || |zooKeeperCacheExpirySeconds|ZooKeeper cache expiry time in seconds|300 |configurationStoreServers| Configuration store connection string (as a comma-separated list) || |b [...]
+<p>|Name|Description|Default| |---|---|---| |authenticateOriginalAuthData| If this flag is set to <code>true</code>, the broker authenticates the original Auth data; else it just accepts the originalPrincipal and authorizes it (if required). |false| |zookeeperServers| The quorum connection string for local ZooKeeper || |zooKeeperCacheExpirySeconds|ZooKeeper cache expiry time in seconds|300 |configurationStoreServers| Configuration store connection string (as a comma-separated list) || |b [...]
 <ul>
 <li>JKS
 <ul>
diff --git a/content/docs/fr/next/reference-metrics.html b/content/docs/fr/next/reference-metrics.html
index dcb522a..2c1270c 100644
--- a/content/docs/fr/next/reference-metrics.html
+++ b/content/docs/fr/next/reference-metrics.html
@@ -141,7 +141,7 @@
 <li>1: the bookie is running in writable mode.</li>
 <li>0: the bookie is running in readonly mode.</li>
 </ul>
-<p>| | bookkeeper_server_ADD_ENTRY_count | Counter | The total number of ADD_ENTRY requests received at the bookie. The <code>success</code> label is used to distinguish successes and failures. | | bookkeeper_server_READ_ENTRY_count | Counter | The total number of READ_ENTRY requests received at the bookie. The <code>success</code> label is used to distinguish successes and failures. | | bookie_WRITE_BYTES | Counter | The total number of bytes written to the bookie. | | bookie_READ_BYTES [...]
+<p>| | bookkeeper_server_ADD_ENTRY_count | Counter | The total number of ADD_ENTRY requests received at the bookie. The <code>success</code> label is used to distinguish successes and failures. | | bookkeeper_server_READ_ENTRY_count | Counter | The total number of READ_ENTRY requests received at the bookie. The <code>success</code> label is used to distinguish successes and failures. | | bookie_WRITE_BYTES | Counter | The total number of bytes written to the bookie. | | bookie_READ_BYTES [...]
 <h3><a class="anchor" aria-hidden="true" id="journal-metrics"></a><a href="#journal-metrics" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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  [...]
 <table>
 <thead>
@@ -152,8 +152,8 @@
 <tr><td>bookie_journal_JOURNAL_QUEUE_SIZE</td><td>Gauge</td><td>The total number of requests pending in the journal queue.</td></tr>
 <tr><td>bookie_journal_JOURNAL_FORCE_WRITE_QUEUE_SIZE</td><td>Gauge</td><td>The total number of force write (fsync) requests pending in the force-write queue.</td></tr>
 <tr><td>bookie_journal_JOURNAL_CB_QUEUE_SIZE</td><td>Gauge</td><td>The total number of callbacks pending in the callback queue.</td></tr>
-<tr><td>bookie_journal_JOURNAL_ADD_ENTRY</td><td>Histogram</td><td>The histogram of request latency of adding entries to the journal.</td></tr>
-<tr><td>bookie_journal_JOURNAL_SYNC</td><td>Histogram</td><td>The histogram of fsync latency of syncing data to the journal disk.</td></tr>
+<tr><td>bookie_journal_JOURNAL_ADD_ENTRY</td><td>Summary</td><td>The summary of request latency of adding entries to the journal.</td></tr>
+<tr><td>bookie_journal_JOURNAL_SYNC</td><td>Summary</td><td>The summary of fsync latency of syncing data to the journal disk.</td></tr>
 </tbody>
 </table>
 <h3><a class="anchor" aria-hidden="true" id="storage-metrics"></a><a href="#storage-metrics" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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  [...]
diff --git a/content/docs/fr/next/reference-metrics/index.html b/content/docs/fr/next/reference-metrics/index.html
index dcb522a..2c1270c 100644
--- a/content/docs/fr/next/reference-metrics/index.html
+++ b/content/docs/fr/next/reference-metrics/index.html
@@ -141,7 +141,7 @@
 <li>1: the bookie is running in writable mode.</li>
 <li>0: the bookie is running in readonly mode.</li>
 </ul>
-<p>| | bookkeeper_server_ADD_ENTRY_count | Counter | The total number of ADD_ENTRY requests received at the bookie. The <code>success</code> label is used to distinguish successes and failures. | | bookkeeper_server_READ_ENTRY_count | Counter | The total number of READ_ENTRY requests received at the bookie. The <code>success</code> label is used to distinguish successes and failures. | | bookie_WRITE_BYTES | Counter | The total number of bytes written to the bookie. | | bookie_READ_BYTES [...]
+<p>| | bookkeeper_server_ADD_ENTRY_count | Counter | The total number of ADD_ENTRY requests received at the bookie. The <code>success</code> label is used to distinguish successes and failures. | | bookkeeper_server_READ_ENTRY_count | Counter | The total number of READ_ENTRY requests received at the bookie. The <code>success</code> label is used to distinguish successes and failures. | | bookie_WRITE_BYTES | Counter | The total number of bytes written to the bookie. | | bookie_READ_BYTES [...]
 <h3><a class="anchor" aria-hidden="true" id="journal-metrics"></a><a href="#journal-metrics" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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  [...]
 <table>
 <thead>
@@ -152,8 +152,8 @@
 <tr><td>bookie_journal_JOURNAL_QUEUE_SIZE</td><td>Gauge</td><td>The total number of requests pending in the journal queue.</td></tr>
 <tr><td>bookie_journal_JOURNAL_FORCE_WRITE_QUEUE_SIZE</td><td>Gauge</td><td>The total number of force write (fsync) requests pending in the force-write queue.</td></tr>
 <tr><td>bookie_journal_JOURNAL_CB_QUEUE_SIZE</td><td>Gauge</td><td>The total number of callbacks pending in the callback queue.</td></tr>
-<tr><td>bookie_journal_JOURNAL_ADD_ENTRY</td><td>Histogram</td><td>The histogram of request latency of adding entries to the journal.</td></tr>
-<tr><td>bookie_journal_JOURNAL_SYNC</td><td>Histogram</td><td>The histogram of fsync latency of syncing data to the journal disk.</td></tr>
+<tr><td>bookie_journal_JOURNAL_ADD_ENTRY</td><td>Summary</td><td>The summary of request latency of adding entries to the journal.</td></tr>
+<tr><td>bookie_journal_JOURNAL_SYNC</td><td>Summary</td><td>The summary of fsync latency of syncing data to the journal disk.</td></tr>
 </tbody>
 </table>
 <h3><a class="anchor" aria-hidden="true" id="storage-metrics"></a><a href="#storage-metrics" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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  [...]
diff --git a/content/docs/fr/next/tiered-storage-aws.html b/content/docs/fr/next/tiered-storage-aws.html
index e823856..5ae9f34 100644
--- a/content/docs/fr/next/tiered-storage-aws.html
+++ b/content/docs/fr/next/tiered-storage-aws.html
@@ -127,7 +127,7 @@ tiered-storage-jcloud-2.5.1.nar
 <li><p><strong>Required</strong> configurations are as below.</p>
 <p>Required configuration | Description | Example value |---|---|--- <code>managedLedgerOffloadDriver</code> | Offloader driver name, which is case-insensitive. <br><br><strong>Note</strong>: there is a third driver type, S3, which is identical to AWS S3, though S3 requires that you specify an endpoint URL using <code>s3ManagedLedgerOffloadServiceEndpoint</code>. This is useful if using an S3 compatible data store other than AWS S3. | aws-s3 <code>offloadersDirectory</code> | Offloader d [...]
 <li><p><strong>Optional</strong> configurations are as below.</p>
-<p>Optional | Description | Example value |---|---|--- <code>s3ManagedLedgerOffloadRegion</code> | Bucket region | eu-west-3 <code>s3ManagedLedgerOffloadReadBufferSizeInBytes</code>|Size of block read|1 MB <code>s3ManagedLedgerOffloadMaxBlockSizeInBytes</code>|Size of block write|64 MB <code>managedLedgerMinLedgerRolloverTimeMinutes</code>|Minimum time between ledger rollover for a topic<br><br><strong>Note</strong>: it is not recommended that you set this configuration in the production [...]
+<p>Optional | Description | Example value |---|---|--- <code>s3ManagedLedgerOffloadRegion</code> | Bucket region <br><br><strong>Note</strong>: before specifying a value for this parameter, you need to set the following configurations. Otherwise, you might get an error.<br><br>- Set <a href="https://docs.aws.amazon.com/general/latest/gr/s3.html"><code>s3ManagedLedgerOffloadServiceEndpoint</code></a>.<br><br>Example<br><code>s3ManagedLedgerOffloadServiceEndpoint=https://s3.YOUR_REGION.ama [...]
 </ul>
 <h4><a class="anchor" aria-hidden="true" id="bucket-required"></a><a href="#bucket-required" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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  [...]
 <p>A bucket is a basic container that holds your data. Everything you store in AWS S3 must be contained in a bucket. You can use a bucket to organize your data and control access to your data, but unlike directory and folder, you cannot nest a bucket.</p>
diff --git a/content/docs/fr/next/tiered-storage-aws/index.html b/content/docs/fr/next/tiered-storage-aws/index.html
index e823856..5ae9f34 100644
--- a/content/docs/fr/next/tiered-storage-aws/index.html
+++ b/content/docs/fr/next/tiered-storage-aws/index.html
@@ -127,7 +127,7 @@ tiered-storage-jcloud-2.5.1.nar
 <li><p><strong>Required</strong> configurations are as below.</p>
 <p>Required configuration | Description | Example value |---|---|--- <code>managedLedgerOffloadDriver</code> | Offloader driver name, which is case-insensitive. <br><br><strong>Note</strong>: there is a third driver type, S3, which is identical to AWS S3, though S3 requires that you specify an endpoint URL using <code>s3ManagedLedgerOffloadServiceEndpoint</code>. This is useful if using an S3 compatible data store other than AWS S3. | aws-s3 <code>offloadersDirectory</code> | Offloader d [...]
 <li><p><strong>Optional</strong> configurations are as below.</p>
-<p>Optional | Description | Example value |---|---|--- <code>s3ManagedLedgerOffloadRegion</code> | Bucket region | eu-west-3 <code>s3ManagedLedgerOffloadReadBufferSizeInBytes</code>|Size of block read|1 MB <code>s3ManagedLedgerOffloadMaxBlockSizeInBytes</code>|Size of block write|64 MB <code>managedLedgerMinLedgerRolloverTimeMinutes</code>|Minimum time between ledger rollover for a topic<br><br><strong>Note</strong>: it is not recommended that you set this configuration in the production [...]
+<p>Optional | Description | Example value |---|---|--- <code>s3ManagedLedgerOffloadRegion</code> | Bucket region <br><br><strong>Note</strong>: before specifying a value for this parameter, you need to set the following configurations. Otherwise, you might get an error.<br><br>- Set <a href="https://docs.aws.amazon.com/general/latest/gr/s3.html"><code>s3ManagedLedgerOffloadServiceEndpoint</code></a>.<br><br>Example<br><code>s3ManagedLedgerOffloadServiceEndpoint=https://s3.YOUR_REGION.ama [...]
 </ul>
 <h4><a class="anchor" aria-hidden="true" id="bucket-required"></a><a href="#bucket-required" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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  [...]
 <p>A bucket is a basic container that holds your data. Everything you store in AWS S3 must be contained in a bucket. You can use a bucket to organize your data and control access to your data, but unlike directory and folder, you cannot nest a bucket.</p>
diff --git a/content/docs/fr/pulsar-admin.html b/content/docs/fr/pulsar-admin.html
index 2e7793b..f9ca49a 100644
--- a/content/docs/fr/pulsar-admin.html
+++ b/content/docs/fr/pulsar-admin.html
@@ -1656,6 +1656,10 @@
 <p>Usage</p>
 <pre><code class="hljs css language-bash">$ pulsar-admin topics subcommand
 </code></pre>
+<p>Some namespace-level policies are available on topic level. To enable topic-level policy in Pulsar, you need to configure the following parameters in the <code>broker.conf</code> file.</p>
+<pre><code class="hljs css language-shell">systemTopicEnabled=true
+topicLevelPoliciesEnabled=true
+</code></pre>
 <p>Subcommands</p>
 <ul>
 <li><code>compact</code></li>
@@ -1706,6 +1710,36 @@
 <li><code>get-deduplication</code></li>
 <li><code>set-deduplication</code></li>
 <li><code>remove-deduplication</code></li>
+<li><code>get-max-producers</code></li>
+<li><code>set-max-producers</code></li>
+<li><code>remove-max-producers</code></li>
+<li><code>get-max-consumers</code></li>
+<li><code>set-max-consumers</code></li>
+<li><code>remove-max-consumers</code></li>
+<li><code>get-retention</code></li>
+<li><code>set-retention</code></li>
+<li><code>remove-retention</code></li>
+<li><code>get-dispatch-rate</code></li>
+<li><code>set-dispatch-rate</code></li>
+<li><code>remove-dispatch-rate</code></li>
+<li><code>get-compaction-threshold</code></li>
+<li><code>set-compaction-threshold</code></li>
+<li><code>remove-compaction-threshold</code></li>
+<li><code>get-offload-policies</code></li>
+<li><code>set-offload-policies</code></li>
+<li><code>remove-offload-policies</code></li>
+<li><code>get-max-unacked-messages-per-subscription</code></li>
+<li><code>set-max-unacked-messages-per-subscription</code></li>
+<li><code>remove-max-unacked-messages-per-subscription</code></li>
+<li><code>get-max-unacked-messages-per-consumer</code></li>
+<li><code>set-max-unacked-messages-per-consumer</code></li>
+<li><code>remove-max-unacked-messages-per-consumer</code></li>
+<li><code>get-delayed-delivery</code></li>
+<li><code>set-delayed-delivery</code></li>
+<li><code>remove-delayed-delivery</code></li>
+<li><code>get-inactive-topic-policies</code></li>
+<li><code>set-inactive-topic-policies</code></li>
+<li><code>remove-inactive-topic-policies</code></li>
 </ul>
 <h3><a class="anchor" aria-hidden="true" id="compact"></a><a href="#compact" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>Run compaction on the specified topic (persistent topics only)</p>
diff --git a/content/docs/fr/pulsar-admin/index.html b/content/docs/fr/pulsar-admin/index.html
index 2e7793b..f9ca49a 100644
--- a/content/docs/fr/pulsar-admin/index.html
+++ b/content/docs/fr/pulsar-admin/index.html
@@ -1656,6 +1656,10 @@
 <p>Usage</p>
 <pre><code class="hljs css language-bash">$ pulsar-admin topics subcommand
 </code></pre>
+<p>Some namespace-level policies are available on topic level. To enable topic-level policy in Pulsar, you need to configure the following parameters in the <code>broker.conf</code> file.</p>
+<pre><code class="hljs css language-shell">systemTopicEnabled=true
+topicLevelPoliciesEnabled=true
+</code></pre>
 <p>Subcommands</p>
 <ul>
 <li><code>compact</code></li>
@@ -1706,6 +1710,36 @@
 <li><code>get-deduplication</code></li>
 <li><code>set-deduplication</code></li>
 <li><code>remove-deduplication</code></li>
+<li><code>get-max-producers</code></li>
+<li><code>set-max-producers</code></li>
+<li><code>remove-max-producers</code></li>
+<li><code>get-max-consumers</code></li>
+<li><code>set-max-consumers</code></li>
+<li><code>remove-max-consumers</code></li>
+<li><code>get-retention</code></li>
+<li><code>set-retention</code></li>
+<li><code>remove-retention</code></li>
+<li><code>get-dispatch-rate</code></li>
+<li><code>set-dispatch-rate</code></li>
+<li><code>remove-dispatch-rate</code></li>
+<li><code>get-compaction-threshold</code></li>
+<li><code>set-compaction-threshold</code></li>
+<li><code>remove-compaction-threshold</code></li>
+<li><code>get-offload-policies</code></li>
+<li><code>set-offload-policies</code></li>
+<li><code>remove-offload-policies</code></li>
+<li><code>get-max-unacked-messages-per-subscription</code></li>
+<li><code>set-max-unacked-messages-per-subscription</code></li>
+<li><code>remove-max-unacked-messages-per-subscription</code></li>
+<li><code>get-max-unacked-messages-per-consumer</code></li>
+<li><code>set-max-unacked-messages-per-consumer</code></li>
+<li><code>remove-max-unacked-messages-per-consumer</code></li>
+<li><code>get-delayed-delivery</code></li>
+<li><code>set-delayed-delivery</code></li>
+<li><code>remove-delayed-delivery</code></li>
+<li><code>get-inactive-topic-policies</code></li>
+<li><code>set-inactive-topic-policies</code></li>
+<li><code>remove-inactive-topic-policies</code></li>
 </ul>
 <h3><a class="anchor" aria-hidden="true" id="compact"></a><a href="#compact" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>Run compaction on the specified topic (persistent topics only)</p>
diff --git a/content/docs/fr/reference-metrics.html b/content/docs/fr/reference-metrics.html
index 942c923..32da291 100644
--- a/content/docs/fr/reference-metrics.html
+++ b/content/docs/fr/reference-metrics.html
@@ -133,8 +133,8 @@
 <tr><td>bookkeeper_server_READ_ENTRY_count</td><td>Counter</td><td>The total number of READ_ENTRY requests received at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
 <tr><td>bookie_WRITE_BYTES</td><td>Counter</td><td>The total number of bytes written to the bookie.</td></tr>
 <tr><td>bookie_READ_BYTES</td><td>Counter</td><td>The total number of bytes read from the bookie.</td></tr>
-<tr><td>bookkeeper_server_ADD_ENTRY_REQUEST</td><td>Histogram</td><td>The histogram of request latency of ADD_ENTRY requests at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
-<tr><td>bookkeeper_server_READ_ENTRY_REQUEST</td><td>Histogram</td><td>The histogram of request latency of READ_ENTRY requests at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
+<tr><td>bookkeeper_server_ADD_ENTRY_REQUEST</td><td>Summary</td><td>The summary of request latency of ADD_ENTRY requests at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
+<tr><td>bookkeeper_server_READ_ENTRY_REQUEST</td><td>Summary</td><td>The summary of request latency of READ_ENTRY requests at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
 </tbody>
 </table>
 <h3><a class="anchor" aria-hidden="true" id="journal-metrics"></a><a href="#journal-metrics" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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  [...]
@@ -147,8 +147,8 @@
 <tr><td>bookie_journal_JOURNAL_QUEUE_SIZE</td><td>Gauge</td><td>The total number of requests pending in the journal queue.</td></tr>
 <tr><td>bookie_journal_JOURNAL_FORCE_WRITE_QUEUE_SIZE</td><td>Gauge</td><td>The total number of force write (fsync) requests pending in the force-write queue.</td></tr>
 <tr><td>bookie_journal_JOURNAL_CB_QUEUE_SIZE</td><td>Gauge</td><td>The total number of callbacks pending in the callback queue.</td></tr>
-<tr><td>bookie_journal_JOURNAL_ADD_ENTRY</td><td>Histogram</td><td>The histogram of request latency of adding entries to the journal.</td></tr>
-<tr><td>bookie_journal_JOURNAL_SYNC</td><td>Histogram</td><td>The histogram of fsync latency of syncing data to the journal disk.</td></tr>
+<tr><td>bookie_journal_JOURNAL_ADD_ENTRY</td><td>Summary</td><td>The summary of request latency of adding entries to the journal.</td></tr>
+<tr><td>bookie_journal_JOURNAL_SYNC</td><td>Summary</td><td>The summary of fsync latency of syncing data to the journal disk.</td></tr>
 </tbody>
 </table>
 <h3><a class="anchor" aria-hidden="true" id="storage-metrics"></a><a href="#storage-metrics" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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  [...]
diff --git a/content/docs/fr/reference-metrics/index.html b/content/docs/fr/reference-metrics/index.html
index 942c923..32da291 100644
--- a/content/docs/fr/reference-metrics/index.html
+++ b/content/docs/fr/reference-metrics/index.html
@@ -133,8 +133,8 @@
 <tr><td>bookkeeper_server_READ_ENTRY_count</td><td>Counter</td><td>The total number of READ_ENTRY requests received at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
 <tr><td>bookie_WRITE_BYTES</td><td>Counter</td><td>The total number of bytes written to the bookie.</td></tr>
 <tr><td>bookie_READ_BYTES</td><td>Counter</td><td>The total number of bytes read from the bookie.</td></tr>
-<tr><td>bookkeeper_server_ADD_ENTRY_REQUEST</td><td>Histogram</td><td>The histogram of request latency of ADD_ENTRY requests at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
-<tr><td>bookkeeper_server_READ_ENTRY_REQUEST</td><td>Histogram</td><td>The histogram of request latency of READ_ENTRY requests at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
+<tr><td>bookkeeper_server_ADD_ENTRY_REQUEST</td><td>Summary</td><td>The summary of request latency of ADD_ENTRY requests at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
+<tr><td>bookkeeper_server_READ_ENTRY_REQUEST</td><td>Summary</td><td>The summary of request latency of READ_ENTRY requests at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
 </tbody>
 </table>
 <h3><a class="anchor" aria-hidden="true" id="journal-metrics"></a><a href="#journal-metrics" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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  [...]
@@ -147,8 +147,8 @@
 <tr><td>bookie_journal_JOURNAL_QUEUE_SIZE</td><td>Gauge</td><td>The total number of requests pending in the journal queue.</td></tr>
 <tr><td>bookie_journal_JOURNAL_FORCE_WRITE_QUEUE_SIZE</td><td>Gauge</td><td>The total number of force write (fsync) requests pending in the force-write queue.</td></tr>
 <tr><td>bookie_journal_JOURNAL_CB_QUEUE_SIZE</td><td>Gauge</td><td>The total number of callbacks pending in the callback queue.</td></tr>
-<tr><td>bookie_journal_JOURNAL_ADD_ENTRY</td><td>Histogram</td><td>The histogram of request latency of adding entries to the journal.</td></tr>
-<tr><td>bookie_journal_JOURNAL_SYNC</td><td>Histogram</td><td>The histogram of fsync latency of syncing data to the journal disk.</td></tr>
+<tr><td>bookie_journal_JOURNAL_ADD_ENTRY</td><td>Summary</td><td>The summary of request latency of adding entries to the journal.</td></tr>
+<tr><td>bookie_journal_JOURNAL_SYNC</td><td>Summary</td><td>The summary of fsync latency of syncing data to the journal disk.</td></tr>
 </tbody>
 </table>
 <h3><a class="anchor" aria-hidden="true" id="storage-metrics"></a><a href="#storage-metrics" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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  [...]
diff --git a/content/docs/fr/tiered-storage-aws.html b/content/docs/fr/tiered-storage-aws.html
index b4f6d9a..52bca1c 100644
--- a/content/docs/fr/tiered-storage-aws.html
+++ b/content/docs/fr/tiered-storage-aws.html
@@ -127,7 +127,7 @@ tiered-storage-jcloud-2.5.1.nar
 <li><p><strong>Required</strong> configurations are as below.</p>
 <p>Required configuration | Description | Example value |---|---|--- <code>managedLedgerOffloadDriver</code> | Offloader driver name, which is case-insensitive. <br><br><strong>Note</strong>: there is a third driver type, S3, which is identical to AWS S3, though S3 requires that you specify an endpoint URL using <code>s3ManagedLedgerOffloadServiceEndpoint</code>. This is useful if using an S3 compatible data store other than AWS S3. | aws-s3 <code>offloadersDirectory</code> | Offloader d [...]
 <li><p><strong>Optional</strong> configurations are as below.</p>
-<p>Optional | Description | Example value |---|---|--- <code>s3ManagedLedgerOffloadRegion</code> | Bucket region | eu-west-3 <code>s3ManagedLedgerOffloadReadBufferSizeInBytes</code>|Size of block read|1 MB <code>s3ManagedLedgerOffloadMaxBlockSizeInBytes</code>|Size of block write|64 MB <code>managedLedgerMinLedgerRolloverTimeMinutes</code>|Minimum time between ledger rollover for a topic<br><br><strong>Note</strong>: it is not recommended that you set this configuration in the production [...]
+<p>Optional | Description | Example value |---|---|--- <code>s3ManagedLedgerOffloadRegion</code> | Bucket region <br><br><strong>Note</strong>: before specifying a value for this parameter, you need to set the following configurations. Otherwise, you might get an error.<br><br>- Set <a href="https://docs.aws.amazon.com/general/latest/gr/s3.html"><code>s3ManagedLedgerOffloadServiceEndpoint</code></a>.<br><br>Example<br><code>s3ManagedLedgerOffloadServiceEndpoint=https://s3.YOUR_REGION.ama [...]
 </ul>
 <h4><a class="anchor" aria-hidden="true" id="bucket-required"></a><a href="#bucket-required" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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  [...]
 <p>A bucket is a basic container that holds your data. Everything you store in AWS S3 must be contained in a bucket. You can use a bucket to organize your data and control access to your data, but unlike directory and folder, you cannot nest a bucket.</p>
diff --git a/content/docs/fr/tiered-storage-aws/index.html b/content/docs/fr/tiered-storage-aws/index.html
index b4f6d9a..52bca1c 100644
--- a/content/docs/fr/tiered-storage-aws/index.html
+++ b/content/docs/fr/tiered-storage-aws/index.html
@@ -127,7 +127,7 @@ tiered-storage-jcloud-2.5.1.nar
 <li><p><strong>Required</strong> configurations are as below.</p>
 <p>Required configuration | Description | Example value |---|---|--- <code>managedLedgerOffloadDriver</code> | Offloader driver name, which is case-insensitive. <br><br><strong>Note</strong>: there is a third driver type, S3, which is identical to AWS S3, though S3 requires that you specify an endpoint URL using <code>s3ManagedLedgerOffloadServiceEndpoint</code>. This is useful if using an S3 compatible data store other than AWS S3. | aws-s3 <code>offloadersDirectory</code> | Offloader d [...]
 <li><p><strong>Optional</strong> configurations are as below.</p>
-<p>Optional | Description | Example value |---|---|--- <code>s3ManagedLedgerOffloadRegion</code> | Bucket region | eu-west-3 <code>s3ManagedLedgerOffloadReadBufferSizeInBytes</code>|Size of block read|1 MB <code>s3ManagedLedgerOffloadMaxBlockSizeInBytes</code>|Size of block write|64 MB <code>managedLedgerMinLedgerRolloverTimeMinutes</code>|Minimum time between ledger rollover for a topic<br><br><strong>Note</strong>: it is not recommended that you set this configuration in the production [...]
+<p>Optional | Description | Example value |---|---|--- <code>s3ManagedLedgerOffloadRegion</code> | Bucket region <br><br><strong>Note</strong>: before specifying a value for this parameter, you need to set the following configurations. Otherwise, you might get an error.<br><br>- Set <a href="https://docs.aws.amazon.com/general/latest/gr/s3.html"><code>s3ManagedLedgerOffloadServiceEndpoint</code></a>.<br><br>Example<br><code>s3ManagedLedgerOffloadServiceEndpoint=https://s3.YOUR_REGION.ama [...]
 </ul>
 <h4><a class="anchor" aria-hidden="true" id="bucket-required"></a><a href="#bucket-required" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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  [...]
 <p>A bucket is a basic container that holds your data. Everything you store in AWS S3 must be contained in a bucket. You can use a bucket to organize your data and control access to your data, but unlike directory and folder, you cannot nest a bucket.</p>
diff --git a/content/docs/ja/2.4.0/reference-metrics.html b/content/docs/ja/2.4.0/reference-metrics.html
index ca1a5b4..a760fbb 100644
--- a/content/docs/ja/2.4.0/reference-metrics.html
+++ b/content/docs/ja/2.4.0/reference-metrics.html
@@ -75,8 +75,8 @@
 <tr><td>bookkeeper_server_READ_ENTRY_count</td><td>Counter</td><td>The total number of READ_ENTRY requests received at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
 <tr><td>bookie_WRITE_BYTES</td><td>Counter</td><td>The total number of bytes written to the bookie.</td></tr>
 <tr><td>bookie_READ_BYTES</td><td>Counter</td><td>The total number of bytes read from the bookie.</td></tr>
-<tr><td>bookkeeper_server_ADD_ENTRY_REQUEST</td><td>Histogram</td><td>The histogram of request latency of ADD_ENTRY requests at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
-<tr><td>bookkeeper_server_READ_ENTRY_REQUEST</td><td>Histogram</td><td>The histogram of request latency of READ_ENTRY requests at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
+<tr><td>bookkeeper_server_ADD_ENTRY_REQUEST</td><td>Summary</td><td>The summary of request latency of ADD_ENTRY requests at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
+<tr><td>bookkeeper_server_READ_ENTRY_REQUEST</td><td>Summary</td><td>The summary of request latency of READ_ENTRY requests at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
 </tbody>
 </table>
 <h3><a class="anchor" aria-hidden="true" id="journal-metrics"></a><a href="#journal-metrics" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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  [...]
@@ -89,8 +89,8 @@
 <tr><td>bookie_journal_JOURNAL_QUEUE_SIZE</td><td>Gauge</td><td>The total number of requests pending in the journal queue.</td></tr>
 <tr><td>bookie_journal_JOURNAL_FORCE_WRITE_QUEUE_SIZE</td><td>Gauge</td><td>The total number of force write (fsync) requests pending in the force-write queue.</td></tr>
 <tr><td>bookie_journal_JOURNAL_CB_QUEUE_SIZE</td><td>Gauge</td><td>The total number of callbacks pending in the callback queue.</td></tr>
-<tr><td>bookie_journal_JOURNAL_ADD_ENTRY</td><td>Histogram</td><td>The histogram of request latency of adding entries to the journal.</td></tr>
-<tr><td>bookie_journal_JOURNAL_SYNC</td><td>Histogram</td><td>The histogram of fsync latency of syncing data to the journal disk.</td></tr>
+<tr><td>bookie_journal_JOURNAL_ADD_ENTRY</td><td>Summary</td><td>The summary of request latency of adding entries to the journal.</td></tr>
+<tr><td>bookie_journal_JOURNAL_SYNC</td><td>Summary</td><td>The summary of fsync latency of syncing data to the journal disk.</td></tr>
 </tbody>
 </table>
 <h3><a class="anchor" aria-hidden="true" id="storage-metrics"></a><a href="#storage-metrics" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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  [...]
diff --git a/content/docs/ja/2.4.0/reference-metrics/index.html b/content/docs/ja/2.4.0/reference-metrics/index.html
index ca1a5b4..a760fbb 100644
--- a/content/docs/ja/2.4.0/reference-metrics/index.html
+++ b/content/docs/ja/2.4.0/reference-metrics/index.html
@@ -75,8 +75,8 @@
 <tr><td>bookkeeper_server_READ_ENTRY_count</td><td>Counter</td><td>The total number of READ_ENTRY requests received at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
 <tr><td>bookie_WRITE_BYTES</td><td>Counter</td><td>The total number of bytes written to the bookie.</td></tr>
 <tr><td>bookie_READ_BYTES</td><td>Counter</td><td>The total number of bytes read from the bookie.</td></tr>
-<tr><td>bookkeeper_server_ADD_ENTRY_REQUEST</td><td>Histogram</td><td>The histogram of request latency of ADD_ENTRY requests at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
-<tr><td>bookkeeper_server_READ_ENTRY_REQUEST</td><td>Histogram</td><td>The histogram of request latency of READ_ENTRY requests at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
+<tr><td>bookkeeper_server_ADD_ENTRY_REQUEST</td><td>Summary</td><td>The summary of request latency of ADD_ENTRY requests at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
+<tr><td>bookkeeper_server_READ_ENTRY_REQUEST</td><td>Summary</td><td>The summary of request latency of READ_ENTRY requests at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
 </tbody>
 </table>
 <h3><a class="anchor" aria-hidden="true" id="journal-metrics"></a><a href="#journal-metrics" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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  [...]
@@ -89,8 +89,8 @@
 <tr><td>bookie_journal_JOURNAL_QUEUE_SIZE</td><td>Gauge</td><td>The total number of requests pending in the journal queue.</td></tr>
 <tr><td>bookie_journal_JOURNAL_FORCE_WRITE_QUEUE_SIZE</td><td>Gauge</td><td>The total number of force write (fsync) requests pending in the force-write queue.</td></tr>
 <tr><td>bookie_journal_JOURNAL_CB_QUEUE_SIZE</td><td>Gauge</td><td>The total number of callbacks pending in the callback queue.</td></tr>
-<tr><td>bookie_journal_JOURNAL_ADD_ENTRY</td><td>Histogram</td><td>The histogram of request latency of adding entries to the journal.</td></tr>
-<tr><td>bookie_journal_JOURNAL_SYNC</td><td>Histogram</td><td>The histogram of fsync latency of syncing data to the journal disk.</td></tr>
+<tr><td>bookie_journal_JOURNAL_ADD_ENTRY</td><td>Summary</td><td>The summary of request latency of adding entries to the journal.</td></tr>
+<tr><td>bookie_journal_JOURNAL_SYNC</td><td>Summary</td><td>The summary of fsync latency of syncing data to the journal disk.</td></tr>
 </tbody>
 </table>
 <h3><a class="anchor" aria-hidden="true" id="storage-metrics"></a><a href="#storage-metrics" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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  [...]
diff --git a/content/docs/ja/2.4.1/reference-metrics.html b/content/docs/ja/2.4.1/reference-metrics.html
index f985a62..f6e9076 100644
--- a/content/docs/ja/2.4.1/reference-metrics.html
+++ b/content/docs/ja/2.4.1/reference-metrics.html
@@ -139,7 +139,7 @@
 <li>1: the bookie is running in writable mode.</li>
 <li>0: the bookie is running in readonly mode.</li>
 </ul>
-<p>| | bookkeeper_server_ADD_ENTRY_count | Counter | The total number of ADD_ENTRY requests received at the bookie. The <code>success</code> label is used to distinguish successes and failures. | | bookkeeper_server_READ_ENTRY_count | Counter | The total number of READ_ENTRY requests received at the bookie. The <code>success</code> label is used to distinguish successes and failures. | | bookie_WRITE_BYTES | Counter | The total number of bytes written to the bookie. | | bookie_READ_BYTES [...]
+<p>| | bookkeeper_server_ADD_ENTRY_count | Counter | The total number of ADD_ENTRY requests received at the bookie. The <code>success</code> label is used to distinguish successes and failures. | | bookkeeper_server_READ_ENTRY_count | Counter | The total number of READ_ENTRY requests received at the bookie. The <code>success</code> label is used to distinguish successes and failures. | | bookie_WRITE_BYTES | Counter | The total number of bytes written to the bookie. | | bookie_READ_BYTES [...]
 <h3><a class="anchor" aria-hidden="true" id="journal-metrics"></a><a href="#journal-metrics" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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  [...]
 <table>
 <thead>
@@ -150,8 +150,8 @@
 <tr><td>bookie_journal_JOURNAL_QUEUE_SIZE</td><td>Gauge</td><td>The total number of requests pending in the journal queue.</td></tr>
 <tr><td>bookie_journal_JOURNAL_FORCE_WRITE_QUEUE_SIZE</td><td>Gauge</td><td>The total number of force write (fsync) requests pending in the force-write queue.</td></tr>
 <tr><td>bookie_journal_JOURNAL_CB_QUEUE_SIZE</td><td>Gauge</td><td>The total number of callbacks pending in the callback queue.</td></tr>
-<tr><td>bookie_journal_JOURNAL_ADD_ENTRY</td><td>Histogram</td><td>The histogram of request latency of adding entries to the journal.</td></tr>
-<tr><td>bookie_journal_JOURNAL_SYNC</td><td>Histogram</td><td>The histogram of fsync latency of syncing data to the journal disk.</td></tr>
+<tr><td>bookie_journal_JOURNAL_ADD_ENTRY</td><td>Summary</td><td>The summary of request latency of adding entries to the journal.</td></tr>
+<tr><td>bookie_journal_JOURNAL_SYNC</td><td>Summary</td><td>The summary of fsync latency of syncing data to the journal disk.</td></tr>
 </tbody>
 </table>
 <h3><a class="anchor" aria-hidden="true" id="storage-metrics"></a><a href="#storage-metrics" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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  [...]
diff --git a/content/docs/ja/2.4.1/reference-metrics/index.html b/content/docs/ja/2.4.1/reference-metrics/index.html
index f985a62..f6e9076 100644
--- a/content/docs/ja/2.4.1/reference-metrics/index.html
+++ b/content/docs/ja/2.4.1/reference-metrics/index.html
@@ -139,7 +139,7 @@
 <li>1: the bookie is running in writable mode.</li>
 <li>0: the bookie is running in readonly mode.</li>
 </ul>
-<p>| | bookkeeper_server_ADD_ENTRY_count | Counter | The total number of ADD_ENTRY requests received at the bookie. The <code>success</code> label is used to distinguish successes and failures. | | bookkeeper_server_READ_ENTRY_count | Counter | The total number of READ_ENTRY requests received at the bookie. The <code>success</code> label is used to distinguish successes and failures. | | bookie_WRITE_BYTES | Counter | The total number of bytes written to the bookie. | | bookie_READ_BYTES [...]
+<p>| | bookkeeper_server_ADD_ENTRY_count | Counter | The total number of ADD_ENTRY requests received at the bookie. The <code>success</code> label is used to distinguish successes and failures. | | bookkeeper_server_READ_ENTRY_count | Counter | The total number of READ_ENTRY requests received at the bookie. The <code>success</code> label is used to distinguish successes and failures. | | bookie_WRITE_BYTES | Counter | The total number of bytes written to the bookie. | | bookie_READ_BYTES [...]
 <h3><a class="anchor" aria-hidden="true" id="journal-metrics"></a><a href="#journal-metrics" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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  [...]
 <table>
 <thead>
@@ -150,8 +150,8 @@
 <tr><td>bookie_journal_JOURNAL_QUEUE_SIZE</td><td>Gauge</td><td>The total number of requests pending in the journal queue.</td></tr>
 <tr><td>bookie_journal_JOURNAL_FORCE_WRITE_QUEUE_SIZE</td><td>Gauge</td><td>The total number of force write (fsync) requests pending in the force-write queue.</td></tr>
 <tr><td>bookie_journal_JOURNAL_CB_QUEUE_SIZE</td><td>Gauge</td><td>The total number of callbacks pending in the callback queue.</td></tr>
-<tr><td>bookie_journal_JOURNAL_ADD_ENTRY</td><td>Histogram</td><td>The histogram of request latency of adding entries to the journal.</td></tr>
-<tr><td>bookie_journal_JOURNAL_SYNC</td><td>Histogram</td><td>The histogram of fsync latency of syncing data to the journal disk.</td></tr>
+<tr><td>bookie_journal_JOURNAL_ADD_ENTRY</td><td>Summary</td><td>The summary of request latency of adding entries to the journal.</td></tr>
+<tr><td>bookie_journal_JOURNAL_SYNC</td><td>Summary</td><td>The summary of fsync latency of syncing data to the journal disk.</td></tr>
 </tbody>
 </table>
 <h3><a class="anchor" aria-hidden="true" id="storage-metrics"></a><a href="#storage-metrics" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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  [...]
diff --git a/content/docs/ja/2.4.2/reference-metrics.html b/content/docs/ja/2.4.2/reference-metrics.html
index 4ba75d4..77aa5a3 100644
--- a/content/docs/ja/2.4.2/reference-metrics.html
+++ b/content/docs/ja/2.4.2/reference-metrics.html
@@ -131,8 +131,8 @@
 <tr><td>bookkeeper_server_READ_ENTRY_count</td><td>Counter</td><td>The total number of READ_ENTRY requests received at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
 <tr><td>bookie_WRITE_BYTES</td><td>Counter</td><td>The total number of bytes written to the bookie.</td></tr>
 <tr><td>bookie_READ_BYTES</td><td>Counter</td><td>The total number of bytes read from the bookie.</td></tr>
-<tr><td>bookkeeper_server_ADD_ENTRY_REQUEST</td><td>Histogram</td><td>The histogram of request latency of ADD_ENTRY requests at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
-<tr><td>bookkeeper_server_READ_ENTRY_REQUEST</td><td>Histogram</td><td>The histogram of request latency of READ_ENTRY requests at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
+<tr><td>bookkeeper_server_ADD_ENTRY_REQUEST</td><td>Summary</td><td>The summary of request latency of ADD_ENTRY requests at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
+<tr><td>bookkeeper_server_READ_ENTRY_REQUEST</td><td>Summary</td><td>The summary of request latency of READ_ENTRY requests at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
 </tbody>
 </table>
 <h3><a class="anchor" aria-hidden="true" id="journal-metrics"></a><a href="#journal-metrics" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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  [...]
@@ -145,8 +145,8 @@
 <tr><td>bookie_journal_JOURNAL_QUEUE_SIZE</td><td>Gauge</td><td>The total number of requests pending in the journal queue.</td></tr>
 <tr><td>bookie_journal_JOURNAL_FORCE_WRITE_QUEUE_SIZE</td><td>Gauge</td><td>The total number of force write (fsync) requests pending in the force-write queue.</td></tr>
 <tr><td>bookie_journal_JOURNAL_CB_QUEUE_SIZE</td><td>Gauge</td><td>The total number of callbacks pending in the callback queue.</td></tr>
-<tr><td>bookie_journal_JOURNAL_ADD_ENTRY</td><td>Histogram</td><td>The histogram of request latency of adding entries to the journal.</td></tr>
-<tr><td>bookie_journal_JOURNAL_SYNC</td><td>Histogram</td><td>The histogram of fsync latency of syncing data to the journal disk.</td></tr>
+<tr><td>bookie_journal_JOURNAL_ADD_ENTRY</td><td>Summary</td><td>The summary of request latency of adding entries to the journal.</td></tr>
+<tr><td>bookie_journal_JOURNAL_SYNC</td><td>Summary</td><td>The summary of fsync latency of syncing data to the journal disk.</td></tr>
 </tbody>
 </table>
 <h3><a class="anchor" aria-hidden="true" id="storage-metrics"></a><a href="#storage-metrics" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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  [...]
diff --git a/content/docs/ja/2.4.2/reference-metrics/index.html b/content/docs/ja/2.4.2/reference-metrics/index.html
index 4ba75d4..77aa5a3 100644
--- a/content/docs/ja/2.4.2/reference-metrics/index.html
+++ b/content/docs/ja/2.4.2/reference-metrics/index.html
@@ -131,8 +131,8 @@
 <tr><td>bookkeeper_server_READ_ENTRY_count</td><td>Counter</td><td>The total number of READ_ENTRY requests received at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
 <tr><td>bookie_WRITE_BYTES</td><td>Counter</td><td>The total number of bytes written to the bookie.</td></tr>
 <tr><td>bookie_READ_BYTES</td><td>Counter</td><td>The total number of bytes read from the bookie.</td></tr>
-<tr><td>bookkeeper_server_ADD_ENTRY_REQUEST</td><td>Histogram</td><td>The histogram of request latency of ADD_ENTRY requests at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
-<tr><td>bookkeeper_server_READ_ENTRY_REQUEST</td><td>Histogram</td><td>The histogram of request latency of READ_ENTRY requests at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
+<tr><td>bookkeeper_server_ADD_ENTRY_REQUEST</td><td>Summary</td><td>The summary of request latency of ADD_ENTRY requests at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
+<tr><td>bookkeeper_server_READ_ENTRY_REQUEST</td><td>Summary</td><td>The summary of request latency of READ_ENTRY requests at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
 </tbody>
 </table>
 <h3><a class="anchor" aria-hidden="true" id="journal-metrics"></a><a href="#journal-metrics" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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  [...]
@@ -145,8 +145,8 @@
 <tr><td>bookie_journal_JOURNAL_QUEUE_SIZE</td><td>Gauge</td><td>The total number of requests pending in the journal queue.</td></tr>
 <tr><td>bookie_journal_JOURNAL_FORCE_WRITE_QUEUE_SIZE</td><td>Gauge</td><td>The total number of force write (fsync) requests pending in the force-write queue.</td></tr>
 <tr><td>bookie_journal_JOURNAL_CB_QUEUE_SIZE</td><td>Gauge</td><td>The total number of callbacks pending in the callback queue.</td></tr>
-<tr><td>bookie_journal_JOURNAL_ADD_ENTRY</td><td>Histogram</td><td>The histogram of request latency of adding entries to the journal.</td></tr>
-<tr><td>bookie_journal_JOURNAL_SYNC</td><td>Histogram</td><td>The histogram of fsync latency of syncing data to the journal disk.</td></tr>
+<tr><td>bookie_journal_JOURNAL_ADD_ENTRY</td><td>Summary</td><td>The summary of request latency of adding entries to the journal.</td></tr>
+<tr><td>bookie_journal_JOURNAL_SYNC</td><td>Summary</td><td>The summary of fsync latency of syncing data to the journal disk.</td></tr>
 </tbody>
 </table>
 <h3><a class="anchor" aria-hidden="true" id="storage-metrics"></a><a href="#storage-metrics" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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  [...]
diff --git a/content/docs/ja/2.5.0/client-libraries-java.html b/content/docs/ja/2.5.0/client-libraries-java.html
index 196c3dd..fb58979 100644
--- a/content/docs/ja/2.5.0/client-libraries-java.html
+++ b/content/docs/ja/2.5.0/client-libraries-java.html
@@ -241,7 +241,7 @@ stringProducer.send(<span class="hljs-string">"My message"</span>);
 <h3><a class="anchor" aria-hidden="true" id="configure-consumer"></a><a href="#configure-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- [...]
 <p>If you instantiate a <code>Consumer</code> object by specifying only a topic and subscription name as in the example above, the consumer uses the default configuration.</p>
 <p>When you create a consumer, you can use the <code>loadConf</code> configuration. The following parameters are available in <code>loadConf</code>.</p>
-<p>Type | Name| <div style="width:300px">Description</div>|  Default |---|---|---|--- Set&lt;String&gt;|  <code>topicNames</code>|   Topic name| Sets.newTreeSet() Pattern|   <code>topicsPattern</code>| Topic pattern   |None String| <code>subscriptionName</code>| Subscription name|  None SubscriptionType| <code>subscriptionType</code>|   Subscription type <br/><br/>Three subscription types are available:<li>Exclusive</li><li>Failover</li><li>Shared</li>|SubscriptionType.Exclusive int | <c [...]
+<p>Type | Name| <div style="width:300px">Description</div>|  Default |---|---|---|--- Set&lt;String&gt;|  <code>topicNames</code>|   Topic name| Sets.newTreeSet() Pattern|   <code>topicsPattern</code>| Topic pattern   |None String| <code>subscriptionName</code>| Subscription name|  None SubscriptionType| <code>subscriptionType</code>|   Subscription type <br/><br/>Four subscription types are available:<li>Exclusive</li><li>Failover</li><li>Shared</li><li>Key_Shared</li>|SubscriptionType. [...]
 SortedMap&lt;String, String&gt;|<code>properties</code>|A name or value property of this consumer.<br/><br/><code>properties</code> is application defined metadata attached to a consumer. <br/><br/>When getting a topic stats, associate this metadata with the consumer stats for easier identification.|new TreeMap&lt;&gt;() boolean|<code>readCompacted</code>|If enabling <code>readCompacted</code>, a consumer reads messages from a compacted topic rather than reading a full message backlog of [...]
 <p>You can configure parameters if you do not want to use the default configuration. For a full list, see the Javadoc for the <a href="https://pulsar.incubator.apache.org/api/client/2.7.0-SNAPSHOT/org/apache/pulsar/client/api/ConsumerBuilder">ConsumerBuilder</a>
  class.</p>
diff --git a/content/docs/ja/2.5.0/client-libraries-java/index.html b/content/docs/ja/2.5.0/client-libraries-java/index.html
index 196c3dd..fb58979 100644
--- a/content/docs/ja/2.5.0/client-libraries-java/index.html
+++ b/content/docs/ja/2.5.0/client-libraries-java/index.html
@@ -241,7 +241,7 @@ stringProducer.send(<span class="hljs-string">"My message"</span>);
 <h3><a class="anchor" aria-hidden="true" id="configure-consumer"></a><a href="#configure-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- [...]
 <p>If you instantiate a <code>Consumer</code> object by specifying only a topic and subscription name as in the example above, the consumer uses the default configuration.</p>
 <p>When you create a consumer, you can use the <code>loadConf</code> configuration. The following parameters are available in <code>loadConf</code>.</p>
-<p>Type | Name| <div style="width:300px">Description</div>|  Default |---|---|---|--- Set&lt;String&gt;|  <code>topicNames</code>|   Topic name| Sets.newTreeSet() Pattern|   <code>topicsPattern</code>| Topic pattern   |None String| <code>subscriptionName</code>| Subscription name|  None SubscriptionType| <code>subscriptionType</code>|   Subscription type <br/><br/>Three subscription types are available:<li>Exclusive</li><li>Failover</li><li>Shared</li>|SubscriptionType.Exclusive int | <c [...]
+<p>Type | Name| <div style="width:300px">Description</div>|  Default |---|---|---|--- Set&lt;String&gt;|  <code>topicNames</code>|   Topic name| Sets.newTreeSet() Pattern|   <code>topicsPattern</code>| Topic pattern   |None String| <code>subscriptionName</code>| Subscription name|  None SubscriptionType| <code>subscriptionType</code>|   Subscription type <br/><br/>Four subscription types are available:<li>Exclusive</li><li>Failover</li><li>Shared</li><li>Key_Shared</li>|SubscriptionType. [...]
 SortedMap&lt;String, String&gt;|<code>properties</code>|A name or value property of this consumer.<br/><br/><code>properties</code> is application defined metadata attached to a consumer. <br/><br/>When getting a topic stats, associate this metadata with the consumer stats for easier identification.|new TreeMap&lt;&gt;() boolean|<code>readCompacted</code>|If enabling <code>readCompacted</code>, a consumer reads messages from a compacted topic rather than reading a full message backlog of [...]
 <p>You can configure parameters if you do not want to use the default configuration. For a full list, see the Javadoc for the <a href="https://pulsar.incubator.apache.org/api/client/2.7.0-SNAPSHOT/org/apache/pulsar/client/api/ConsumerBuilder">ConsumerBuilder</a>
  class.</p>
diff --git a/content/docs/ja/2.5.0/client-libraries-node.html b/content/docs/ja/2.5.0/client-libraries-node.html
index 8020da5..a9e6159 100644
--- a/content/docs/ja/2.5.0/client-libraries-node.html
+++ b/content/docs/ja/2.5.0/client-libraries-node.html
@@ -263,7 +263,7 @@ consumer.acknowledge(msg);
 <tbody>
 <tr><td style="text-align:left"><code>topic</code></td><td style="text-align:left">The Pulsar <a href="/docs/ja/2.5.0/reference-terminology#topic">topic</a> on which the consumer will establish a subscription and listen for messages.</td><td style="text-align:left"></td></tr>
 <tr><td style="text-align:left"><code>subscription</code></td><td style="text-align:left">The subscription name for this consumer.</td><td style="text-align:left"></td></tr>
-<tr><td style="text-align:left"><code>subscriptionType</code></td><td style="text-align:left">Available options are <code>Exclusive</code>, <code>Shared</code>, and <code>Failover</code>.</td><td style="text-align:left"><code>Exclusive</code></td></tr>
+<tr><td style="text-align:left"><code>subscriptionType</code></td><td style="text-align:left">Available options are <code>Exclusive</code>, <code>Shared</code>, <code>Key_Shared</code>, and <code>Failover</code>.</td><td style="text-align:left"><code>Exclusive</code></td></tr>
 <tr><td style="text-align:left"><code>ackTimeoutMs</code></td><td style="text-align:left">Acknowledge timeout in milliseconds.</td><td style="text-align:left">0</td></tr>
 <tr><td style="text-align:left"><code>receiverQueueSize</code></td><td style="text-align:left">Sets the size of the consumer's receiver queue, i.e. the number of messages that can be accumulated by the consumer before the application calls <code>receive</code>. A value higher than the default of 1000 could increase consumer throughput, though at the expense of more memory utilization.</td><td style="text-align:left">1000</td></tr>
 <tr><td style="text-align:left"><code>receiverQueueSizeAcrossPartitions</code></td><td style="text-align:left">Set the max total receiver queue size across partitions. This setting will be used to reduce the receiver queue size for individual partitions if the total exceeds this value.</td><td style="text-align:left">50000</td></tr>
diff --git a/content/docs/ja/2.5.0/client-libraries-node/index.html b/content/docs/ja/2.5.0/client-libraries-node/index.html
index 8020da5..a9e6159 100644
--- a/content/docs/ja/2.5.0/client-libraries-node/index.html
+++ b/content/docs/ja/2.5.0/client-libraries-node/index.html
@@ -263,7 +263,7 @@ consumer.acknowledge(msg);
 <tbody>
 <tr><td style="text-align:left"><code>topic</code></td><td style="text-align:left">The Pulsar <a href="/docs/ja/2.5.0/reference-terminology#topic">topic</a> on which the consumer will establish a subscription and listen for messages.</td><td style="text-align:left"></td></tr>
 <tr><td style="text-align:left"><code>subscription</code></td><td style="text-align:left">The subscription name for this consumer.</td><td style="text-align:left"></td></tr>
-<tr><td style="text-align:left"><code>subscriptionType</code></td><td style="text-align:left">Available options are <code>Exclusive</code>, <code>Shared</code>, and <code>Failover</code>.</td><td style="text-align:left"><code>Exclusive</code></td></tr>
+<tr><td style="text-align:left"><code>subscriptionType</code></td><td style="text-align:left">Available options are <code>Exclusive</code>, <code>Shared</code>, <code>Key_Shared</code>, and <code>Failover</code>.</td><td style="text-align:left"><code>Exclusive</code></td></tr>
 <tr><td style="text-align:left"><code>ackTimeoutMs</code></td><td style="text-align:left">Acknowledge timeout in milliseconds.</td><td style="text-align:left">0</td></tr>
 <tr><td style="text-align:left"><code>receiverQueueSize</code></td><td style="text-align:left">Sets the size of the consumer's receiver queue, i.e. the number of messages that can be accumulated by the consumer before the application calls <code>receive</code>. A value higher than the default of 1000 could increase consumer throughput, though at the expense of more memory utilization.</td><td style="text-align:left">1000</td></tr>
 <tr><td style="text-align:left"><code>receiverQueueSizeAcrossPartitions</code></td><td style="text-align:left">Set the max total receiver queue size across partitions. This setting will be used to reduce the receiver queue size for individual partitions if the total exceeds this value.</td><td style="text-align:left">50000</td></tr>
diff --git a/content/docs/ja/2.5.0/reference-metrics.html b/content/docs/ja/2.5.0/reference-metrics.html
index a3be074..2ba5b0e 100644
--- a/content/docs/ja/2.5.0/reference-metrics.html
+++ b/content/docs/ja/2.5.0/reference-metrics.html
@@ -131,8 +131,8 @@
 <tr><td>bookkeeper_server_READ_ENTRY_count</td><td>Counter</td><td>The total number of READ_ENTRY requests received at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
 <tr><td>bookie_WRITE_BYTES</td><td>Counter</td><td>The total number of bytes written to the bookie.</td></tr>
 <tr><td>bookie_READ_BYTES</td><td>Counter</td><td>The total number of bytes read from the bookie.</td></tr>
-<tr><td>bookkeeper_server_ADD_ENTRY_REQUEST</td><td>Histogram</td><td>The histogram of request latency of ADD_ENTRY requests at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
-<tr><td>bookkeeper_server_READ_ENTRY_REQUEST</td><td>Histogram</td><td>The histogram of request latency of READ_ENTRY requests at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
+<tr><td>bookkeeper_server_ADD_ENTRY_REQUEST</td><td>Summary</td><td>The summary of request latency of ADD_ENTRY requests at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
+<tr><td>bookkeeper_server_READ_ENTRY_REQUEST</td><td>Summary</td><td>The summary of request latency of READ_ENTRY requests at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
 </tbody>
 </table>
 <h3><a class="anchor" aria-hidden="true" id="journal-metrics"></a><a href="#journal-metrics" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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  [...]
@@ -145,8 +145,8 @@
 <tr><td>bookie_journal_JOURNAL_QUEUE_SIZE</td><td>Gauge</td><td>The total number of requests pending in the journal queue.</td></tr>
 <tr><td>bookie_journal_JOURNAL_FORCE_WRITE_QUEUE_SIZE</td><td>Gauge</td><td>The total number of force write (fsync) requests pending in the force-write queue.</td></tr>
 <tr><td>bookie_journal_JOURNAL_CB_QUEUE_SIZE</td><td>Gauge</td><td>The total number of callbacks pending in the callback queue.</td></tr>
-<tr><td>bookie_journal_JOURNAL_ADD_ENTRY</td><td>Histogram</td><td>The histogram of request latency of adding entries to the journal.</td></tr>
-<tr><td>bookie_journal_JOURNAL_SYNC</td><td>Histogram</td><td>The histogram of fsync latency of syncing data to the journal disk.</td></tr>
+<tr><td>bookie_journal_JOURNAL_ADD_ENTRY</td><td>Summary</td><td>The summary of request latency of adding entries to the journal.</td></tr>
+<tr><td>bookie_journal_JOURNAL_SYNC</td><td>Summary</td><td>The summary of fsync latency of syncing data to the journal disk.</td></tr>
 </tbody>
 </table>
 <h3><a class="anchor" aria-hidden="true" id="storage-metrics"></a><a href="#storage-metrics" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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  [...]
diff --git a/content/docs/ja/2.5.0/reference-metrics/index.html b/content/docs/ja/2.5.0/reference-metrics/index.html
index a3be074..2ba5b0e 100644
--- a/content/docs/ja/2.5.0/reference-metrics/index.html
+++ b/content/docs/ja/2.5.0/reference-metrics/index.html
@@ -131,8 +131,8 @@
 <tr><td>bookkeeper_server_READ_ENTRY_count</td><td>Counter</td><td>The total number of READ_ENTRY requests received at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
 <tr><td>bookie_WRITE_BYTES</td><td>Counter</td><td>The total number of bytes written to the bookie.</td></tr>
 <tr><td>bookie_READ_BYTES</td><td>Counter</td><td>The total number of bytes read from the bookie.</td></tr>
-<tr><td>bookkeeper_server_ADD_ENTRY_REQUEST</td><td>Histogram</td><td>The histogram of request latency of ADD_ENTRY requests at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
-<tr><td>bookkeeper_server_READ_ENTRY_REQUEST</td><td>Histogram</td><td>The histogram of request latency of READ_ENTRY requests at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
+<tr><td>bookkeeper_server_ADD_ENTRY_REQUEST</td><td>Summary</td><td>The summary of request latency of ADD_ENTRY requests at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
+<tr><td>bookkeeper_server_READ_ENTRY_REQUEST</td><td>Summary</td><td>The summary of request latency of READ_ENTRY requests at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
 </tbody>
 </table>
 <h3><a class="anchor" aria-hidden="true" id="journal-metrics"></a><a href="#journal-metrics" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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  [...]
@@ -145,8 +145,8 @@
 <tr><td>bookie_journal_JOURNAL_QUEUE_SIZE</td><td>Gauge</td><td>The total number of requests pending in the journal queue.</td></tr>
 <tr><td>bookie_journal_JOURNAL_FORCE_WRITE_QUEUE_SIZE</td><td>Gauge</td><td>The total number of force write (fsync) requests pending in the force-write queue.</td></tr>
 <tr><td>bookie_journal_JOURNAL_CB_QUEUE_SIZE</td><td>Gauge</td><td>The total number of callbacks pending in the callback queue.</td></tr>
-<tr><td>bookie_journal_JOURNAL_ADD_ENTRY</td><td>Histogram</td><td>The histogram of request latency of adding entries to the journal.</td></tr>
-<tr><td>bookie_journal_JOURNAL_SYNC</td><td>Histogram</td><td>The histogram of fsync latency of syncing data to the journal disk.</td></tr>
+<tr><td>bookie_journal_JOURNAL_ADD_ENTRY</td><td>Summary</td><td>The summary of request latency of adding entries to the journal.</td></tr>
+<tr><td>bookie_journal_JOURNAL_SYNC</td><td>Summary</td><td>The summary of fsync latency of syncing data to the journal disk.</td></tr>
 </tbody>
 </table>
 <h3><a class="anchor" aria-hidden="true" id="storage-metrics"></a><a href="#storage-metrics" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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  [...]
diff --git a/content/docs/ja/2.5.1/client-libraries-java.html b/content/docs/ja/2.5.1/client-libraries-java.html
index b18f634..4b41202 100644
--- a/content/docs/ja/2.5.1/client-libraries-java.html
+++ b/content/docs/ja/2.5.1/client-libraries-java.html
@@ -242,7 +242,7 @@ stringProducer.send(<span class="hljs-string">"My message"</span>);
 <h3><a class="anchor" aria-hidden="true" id="configure-consumer"></a><a href="#configure-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- [...]
 <p>If you instantiate a <code>Consumer</code> object by specifying only a topic and subscription name as in the example above, the consumer uses the default configuration.</p>
 <p>When you create a consumer, you can use the <code>loadConf</code> configuration. The following parameters are available in <code>loadConf</code>.</p>
-<p>Type | Name| <div style="width:300px">Description</div>|  Default |---|---|---|--- Set&lt;String&gt;|  <code>topicNames</code>|   Topic name| Sets.newTreeSet() Pattern|   <code>topicsPattern</code>| Topic pattern   |None String| <code>subscriptionName</code>| Subscription name|  None SubscriptionType| <code>subscriptionType</code>|   Subscription type <br/><br/>Three subscription types are available:<li>Exclusive</li><li>Failover</li><li>Shared</li>|SubscriptionType.Exclusive int | <c [...]
+<p>Type | Name| <div style="width:300px">Description</div>|  Default |---|---|---|--- Set&lt;String&gt;|  <code>topicNames</code>|   Topic name| Sets.newTreeSet() Pattern|   <code>topicsPattern</code>| Topic pattern   |None String| <code>subscriptionName</code>| Subscription name|  None SubscriptionType| <code>subscriptionType</code>|   Subscription type <br/><br/>Four subscription types are available:<li>Exclusive</li><li>Failover</li><li>Shared</li><li>Key_Shared</li>|SubscriptionType. [...]
 SortedMap&lt;String, String&gt;|<code>properties</code>|A name or value property of this consumer.<br/><br/><code>properties</code> is application defined metadata attached to a consumer. <br/><br/>When getting a topic stats, associate this metadata with the consumer stats for easier identification.|new TreeMap&lt;&gt;() boolean|<code>readCompacted</code>|If enabling <code>readCompacted</code>, a consumer reads messages from a compacted topic rather than reading a full message backlog of [...]
 <p>You can configure parameters if you do not want to use the default configuration. For a full list, see the Javadoc for the <a href="https://pulsar.incubator.apache.org/api/client/2.7.0-SNAPSHOT/org/apache/pulsar/client/api/ConsumerBuilder">ConsumerBuilder</a>
  class.</p>
diff --git a/content/docs/ja/2.5.1/client-libraries-java/index.html b/content/docs/ja/2.5.1/client-libraries-java/index.html
index b18f634..4b41202 100644
--- a/content/docs/ja/2.5.1/client-libraries-java/index.html
+++ b/content/docs/ja/2.5.1/client-libraries-java/index.html
@@ -242,7 +242,7 @@ stringProducer.send(<span class="hljs-string">"My message"</span>);
 <h3><a class="anchor" aria-hidden="true" id="configure-consumer"></a><a href="#configure-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- [...]
 <p>If you instantiate a <code>Consumer</code> object by specifying only a topic and subscription name as in the example above, the consumer uses the default configuration.</p>
 <p>When you create a consumer, you can use the <code>loadConf</code> configuration. The following parameters are available in <code>loadConf</code>.</p>
-<p>Type | Name| <div style="width:300px">Description</div>|  Default |---|---|---|--- Set&lt;String&gt;|  <code>topicNames</code>|   Topic name| Sets.newTreeSet() Pattern|   <code>topicsPattern</code>| Topic pattern   |None String| <code>subscriptionName</code>| Subscription name|  None SubscriptionType| <code>subscriptionType</code>|   Subscription type <br/><br/>Three subscription types are available:<li>Exclusive</li><li>Failover</li><li>Shared</li>|SubscriptionType.Exclusive int | <c [...]
+<p>Type | Name| <div style="width:300px">Description</div>|  Default |---|---|---|--- Set&lt;String&gt;|  <code>topicNames</code>|   Topic name| Sets.newTreeSet() Pattern|   <code>topicsPattern</code>| Topic pattern   |None String| <code>subscriptionName</code>| Subscription name|  None SubscriptionType| <code>subscriptionType</code>|   Subscription type <br/><br/>Four subscription types are available:<li>Exclusive</li><li>Failover</li><li>Shared</li><li>Key_Shared</li>|SubscriptionType. [...]
 SortedMap&lt;String, String&gt;|<code>properties</code>|A name or value property of this consumer.<br/><br/><code>properties</code> is application defined metadata attached to a consumer. <br/><br/>When getting a topic stats, associate this metadata with the consumer stats for easier identification.|new TreeMap&lt;&gt;() boolean|<code>readCompacted</code>|If enabling <code>readCompacted</code>, a consumer reads messages from a compacted topic rather than reading a full message backlog of [...]
 <p>You can configure parameters if you do not want to use the default configuration. For a full list, see the Javadoc for the <a href="https://pulsar.incubator.apache.org/api/client/2.7.0-SNAPSHOT/org/apache/pulsar/client/api/ConsumerBuilder">ConsumerBuilder</a>
  class.</p>
diff --git a/content/docs/ja/2.5.1/client-libraries-node.html b/content/docs/ja/2.5.1/client-libraries-node.html
index cf4c113..07e4435 100644
--- a/content/docs/ja/2.5.1/client-libraries-node.html
+++ b/content/docs/ja/2.5.1/client-libraries-node.html
@@ -266,7 +266,7 @@ In this example, using await operator instead of executor function.</p>
 <tbody>
 <tr><td style="text-align:left"><code>topic</code></td><td style="text-align:left">The Pulsar <a href="/docs/ja/2.5.1/reference-terminology#topic">topic</a> on which the consumer will establish a subscription and listen for messages.</td><td style="text-align:left"></td></tr>
 <tr><td style="text-align:left"><code>subscription</code></td><td style="text-align:left">The subscription name for this consumer.</td><td style="text-align:left"></td></tr>
-<tr><td style="text-align:left"><code>subscriptionType</code></td><td style="text-align:left">Available options are <code>Exclusive</code>, <code>Shared</code>, and <code>Failover</code>.</td><td style="text-align:left"><code>Exclusive</code></td></tr>
+<tr><td style="text-align:left"><code>subscriptionType</code></td><td style="text-align:left">Available options are <code>Exclusive</code>, <code>Shared</code>, <code>Key_Shared</code>, and <code>Failover</code>.</td><td style="text-align:left"><code>Exclusive</code></td></tr>
 <tr><td style="text-align:left"><code>ackTimeoutMs</code></td><td style="text-align:left">Acknowledge timeout in milliseconds.</td><td style="text-align:left">0</td></tr>
 <tr><td style="text-align:left"><code>receiverQueueSize</code></td><td style="text-align:left">Sets the size of the consumer's receiver queue, i.e. the number of messages that can be accumulated by the consumer before the application calls <code>receive</code>. A value higher than the default of 1000 could increase consumer throughput, though at the expense of more memory utilization.</td><td style="text-align:left">1000</td></tr>
 <tr><td style="text-align:left"><code>receiverQueueSizeAcrossPartitions</code></td><td style="text-align:left">Set the max total receiver queue size across partitions. This setting will be used to reduce the receiver queue size for individual partitions if the total exceeds this value.</td><td style="text-align:left">50000</td></tr>
diff --git a/content/docs/ja/2.5.1/client-libraries-node/index.html b/content/docs/ja/2.5.1/client-libraries-node/index.html
index cf4c113..07e4435 100644
--- a/content/docs/ja/2.5.1/client-libraries-node/index.html
+++ b/content/docs/ja/2.5.1/client-libraries-node/index.html
@@ -266,7 +266,7 @@ In this example, using await operator instead of executor function.</p>
 <tbody>
 <tr><td style="text-align:left"><code>topic</code></td><td style="text-align:left">The Pulsar <a href="/docs/ja/2.5.1/reference-terminology#topic">topic</a> on which the consumer will establish a subscription and listen for messages.</td><td style="text-align:left"></td></tr>
 <tr><td style="text-align:left"><code>subscription</code></td><td style="text-align:left">The subscription name for this consumer.</td><td style="text-align:left"></td></tr>
-<tr><td style="text-align:left"><code>subscriptionType</code></td><td style="text-align:left">Available options are <code>Exclusive</code>, <code>Shared</code>, and <code>Failover</code>.</td><td style="text-align:left"><code>Exclusive</code></td></tr>
+<tr><td style="text-align:left"><code>subscriptionType</code></td><td style="text-align:left">Available options are <code>Exclusive</code>, <code>Shared</code>, <code>Key_Shared</code>, and <code>Failover</code>.</td><td style="text-align:left"><code>Exclusive</code></td></tr>
 <tr><td style="text-align:left"><code>ackTimeoutMs</code></td><td style="text-align:left">Acknowledge timeout in milliseconds.</td><td style="text-align:left">0</td></tr>
 <tr><td style="text-align:left"><code>receiverQueueSize</code></td><td style="text-align:left">Sets the size of the consumer's receiver queue, i.e. the number of messages that can be accumulated by the consumer before the application calls <code>receive</code>. A value higher than the default of 1000 could increase consumer throughput, though at the expense of more memory utilization.</td><td style="text-align:left">1000</td></tr>
 <tr><td style="text-align:left"><code>receiverQueueSizeAcrossPartitions</code></td><td style="text-align:left">Set the max total receiver queue size across partitions. This setting will be used to reduce the receiver queue size for individual partitions if the total exceeds this value.</td><td style="text-align:left">50000</td></tr>
diff --git a/content/docs/ja/2.5.1/reference-metrics.html b/content/docs/ja/2.5.1/reference-metrics.html
index 861e939..8588774 100644
--- a/content/docs/ja/2.5.1/reference-metrics.html
+++ b/content/docs/ja/2.5.1/reference-metrics.html
@@ -131,8 +131,8 @@
 <tr><td>bookkeeper_server_READ_ENTRY_count</td><td>Counter</td><td>The total number of READ_ENTRY requests received at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
 <tr><td>bookie_WRITE_BYTES</td><td>Counter</td><td>The total number of bytes written to the bookie.</td></tr>
 <tr><td>bookie_READ_BYTES</td><td>Counter</td><td>The total number of bytes read from the bookie.</td></tr>
-<tr><td>bookkeeper_server_ADD_ENTRY_REQUEST</td><td>Histogram</td><td>The histogram of request latency of ADD_ENTRY requests at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
-<tr><td>bookkeeper_server_READ_ENTRY_REQUEST</td><td>Histogram</td><td>The histogram of request latency of READ_ENTRY requests at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
+<tr><td>bookkeeper_server_ADD_ENTRY_REQUEST</td><td>Summary</td><td>The summary of request latency of ADD_ENTRY requests at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
+<tr><td>bookkeeper_server_READ_ENTRY_REQUEST</td><td>Summary</td><td>The summary of request latency of READ_ENTRY requests at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
 </tbody>
 </table>
 <h3><a class="anchor" aria-hidden="true" id="journal-metrics"></a><a href="#journal-metrics" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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  [...]
@@ -145,8 +145,8 @@
 <tr><td>bookie_journal_JOURNAL_QUEUE_SIZE</td><td>Gauge</td><td>The total number of requests pending in the journal queue.</td></tr>
 <tr><td>bookie_journal_JOURNAL_FORCE_WRITE_QUEUE_SIZE</td><td>Gauge</td><td>The total number of force write (fsync) requests pending in the force-write queue.</td></tr>
 <tr><td>bookie_journal_JOURNAL_CB_QUEUE_SIZE</td><td>Gauge</td><td>The total number of callbacks pending in the callback queue.</td></tr>
-<tr><td>bookie_journal_JOURNAL_ADD_ENTRY</td><td>Histogram</td><td>The histogram of request latency of adding entries to the journal.</td></tr>
-<tr><td>bookie_journal_JOURNAL_SYNC</td><td>Histogram</td><td>The histogram of fsync latency of syncing data to the journal disk.</td></tr>
+<tr><td>bookie_journal_JOURNAL_ADD_ENTRY</td><td>Summary</td><td>The summary of request latency of adding entries to the journal.</td></tr>
+<tr><td>bookie_journal_JOURNAL_SYNC</td><td>Summary</td><td>The summary of fsync latency of syncing data to the journal disk.</td></tr>
 </tbody>
 </table>
 <h3><a class="anchor" aria-hidden="true" id="storage-metrics"></a><a href="#storage-metrics" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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  [...]
diff --git a/content/docs/ja/2.5.1/reference-metrics/index.html b/content/docs/ja/2.5.1/reference-metrics/index.html
index 861e939..8588774 100644
--- a/content/docs/ja/2.5.1/reference-metrics/index.html
+++ b/content/docs/ja/2.5.1/reference-metrics/index.html
@@ -131,8 +131,8 @@
 <tr><td>bookkeeper_server_READ_ENTRY_count</td><td>Counter</td><td>The total number of READ_ENTRY requests received at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
 <tr><td>bookie_WRITE_BYTES</td><td>Counter</td><td>The total number of bytes written to the bookie.</td></tr>
 <tr><td>bookie_READ_BYTES</td><td>Counter</td><td>The total number of bytes read from the bookie.</td></tr>
-<tr><td>bookkeeper_server_ADD_ENTRY_REQUEST</td><td>Histogram</td><td>The histogram of request latency of ADD_ENTRY requests at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
-<tr><td>bookkeeper_server_READ_ENTRY_REQUEST</td><td>Histogram</td><td>The histogram of request latency of READ_ENTRY requests at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
+<tr><td>bookkeeper_server_ADD_ENTRY_REQUEST</td><td>Summary</td><td>The summary of request latency of ADD_ENTRY requests at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
+<tr><td>bookkeeper_server_READ_ENTRY_REQUEST</td><td>Summary</td><td>The summary of request latency of READ_ENTRY requests at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
 </tbody>
 </table>
 <h3><a class="anchor" aria-hidden="true" id="journal-metrics"></a><a href="#journal-metrics" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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  [...]
@@ -145,8 +145,8 @@
 <tr><td>bookie_journal_JOURNAL_QUEUE_SIZE</td><td>Gauge</td><td>The total number of requests pending in the journal queue.</td></tr>
 <tr><td>bookie_journal_JOURNAL_FORCE_WRITE_QUEUE_SIZE</td><td>Gauge</td><td>The total number of force write (fsync) requests pending in the force-write queue.</td></tr>
 <tr><td>bookie_journal_JOURNAL_CB_QUEUE_SIZE</td><td>Gauge</td><td>The total number of callbacks pending in the callback queue.</td></tr>
-<tr><td>bookie_journal_JOURNAL_ADD_ENTRY</td><td>Histogram</td><td>The histogram of request latency of adding entries to the journal.</td></tr>
-<tr><td>bookie_journal_JOURNAL_SYNC</td><td>Histogram</td><td>The histogram of fsync latency of syncing data to the journal disk.</td></tr>
+<tr><td>bookie_journal_JOURNAL_ADD_ENTRY</td><td>Summary</td><td>The summary of request latency of adding entries to the journal.</td></tr>
+<tr><td>bookie_journal_JOURNAL_SYNC</td><td>Summary</td><td>The summary of fsync latency of syncing data to the journal disk.</td></tr>
 </tbody>
 </table>
 <h3><a class="anchor" aria-hidden="true" id="storage-metrics"></a><a href="#storage-metrics" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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  [...]
diff --git a/content/docs/ja/2.5.2/client-libraries-java.html b/content/docs/ja/2.5.2/client-libraries-java.html
index 7ea5a39..528274c 100644
--- a/content/docs/ja/2.5.2/client-libraries-java.html
+++ b/content/docs/ja/2.5.2/client-libraries-java.html
@@ -256,7 +256,7 @@ producer.closeAsync()
 <h3><a class="anchor" aria-hidden="true" id="configure-consumer"></a><a href="#configure-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- [...]
 <p>If you instantiate a <code>Consumer</code> object by specifying only a topic and subscription name as in the example above, the consumer uses the default configuration.</p>
 <p>When you create a consumer, you can use the <code>loadConf</code> configuration. The following parameters are available in <code>loadConf</code>.</p>
-<p>Type | Name| <div style="width:300px">Description</div>|  Default |---|---|---|--- Set&lt;String&gt;|  <code>topicNames</code>|   Topic name| Sets.newTreeSet() Pattern|   <code>topicsPattern</code>| Topic pattern   |None String| <code>subscriptionName</code>| Subscription name|  None SubscriptionType| <code>subscriptionType</code>|   Subscription type <br/><br/>Three subscription types are available:<li>Exclusive</li><li>Failover</li><li>Shared</li>|SubscriptionType.Exclusive int | <c [...]
+<p>Type | Name| <div style="width:300px">Description</div>|  Default |---|---|---|--- Set&lt;String&gt;|  <code>topicNames</code>|   Topic name| Sets.newTreeSet() Pattern|   <code>topicsPattern</code>| Topic pattern   |None String| <code>subscriptionName</code>| Subscription name|  None SubscriptionType| <code>subscriptionType</code>|   Subscription type <br/><br/>Four subscription types are available:<li>Exclusive</li><li>Failover</li><li>Shared</li><li>Key_Shared</li>|SubscriptionType. [...]
 SortedMap&lt;String, String&gt;|<code>properties</code>|A name or value property of this consumer.<br/><br/><code>properties</code> is application defined metadata attached to a consumer. <br/><br/>When getting a topic stats, associate this metadata with the consumer stats for easier identification.|new TreeMap&lt;&gt;() boolean|<code>readCompacted</code>|If enabling <code>readCompacted</code>, a consumer reads messages from a compacted topic rather than reading a full message backlog of [...]
 <p>You can configure parameters if you do not want to use the default configuration. For a full list, see the Javadoc for the <a href="https://pulsar.incubator.apache.org/api/client/2.7.0-SNAPSHOT/org/apache/pulsar/client/api/ConsumerBuilder">ConsumerBuilder</a>
  class.</p>
diff --git a/content/docs/ja/2.5.2/client-libraries-java/index.html b/content/docs/ja/2.5.2/client-libraries-java/index.html
index 7ea5a39..528274c 100644
--- a/content/docs/ja/2.5.2/client-libraries-java/index.html
+++ b/content/docs/ja/2.5.2/client-libraries-java/index.html
@@ -256,7 +256,7 @@ producer.closeAsync()
 <h3><a class="anchor" aria-hidden="true" id="configure-consumer"></a><a href="#configure-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- [...]
 <p>If you instantiate a <code>Consumer</code> object by specifying only a topic and subscription name as in the example above, the consumer uses the default configuration.</p>
 <p>When you create a consumer, you can use the <code>loadConf</code> configuration. The following parameters are available in <code>loadConf</code>.</p>
-<p>Type | Name| <div style="width:300px">Description</div>|  Default |---|---|---|--- Set&lt;String&gt;|  <code>topicNames</code>|   Topic name| Sets.newTreeSet() Pattern|   <code>topicsPattern</code>| Topic pattern   |None String| <code>subscriptionName</code>| Subscription name|  None SubscriptionType| <code>subscriptionType</code>|   Subscription type <br/><br/>Three subscription types are available:<li>Exclusive</li><li>Failover</li><li>Shared</li>|SubscriptionType.Exclusive int | <c [...]
+<p>Type | Name| <div style="width:300px">Description</div>|  Default |---|---|---|--- Set&lt;String&gt;|  <code>topicNames</code>|   Topic name| Sets.newTreeSet() Pattern|   <code>topicsPattern</code>| Topic pattern   |None String| <code>subscriptionName</code>| Subscription name|  None SubscriptionType| <code>subscriptionType</code>|   Subscription type <br/><br/>Four subscription types are available:<li>Exclusive</li><li>Failover</li><li>Shared</li><li>Key_Shared</li>|SubscriptionType. [...]
 SortedMap&lt;String, String&gt;|<code>properties</code>|A name or value property of this consumer.<br/><br/><code>properties</code> is application defined metadata attached to a consumer. <br/><br/>When getting a topic stats, associate this metadata with the consumer stats for easier identification.|new TreeMap&lt;&gt;() boolean|<code>readCompacted</code>|If enabling <code>readCompacted</code>, a consumer reads messages from a compacted topic rather than reading a full message backlog of [...]
 <p>You can configure parameters if you do not want to use the default configuration. For a full list, see the Javadoc for the <a href="https://pulsar.incubator.apache.org/api/client/2.7.0-SNAPSHOT/org/apache/pulsar/client/api/ConsumerBuilder">ConsumerBuilder</a>
  class.</p>
diff --git a/content/docs/ja/2.5.2/client-libraries-node.html b/content/docs/ja/2.5.2/client-libraries-node.html
index dd9ecc6..ebf578d 100644
--- a/content/docs/ja/2.5.2/client-libraries-node.html
+++ b/content/docs/ja/2.5.2/client-libraries-node.html
@@ -266,7 +266,7 @@ In this example, using await operator instead of executor function.</p>
 <tbody>
 <tr><td style="text-align:left"><code>topic</code></td><td style="text-align:left">The Pulsar <a href="/docs/ja/2.5.2/reference-terminology#topic">topic</a> on which the consumer will establish a subscription and listen for messages.</td><td style="text-align:left"></td></tr>
 <tr><td style="text-align:left"><code>subscription</code></td><td style="text-align:left">The subscription name for this consumer.</td><td style="text-align:left"></td></tr>
-<tr><td style="text-align:left"><code>subscriptionType</code></td><td style="text-align:left">Available options are <code>Exclusive</code>, <code>Shared</code>, and <code>Failover</code>.</td><td style="text-align:left"><code>Exclusive</code></td></tr>
+<tr><td style="text-align:left"><code>subscriptionType</code></td><td style="text-align:left">Available options are <code>Exclusive</code>, <code>Shared</code>, <code>Key_Shared</code>, and <code>Failover</code>.</td><td style="text-align:left"><code>Exclusive</code></td></tr>
 <tr><td style="text-align:left"><code>ackTimeoutMs</code></td><td style="text-align:left">Acknowledge timeout in milliseconds.</td><td style="text-align:left">0</td></tr>
 <tr><td style="text-align:left"><code>receiverQueueSize</code></td><td style="text-align:left">Sets the size of the consumer's receiver queue, i.e. the number of messages that can be accumulated by the consumer before the application calls <code>receive</code>. A value higher than the default of 1000 could increase consumer throughput, though at the expense of more memory utilization.</td><td style="text-align:left">1000</td></tr>
 <tr><td style="text-align:left"><code>receiverQueueSizeAcrossPartitions</code></td><td style="text-align:left">Set the max total receiver queue size across partitions. This setting will be used to reduce the receiver queue size for individual partitions if the total exceeds this value.</td><td style="text-align:left">50000</td></tr>
diff --git a/content/docs/ja/2.5.2/client-libraries-node/index.html b/content/docs/ja/2.5.2/client-libraries-node/index.html
index dd9ecc6..ebf578d 100644
--- a/content/docs/ja/2.5.2/client-libraries-node/index.html
+++ b/content/docs/ja/2.5.2/client-libraries-node/index.html
@@ -266,7 +266,7 @@ In this example, using await operator instead of executor function.</p>
 <tbody>
 <tr><td style="text-align:left"><code>topic</code></td><td style="text-align:left">The Pulsar <a href="/docs/ja/2.5.2/reference-terminology#topic">topic</a> on which the consumer will establish a subscription and listen for messages.</td><td style="text-align:left"></td></tr>
 <tr><td style="text-align:left"><code>subscription</code></td><td style="text-align:left">The subscription name for this consumer.</td><td style="text-align:left"></td></tr>
-<tr><td style="text-align:left"><code>subscriptionType</code></td><td style="text-align:left">Available options are <code>Exclusive</code>, <code>Shared</code>, and <code>Failover</code>.</td><td style="text-align:left"><code>Exclusive</code></td></tr>
+<tr><td style="text-align:left"><code>subscriptionType</code></td><td style="text-align:left">Available options are <code>Exclusive</code>, <code>Shared</code>, <code>Key_Shared</code>, and <code>Failover</code>.</td><td style="text-align:left"><code>Exclusive</code></td></tr>
 <tr><td style="text-align:left"><code>ackTimeoutMs</code></td><td style="text-align:left">Acknowledge timeout in milliseconds.</td><td style="text-align:left">0</td></tr>
 <tr><td style="text-align:left"><code>receiverQueueSize</code></td><td style="text-align:left">Sets the size of the consumer's receiver queue, i.e. the number of messages that can be accumulated by the consumer before the application calls <code>receive</code>. A value higher than the default of 1000 could increase consumer throughput, though at the expense of more memory utilization.</td><td style="text-align:left">1000</td></tr>
 <tr><td style="text-align:left"><code>receiverQueueSizeAcrossPartitions</code></td><td style="text-align:left">Set the max total receiver queue size across partitions. This setting will be used to reduce the receiver queue size for individual partitions if the total exceeds this value.</td><td style="text-align:left">50000</td></tr>
diff --git a/content/docs/ja/2.5.2/reference-metrics.html b/content/docs/ja/2.5.2/reference-metrics.html
index 3516ad3..fcde0a6 100644
--- a/content/docs/ja/2.5.2/reference-metrics.html
+++ b/content/docs/ja/2.5.2/reference-metrics.html
@@ -131,8 +131,8 @@
 <tr><td>bookkeeper_server_READ_ENTRY_count</td><td>Counter</td><td>The total number of READ_ENTRY requests received at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
 <tr><td>bookie_WRITE_BYTES</td><td>Counter</td><td>The total number of bytes written to the bookie.</td></tr>
 <tr><td>bookie_READ_BYTES</td><td>Counter</td><td>The total number of bytes read from the bookie.</td></tr>
-<tr><td>bookkeeper_server_ADD_ENTRY_REQUEST</td><td>Histogram</td><td>The histogram of request latency of ADD_ENTRY requests at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
-<tr><td>bookkeeper_server_READ_ENTRY_REQUEST</td><td>Histogram</td><td>The histogram of request latency of READ_ENTRY requests at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
+<tr><td>bookkeeper_server_ADD_ENTRY_REQUEST</td><td>Summary</td><td>The summary of request latency of ADD_ENTRY requests at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
+<tr><td>bookkeeper_server_READ_ENTRY_REQUEST</td><td>Summary</td><td>The summary of request latency of READ_ENTRY requests at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
 </tbody>
 </table>
 <h3><a class="anchor" aria-hidden="true" id="journal-metrics"></a><a href="#journal-metrics" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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  [...]
@@ -145,8 +145,8 @@
 <tr><td>bookie_journal_JOURNAL_QUEUE_SIZE</td><td>Gauge</td><td>The total number of requests pending in the journal queue.</td></tr>
 <tr><td>bookie_journal_JOURNAL_FORCE_WRITE_QUEUE_SIZE</td><td>Gauge</td><td>The total number of force write (fsync) requests pending in the force-write queue.</td></tr>
 <tr><td>bookie_journal_JOURNAL_CB_QUEUE_SIZE</td><td>Gauge</td><td>The total number of callbacks pending in the callback queue.</td></tr>
-<tr><td>bookie_journal_JOURNAL_ADD_ENTRY</td><td>Histogram</td><td>The histogram of request latency of adding entries to the journal.</td></tr>
-<tr><td>bookie_journal_JOURNAL_SYNC</td><td>Histogram</td><td>The histogram of fsync latency of syncing data to the journal disk.</td></tr>
+<tr><td>bookie_journal_JOURNAL_ADD_ENTRY</td><td>Summary</td><td>The summary of request latency of adding entries to the journal.</td></tr>
+<tr><td>bookie_journal_JOURNAL_SYNC</td><td>Summary</td><td>The summary of fsync latency of syncing data to the journal disk.</td></tr>
 </tbody>
 </table>
 <h3><a class="anchor" aria-hidden="true" id="storage-metrics"></a><a href="#storage-metrics" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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  [...]
diff --git a/content/docs/ja/2.5.2/reference-metrics/index.html b/content/docs/ja/2.5.2/reference-metrics/index.html
index 3516ad3..fcde0a6 100644
--- a/content/docs/ja/2.5.2/reference-metrics/index.html
+++ b/content/docs/ja/2.5.2/reference-metrics/index.html
@@ -131,8 +131,8 @@
 <tr><td>bookkeeper_server_READ_ENTRY_count</td><td>Counter</td><td>The total number of READ_ENTRY requests received at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
 <tr><td>bookie_WRITE_BYTES</td><td>Counter</td><td>The total number of bytes written to the bookie.</td></tr>
 <tr><td>bookie_READ_BYTES</td><td>Counter</td><td>The total number of bytes read from the bookie.</td></tr>
-<tr><td>bookkeeper_server_ADD_ENTRY_REQUEST</td><td>Histogram</td><td>The histogram of request latency of ADD_ENTRY requests at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
-<tr><td>bookkeeper_server_READ_ENTRY_REQUEST</td><td>Histogram</td><td>The histogram of request latency of READ_ENTRY requests at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
+<tr><td>bookkeeper_server_ADD_ENTRY_REQUEST</td><td>Summary</td><td>The summary of request latency of ADD_ENTRY requests at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
+<tr><td>bookkeeper_server_READ_ENTRY_REQUEST</td><td>Summary</td><td>The summary of request latency of READ_ENTRY requests at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
 </tbody>
 </table>
 <h3><a class="anchor" aria-hidden="true" id="journal-metrics"></a><a href="#journal-metrics" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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  [...]
@@ -145,8 +145,8 @@
 <tr><td>bookie_journal_JOURNAL_QUEUE_SIZE</td><td>Gauge</td><td>The total number of requests pending in the journal queue.</td></tr>
 <tr><td>bookie_journal_JOURNAL_FORCE_WRITE_QUEUE_SIZE</td><td>Gauge</td><td>The total number of force write (fsync) requests pending in the force-write queue.</td></tr>
 <tr><td>bookie_journal_JOURNAL_CB_QUEUE_SIZE</td><td>Gauge</td><td>The total number of callbacks pending in the callback queue.</td></tr>
-<tr><td>bookie_journal_JOURNAL_ADD_ENTRY</td><td>Histogram</td><td>The histogram of request latency of adding entries to the journal.</td></tr>
-<tr><td>bookie_journal_JOURNAL_SYNC</td><td>Histogram</td><td>The histogram of fsync latency of syncing data to the journal disk.</td></tr>
+<tr><td>bookie_journal_JOURNAL_ADD_ENTRY</td><td>Summary</td><td>The summary of request latency of adding entries to the journal.</td></tr>
+<tr><td>bookie_journal_JOURNAL_SYNC</td><td>Summary</td><td>The summary of fsync latency of syncing data to the journal disk.</td></tr>
 </tbody>
 </table>
 <h3><a class="anchor" aria-hidden="true" id="storage-metrics"></a><a href="#storage-metrics" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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  [...]
diff --git a/content/docs/ja/2.6.0/client-libraries-java.html b/content/docs/ja/2.6.0/client-libraries-java.html
index 491177c..79452fa 100644
--- a/content/docs/ja/2.6.0/client-libraries-java.html
+++ b/content/docs/ja/2.6.0/client-libraries-java.html
@@ -256,7 +256,7 @@ producer.closeAsync()
 <h3><a class="anchor" aria-hidden="true" id="configure-consumer"></a><a href="#configure-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- [...]
 <p>If you instantiate a <code>Consumer</code> object by specifying only a topic and subscription name as in the example above, the consumer uses the default configuration.</p>
 <p>When you create a consumer, you can use the <code>loadConf</code> configuration. The following parameters are available in <code>loadConf</code>.</p>
-<p>Type | Name| <div style="width:300px">Description</div>|  Default |---|---|---|--- Set&lt;String&gt;|  <code>topicNames</code>|   Topic name| Sets.newTreeSet() Pattern|   <code>topicsPattern</code>| Topic pattern   |None String| <code>subscriptionName</code>| Subscription name|  None SubscriptionType| <code>subscriptionType</code>|   Subscription type <br/><br/>Three subscription types are available:<li>Exclusive</li><li>Failover</li><li>Shared</li>|SubscriptionType.Exclusive int | <c [...]
+<p>Type | Name| <div style="width:300px">Description</div>|  Default |---|---|---|--- Set&lt;String&gt;|  <code>topicNames</code>|   Topic name| Sets.newTreeSet() Pattern|   <code>topicsPattern</code>| Topic pattern   |None String| <code>subscriptionName</code>| Subscription name|  None SubscriptionType| <code>subscriptionType</code>|   Subscription type <br/><br/>Four subscription types are available:<li>Exclusive</li><li>Failover</li><li>Shared</li><li>Key_Shared</li>|SubscriptionType. [...]
 SortedMap&lt;String, String&gt;|<code>properties</code>|A name or value property of this consumer.<br/><br/><code>properties</code> is application defined metadata attached to a consumer. <br/><br/>When getting a topic stats, associate this metadata with the consumer stats for easier identification.|new TreeMap&lt;&gt;() boolean|<code>readCompacted</code>|If enabling <code>readCompacted</code>, a consumer reads messages from a compacted topic rather than reading a full message backlog of [...]
 <p>You can configure parameters if you do not want to use the default configuration. For a full list, see the Javadoc for the <a href="https://pulsar.incubator.apache.org/api/client/2.7.0-SNAPSHOT/org/apache/pulsar/client/api/ConsumerBuilder">ConsumerBuilder</a>
  class.</p>
diff --git a/content/docs/ja/2.6.0/client-libraries-java/index.html b/content/docs/ja/2.6.0/client-libraries-java/index.html
index 491177c..79452fa 100644
--- a/content/docs/ja/2.6.0/client-libraries-java/index.html
+++ b/content/docs/ja/2.6.0/client-libraries-java/index.html
@@ -256,7 +256,7 @@ producer.closeAsync()
 <h3><a class="anchor" aria-hidden="true" id="configure-consumer"></a><a href="#configure-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- [...]
 <p>If you instantiate a <code>Consumer</code> object by specifying only a topic and subscription name as in the example above, the consumer uses the default configuration.</p>
 <p>When you create a consumer, you can use the <code>loadConf</code> configuration. The following parameters are available in <code>loadConf</code>.</p>
-<p>Type | Name| <div style="width:300px">Description</div>|  Default |---|---|---|--- Set&lt;String&gt;|  <code>topicNames</code>|   Topic name| Sets.newTreeSet() Pattern|   <code>topicsPattern</code>| Topic pattern   |None String| <code>subscriptionName</code>| Subscription name|  None SubscriptionType| <code>subscriptionType</code>|   Subscription type <br/><br/>Three subscription types are available:<li>Exclusive</li><li>Failover</li><li>Shared</li>|SubscriptionType.Exclusive int | <c [...]
+<p>Type | Name| <div style="width:300px">Description</div>|  Default |---|---|---|--- Set&lt;String&gt;|  <code>topicNames</code>|   Topic name| Sets.newTreeSet() Pattern|   <code>topicsPattern</code>| Topic pattern   |None String| <code>subscriptionName</code>| Subscription name|  None SubscriptionType| <code>subscriptionType</code>|   Subscription type <br/><br/>Four subscription types are available:<li>Exclusive</li><li>Failover</li><li>Shared</li><li>Key_Shared</li>|SubscriptionType. [...]
 SortedMap&lt;String, String&gt;|<code>properties</code>|A name or value property of this consumer.<br/><br/><code>properties</code> is application defined metadata attached to a consumer. <br/><br/>When getting a topic stats, associate this metadata with the consumer stats for easier identification.|new TreeMap&lt;&gt;() boolean|<code>readCompacted</code>|If enabling <code>readCompacted</code>, a consumer reads messages from a compacted topic rather than reading a full message backlog of [...]
 <p>You can configure parameters if you do not want to use the default configuration. For a full list, see the Javadoc for the <a href="https://pulsar.incubator.apache.org/api/client/2.7.0-SNAPSHOT/org/apache/pulsar/client/api/ConsumerBuilder">ConsumerBuilder</a>
  class.</p>
diff --git a/content/docs/ja/2.6.0/client-libraries-node.html b/content/docs/ja/2.6.0/client-libraries-node.html
index 3b9cbbc..5d73d79 100644
--- a/content/docs/ja/2.6.0/client-libraries-node.html
+++ b/content/docs/ja/2.6.0/client-libraries-node.html
@@ -266,7 +266,7 @@ In this example, using await operator instead of executor function.</p>
 <tbody>
 <tr><td style="text-align:left"><code>topic</code></td><td style="text-align:left">The Pulsar <a href="/docs/ja/2.6.0/reference-terminology#topic">topic</a> on which the consumer will establish a subscription and listen for messages.</td><td style="text-align:left"></td></tr>
 <tr><td style="text-align:left"><code>subscription</code></td><td style="text-align:left">The subscription name for this consumer.</td><td style="text-align:left"></td></tr>
-<tr><td style="text-align:left"><code>subscriptionType</code></td><td style="text-align:left">Available options are <code>Exclusive</code>, <code>Shared</code>, and <code>Failover</code>.</td><td style="text-align:left"><code>Exclusive</code></td></tr>
+<tr><td style="text-align:left"><code>subscriptionType</code></td><td style="text-align:left">Available options are <code>Exclusive</code>, <code>Shared</code>, <code>Key_Shared</code>, and <code>Failover</code>.</td><td style="text-align:left"><code>Exclusive</code></td></tr>
 <tr><td style="text-align:left"><code>ackTimeoutMs</code></td><td style="text-align:left">Acknowledge timeout in milliseconds.</td><td style="text-align:left">0</td></tr>
 <tr><td style="text-align:left"><code>receiverQueueSize</code></td><td style="text-align:left">Sets the size of the consumer's receiver queue, i.e. the number of messages that can be accumulated by the consumer before the application calls <code>receive</code>. A value higher than the default of 1000 could increase consumer throughput, though at the expense of more memory utilization.</td><td style="text-align:left">1000</td></tr>
 <tr><td style="text-align:left"><code>receiverQueueSizeAcrossPartitions</code></td><td style="text-align:left">Set the max total receiver queue size across partitions. This setting will be used to reduce the receiver queue size for individual partitions if the total exceeds this value.</td><td style="text-align:left">50000</td></tr>
diff --git a/content/docs/ja/2.6.0/client-libraries-node/index.html b/content/docs/ja/2.6.0/client-libraries-node/index.html
index 3b9cbbc..5d73d79 100644
--- a/content/docs/ja/2.6.0/client-libraries-node/index.html
+++ b/content/docs/ja/2.6.0/client-libraries-node/index.html
@@ -266,7 +266,7 @@ In this example, using await operator instead of executor function.</p>
 <tbody>
 <tr><td style="text-align:left"><code>topic</code></td><td style="text-align:left">The Pulsar <a href="/docs/ja/2.6.0/reference-terminology#topic">topic</a> on which the consumer will establish a subscription and listen for messages.</td><td style="text-align:left"></td></tr>
 <tr><td style="text-align:left"><code>subscription</code></td><td style="text-align:left">The subscription name for this consumer.</td><td style="text-align:left"></td></tr>
-<tr><td style="text-align:left"><code>subscriptionType</code></td><td style="text-align:left">Available options are <code>Exclusive</code>, <code>Shared</code>, and <code>Failover</code>.</td><td style="text-align:left"><code>Exclusive</code></td></tr>
+<tr><td style="text-align:left"><code>subscriptionType</code></td><td style="text-align:left">Available options are <code>Exclusive</code>, <code>Shared</code>, <code>Key_Shared</code>, and <code>Failover</code>.</td><td style="text-align:left"><code>Exclusive</code></td></tr>
 <tr><td style="text-align:left"><code>ackTimeoutMs</code></td><td style="text-align:left">Acknowledge timeout in milliseconds.</td><td style="text-align:left">0</td></tr>
 <tr><td style="text-align:left"><code>receiverQueueSize</code></td><td style="text-align:left">Sets the size of the consumer's receiver queue, i.e. the number of messages that can be accumulated by the consumer before the application calls <code>receive</code>. A value higher than the default of 1000 could increase consumer throughput, though at the expense of more memory utilization.</td><td style="text-align:left">1000</td></tr>
 <tr><td style="text-align:left"><code>receiverQueueSizeAcrossPartitions</code></td><td style="text-align:left">Set the max total receiver queue size across partitions. This setting will be used to reduce the receiver queue size for individual partitions if the total exceeds this value.</td><td style="text-align:left">50000</td></tr>
diff --git a/content/docs/ja/2.6.0/client-libraries-websocket.html b/content/docs/ja/2.6.0/client-libraries-websocket.html
index db84ca8..bd007e3 100644
--- a/content/docs/ja/2.6.0/client-libraries-websocket.html
+++ b/content/docs/ja/2.6.0/client-libraries-websocket.html
@@ -184,7 +184,7 @@
 </thead>
 <tbody>
 <tr><td style="text-align:left"><code>ackTimeoutMillis</code></td><td style="text-align:left">long</td><td style="text-align:left">no</td><td style="text-align:left">Set the timeout for unacked messages (default: 0)</td></tr>
-<tr><td style="text-align:left"><code>subscriptionType</code></td><td style="text-align:left">string</td><td style="text-align:left">no</td><td style="text-align:left"><a href="https://pulsar.apache.org/api/client/2.7.0-SNAPSHOT/index.html?org/apache/pulsar/client/api/SubscriptionType.html">Subscription type</a>: <code>Exclusive</code>, <code>Failover</code>, <code>Shared</code></td></tr>
+<tr><td style="text-align:left"><code>subscriptionType</code></td><td style="text-align:left">string</td><td style="text-align:left">no</td><td style="text-align:left"><a href="https://pulsar.apache.org/api/client/2.7.0-SNAPSHOT/index.html?org/apache/pulsar/client/api/SubscriptionType.html">Subscription type</a>: <code>Exclusive</code>, <code>Failover</code>, <code>Shared</code>, <code>Key_Shared</code></td></tr>
 <tr><td style="text-align:left"><code>receiverQueueSize</code></td><td style="text-align:left">int</td><td style="text-align:left">no</td><td style="text-align:left">Size of the consumer receive queue (default: 1000)</td></tr>
 <tr><td style="text-align:left"><code>consumerName</code></td><td style="text-align:left">string</td><td style="text-align:left">no</td><td style="text-align:left">Consumer name</td></tr>
 <tr><td style="text-align:left"><code>priorityLevel</code></td><td style="text-align:left">int</td><td style="text-align:left">no</td><td style="text-align:left">Define a <a href="http://pulsar.apache.org/api/client/2.7.0-SNAPSHOT/org/apache/pulsar/client/api/ConsumerConfiguration.html#setPriorityLevel-int-">priority</a> for the consumer</td></tr>
diff --git a/content/docs/ja/2.6.0/client-libraries-websocket/index.html b/content/docs/ja/2.6.0/client-libraries-websocket/index.html
index db84ca8..bd007e3 100644
--- a/content/docs/ja/2.6.0/client-libraries-websocket/index.html
+++ b/content/docs/ja/2.6.0/client-libraries-websocket/index.html
@@ -184,7 +184,7 @@
 </thead>
 <tbody>
 <tr><td style="text-align:left"><code>ackTimeoutMillis</code></td><td style="text-align:left">long</td><td style="text-align:left">no</td><td style="text-align:left">Set the timeout for unacked messages (default: 0)</td></tr>
-<tr><td style="text-align:left"><code>subscriptionType</code></td><td style="text-align:left">string</td><td style="text-align:left">no</td><td style="text-align:left"><a href="https://pulsar.apache.org/api/client/2.7.0-SNAPSHOT/index.html?org/apache/pulsar/client/api/SubscriptionType.html">Subscription type</a>: <code>Exclusive</code>, <code>Failover</code>, <code>Shared</code></td></tr>
+<tr><td style="text-align:left"><code>subscriptionType</code></td><td style="text-align:left">string</td><td style="text-align:left">no</td><td style="text-align:left"><a href="https://pulsar.apache.org/api/client/2.7.0-SNAPSHOT/index.html?org/apache/pulsar/client/api/SubscriptionType.html">Subscription type</a>: <code>Exclusive</code>, <code>Failover</code>, <code>Shared</code>, <code>Key_Shared</code></td></tr>
 <tr><td style="text-align:left"><code>receiverQueueSize</code></td><td style="text-align:left">int</td><td style="text-align:left">no</td><td style="text-align:left">Size of the consumer receive queue (default: 1000)</td></tr>
 <tr><td style="text-align:left"><code>consumerName</code></td><td style="text-align:left">string</td><td style="text-align:left">no</td><td style="text-align:left">Consumer name</td></tr>
 <tr><td style="text-align:left"><code>priorityLevel</code></td><td style="text-align:left">int</td><td style="text-align:left">no</td><td style="text-align:left">Define a <a href="http://pulsar.apache.org/api/client/2.7.0-SNAPSHOT/org/apache/pulsar/client/api/ConsumerConfiguration.html#setPriorityLevel-int-">priority</a> for the consumer</td></tr>
diff --git a/content/docs/ja/2.6.0/reference-metrics.html b/content/docs/ja/2.6.0/reference-metrics.html
index 2dbc429..b939022 100644
--- a/content/docs/ja/2.6.0/reference-metrics.html
+++ b/content/docs/ja/2.6.0/reference-metrics.html
@@ -134,8 +134,8 @@
 <tr><td>bookkeeper_server_READ_ENTRY_count</td><td>Counter</td><td>The total number of READ_ENTRY requests received at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
 <tr><td>bookie_WRITE_BYTES</td><td>Counter</td><td>The total number of bytes written to the bookie.</td></tr>
 <tr><td>bookie_READ_BYTES</td><td>Counter</td><td>The total number of bytes read from the bookie.</td></tr>
-<tr><td>bookkeeper_server_ADD_ENTRY_REQUEST</td><td>Histogram</td><td>The histogram of request latency of ADD_ENTRY requests at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
-<tr><td>bookkeeper_server_READ_ENTRY_REQUEST</td><td>Histogram</td><td>The histogram of request latency of READ_ENTRY requests at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
+<tr><td>bookkeeper_server_ADD_ENTRY_REQUEST</td><td>Summary</td><td>The summary of request latency of ADD_ENTRY requests at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
+<tr><td>bookkeeper_server_READ_ENTRY_REQUEST</td><td>Summary</td><td>The summary of request latency of READ_ENTRY requests at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
 </tbody>
 </table>
 <h3><a class="anchor" aria-hidden="true" id="journal-metrics"></a><a href="#journal-metrics" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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  [...]
@@ -148,8 +148,8 @@
 <tr><td>bookie_journal_JOURNAL_QUEUE_SIZE</td><td>Gauge</td><td>The total number of requests pending in the journal queue.</td></tr>
 <tr><td>bookie_journal_JOURNAL_FORCE_WRITE_QUEUE_SIZE</td><td>Gauge</td><td>The total number of force write (fsync) requests pending in the force-write queue.</td></tr>
 <tr><td>bookie_journal_JOURNAL_CB_QUEUE_SIZE</td><td>Gauge</td><td>The total number of callbacks pending in the callback queue.</td></tr>
-<tr><td>bookie_journal_JOURNAL_ADD_ENTRY</td><td>Histogram</td><td>The histogram of request latency of adding entries to the journal.</td></tr>
-<tr><td>bookie_journal_JOURNAL_SYNC</td><td>Histogram</td><td>The histogram of fsync latency of syncing data to the journal disk.</td></tr>
+<tr><td>bookie_journal_JOURNAL_ADD_ENTRY</td><td>Summary</td><td>The summary of request latency of adding entries to the journal.</td></tr>
+<tr><td>bookie_journal_JOURNAL_SYNC</td><td>Summary</td><td>The summary of fsync latency of syncing data to the journal disk.</td></tr>
 </tbody>
 </table>
 <h3><a class="anchor" aria-hidden="true" id="storage-metrics"></a><a href="#storage-metrics" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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  [...]
diff --git a/content/docs/ja/2.6.0/reference-metrics/index.html b/content/docs/ja/2.6.0/reference-metrics/index.html
index 2dbc429..b939022 100644
--- a/content/docs/ja/2.6.0/reference-metrics/index.html
+++ b/content/docs/ja/2.6.0/reference-metrics/index.html
@@ -134,8 +134,8 @@
 <tr><td>bookkeeper_server_READ_ENTRY_count</td><td>Counter</td><td>The total number of READ_ENTRY requests received at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
 <tr><td>bookie_WRITE_BYTES</td><td>Counter</td><td>The total number of bytes written to the bookie.</td></tr>
 <tr><td>bookie_READ_BYTES</td><td>Counter</td><td>The total number of bytes read from the bookie.</td></tr>
-<tr><td>bookkeeper_server_ADD_ENTRY_REQUEST</td><td>Histogram</td><td>The histogram of request latency of ADD_ENTRY requests at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
-<tr><td>bookkeeper_server_READ_ENTRY_REQUEST</td><td>Histogram</td><td>The histogram of request latency of READ_ENTRY requests at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
+<tr><td>bookkeeper_server_ADD_ENTRY_REQUEST</td><td>Summary</td><td>The summary of request latency of ADD_ENTRY requests at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
+<tr><td>bookkeeper_server_READ_ENTRY_REQUEST</td><td>Summary</td><td>The summary of request latency of READ_ENTRY requests at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
 </tbody>
 </table>
 <h3><a class="anchor" aria-hidden="true" id="journal-metrics"></a><a href="#journal-metrics" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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  [...]
@@ -148,8 +148,8 @@
 <tr><td>bookie_journal_JOURNAL_QUEUE_SIZE</td><td>Gauge</td><td>The total number of requests pending in the journal queue.</td></tr>
 <tr><td>bookie_journal_JOURNAL_FORCE_WRITE_QUEUE_SIZE</td><td>Gauge</td><td>The total number of force write (fsync) requests pending in the force-write queue.</td></tr>
 <tr><td>bookie_journal_JOURNAL_CB_QUEUE_SIZE</td><td>Gauge</td><td>The total number of callbacks pending in the callback queue.</td></tr>
-<tr><td>bookie_journal_JOURNAL_ADD_ENTRY</td><td>Histogram</td><td>The histogram of request latency of adding entries to the journal.</td></tr>
-<tr><td>bookie_journal_JOURNAL_SYNC</td><td>Histogram</td><td>The histogram of fsync latency of syncing data to the journal disk.</td></tr>
+<tr><td>bookie_journal_JOURNAL_ADD_ENTRY</td><td>Summary</td><td>The summary of request latency of adding entries to the journal.</td></tr>
+<tr><td>bookie_journal_JOURNAL_SYNC</td><td>Summary</td><td>The summary of fsync latency of syncing data to the journal disk.</td></tr>
 </tbody>
 </table>
 <h3><a class="anchor" aria-hidden="true" id="storage-metrics"></a><a href="#storage-metrics" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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  [...]
diff --git a/content/docs/ja/2.6.1/client-libraries-java.html b/content/docs/ja/2.6.1/client-libraries-java.html
index b387f9a..1c6a04c 100644
--- a/content/docs/ja/2.6.1/client-libraries-java.html
+++ b/content/docs/ja/2.6.1/client-libraries-java.html
@@ -256,7 +256,7 @@ producer.closeAsync()
 <h3><a class="anchor" aria-hidden="true" id="configure-consumer"></a><a href="#configure-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- [...]
 <p>If you instantiate a <code>Consumer</code> object by specifying only a topic and subscription name as in the example above, the consumer uses the default configuration.</p>
 <p>When you create a consumer, you can use the <code>loadConf</code> configuration. The following parameters are available in <code>loadConf</code>.</p>
-<p>Type | Name| <div style="width:300px">Description</div>|  Default |---|---|---|--- Set&lt;String&gt;|  <code>topicNames</code>|   Topic name| Sets.newTreeSet() Pattern|   <code>topicsPattern</code>| Topic pattern   |None String| <code>subscriptionName</code>| Subscription name|  None SubscriptionType| <code>subscriptionType</code>|   Subscription type <br/><br/>Three subscription types are available:<li>Exclusive</li><li>Failover</li><li>Shared</li>|SubscriptionType.Exclusive int | <c [...]
+<p>Type | Name| <div style="width:300px">Description</div>|  Default |---|---|---|--- Set&lt;String&gt;|  <code>topicNames</code>|   Topic name| Sets.newTreeSet() Pattern|   <code>topicsPattern</code>| Topic pattern   |None String| <code>subscriptionName</code>| Subscription name|  None SubscriptionType| <code>subscriptionType</code>|   Subscription type <br/><br/>Four subscription types are available:<li>Exclusive</li><li>Failover</li><li>Shared</li><li>Key_Shared</li>|SubscriptionType. [...]
 SortedMap&lt;String, String&gt;|<code>properties</code>|A name or value property of this consumer.<br/><br/><code>properties</code> is application defined metadata attached to a consumer. <br/><br/>When getting a topic stats, associate this metadata with the consumer stats for easier identification.|new TreeMap&lt;&gt;() boolean|<code>readCompacted</code>|If enabling <code>readCompacted</code>, a consumer reads messages from a compacted topic rather than reading a full message backlog of [...]
 <p>You can configure parameters if you do not want to use the default configuration. For a full list, see the Javadoc for the <a href="https://pulsar.incubator.apache.org/api/client/2.7.0-SNAPSHOT/org/apache/pulsar/client/api/ConsumerBuilder">ConsumerBuilder</a>
  class.</p>
diff --git a/content/docs/ja/2.6.1/client-libraries-java/index.html b/content/docs/ja/2.6.1/client-libraries-java/index.html
index b387f9a..1c6a04c 100644
--- a/content/docs/ja/2.6.1/client-libraries-java/index.html
+++ b/content/docs/ja/2.6.1/client-libraries-java/index.html
@@ -256,7 +256,7 @@ producer.closeAsync()
 <h3><a class="anchor" aria-hidden="true" id="configure-consumer"></a><a href="#configure-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- [...]
 <p>If you instantiate a <code>Consumer</code> object by specifying only a topic and subscription name as in the example above, the consumer uses the default configuration.</p>
 <p>When you create a consumer, you can use the <code>loadConf</code> configuration. The following parameters are available in <code>loadConf</code>.</p>
-<p>Type | Name| <div style="width:300px">Description</div>|  Default |---|---|---|--- Set&lt;String&gt;|  <code>topicNames</code>|   Topic name| Sets.newTreeSet() Pattern|   <code>topicsPattern</code>| Topic pattern   |None String| <code>subscriptionName</code>| Subscription name|  None SubscriptionType| <code>subscriptionType</code>|   Subscription type <br/><br/>Three subscription types are available:<li>Exclusive</li><li>Failover</li><li>Shared</li>|SubscriptionType.Exclusive int | <c [...]
+<p>Type | Name| <div style="width:300px">Description</div>|  Default |---|---|---|--- Set&lt;String&gt;|  <code>topicNames</code>|   Topic name| Sets.newTreeSet() Pattern|   <code>topicsPattern</code>| Topic pattern   |None String| <code>subscriptionName</code>| Subscription name|  None SubscriptionType| <code>subscriptionType</code>|   Subscription type <br/><br/>Four subscription types are available:<li>Exclusive</li><li>Failover</li><li>Shared</li><li>Key_Shared</li>|SubscriptionType. [...]
 SortedMap&lt;String, String&gt;|<code>properties</code>|A name or value property of this consumer.<br/><br/><code>properties</code> is application defined metadata attached to a consumer. <br/><br/>When getting a topic stats, associate this metadata with the consumer stats for easier identification.|new TreeMap&lt;&gt;() boolean|<code>readCompacted</code>|If enabling <code>readCompacted</code>, a consumer reads messages from a compacted topic rather than reading a full message backlog of [...]
 <p>You can configure parameters if you do not want to use the default configuration. For a full list, see the Javadoc for the <a href="https://pulsar.incubator.apache.org/api/client/2.7.0-SNAPSHOT/org/apache/pulsar/client/api/ConsumerBuilder">ConsumerBuilder</a>
  class.</p>
diff --git a/content/docs/ja/2.6.1/client-libraries-node.html b/content/docs/ja/2.6.1/client-libraries-node.html
index 63c8fa1..8dddfe5 100644
--- a/content/docs/ja/2.6.1/client-libraries-node.html
+++ b/content/docs/ja/2.6.1/client-libraries-node.html
@@ -266,7 +266,7 @@ In this example, using await operator instead of executor function.</p>
 <tbody>
 <tr><td style="text-align:left"><code>topic</code></td><td style="text-align:left">The Pulsar <a href="/docs/ja/2.6.1/reference-terminology#topic">topic</a> on which the consumer will establish a subscription and listen for messages.</td><td style="text-align:left"></td></tr>
 <tr><td style="text-align:left"><code>subscription</code></td><td style="text-align:left">The subscription name for this consumer.</td><td style="text-align:left"></td></tr>
-<tr><td style="text-align:left"><code>subscriptionType</code></td><td style="text-align:left">Available options are <code>Exclusive</code>, <code>Shared</code>, and <code>Failover</code>.</td><td style="text-align:left"><code>Exclusive</code></td></tr>
+<tr><td style="text-align:left"><code>subscriptionType</code></td><td style="text-align:left">Available options are <code>Exclusive</code>, <code>Shared</code>, <code>Key_Shared</code>, and <code>Failover</code>.</td><td style="text-align:left"><code>Exclusive</code></td></tr>
 <tr><td style="text-align:left"><code>ackTimeoutMs</code></td><td style="text-align:left">Acknowledge timeout in milliseconds.</td><td style="text-align:left">0</td></tr>
 <tr><td style="text-align:left"><code>receiverQueueSize</code></td><td style="text-align:left">Sets the size of the consumer's receiver queue, i.e. the number of messages that can be accumulated by the consumer before the application calls <code>receive</code>. A value higher than the default of 1000 could increase consumer throughput, though at the expense of more memory utilization.</td><td style="text-align:left">1000</td></tr>
 <tr><td style="text-align:left"><code>receiverQueueSizeAcrossPartitions</code></td><td style="text-align:left">Set the max total receiver queue size across partitions. This setting will be used to reduce the receiver queue size for individual partitions if the total exceeds this value.</td><td style="text-align:left">50000</td></tr>
diff --git a/content/docs/ja/2.6.1/client-libraries-node/index.html b/content/docs/ja/2.6.1/client-libraries-node/index.html
index 63c8fa1..8dddfe5 100644
--- a/content/docs/ja/2.6.1/client-libraries-node/index.html
+++ b/content/docs/ja/2.6.1/client-libraries-node/index.html
@@ -266,7 +266,7 @@ In this example, using await operator instead of executor function.</p>
 <tbody>
 <tr><td style="text-align:left"><code>topic</code></td><td style="text-align:left">The Pulsar <a href="/docs/ja/2.6.1/reference-terminology#topic">topic</a> on which the consumer will establish a subscription and listen for messages.</td><td style="text-align:left"></td></tr>
 <tr><td style="text-align:left"><code>subscription</code></td><td style="text-align:left">The subscription name for this consumer.</td><td style="text-align:left"></td></tr>
-<tr><td style="text-align:left"><code>subscriptionType</code></td><td style="text-align:left">Available options are <code>Exclusive</code>, <code>Shared</code>, and <code>Failover</code>.</td><td style="text-align:left"><code>Exclusive</code></td></tr>
+<tr><td style="text-align:left"><code>subscriptionType</code></td><td style="text-align:left">Available options are <code>Exclusive</code>, <code>Shared</code>, <code>Key_Shared</code>, and <code>Failover</code>.</td><td style="text-align:left"><code>Exclusive</code></td></tr>
 <tr><td style="text-align:left"><code>ackTimeoutMs</code></td><td style="text-align:left">Acknowledge timeout in milliseconds.</td><td style="text-align:left">0</td></tr>
 <tr><td style="text-align:left"><code>receiverQueueSize</code></td><td style="text-align:left">Sets the size of the consumer's receiver queue, i.e. the number of messages that can be accumulated by the consumer before the application calls <code>receive</code>. A value higher than the default of 1000 could increase consumer throughput, though at the expense of more memory utilization.</td><td style="text-align:left">1000</td></tr>
 <tr><td style="text-align:left"><code>receiverQueueSizeAcrossPartitions</code></td><td style="text-align:left">Set the max total receiver queue size across partitions. This setting will be used to reduce the receiver queue size for individual partitions if the total exceeds this value.</td><td style="text-align:left">50000</td></tr>
diff --git a/content/docs/ja/2.6.1/client-libraries-websocket.html b/content/docs/ja/2.6.1/client-libraries-websocket.html
index 71ff329..c3688b7 100644
--- a/content/docs/ja/2.6.1/client-libraries-websocket.html
+++ b/content/docs/ja/2.6.1/client-libraries-websocket.html
@@ -184,7 +184,7 @@
 </thead>
 <tbody>
 <tr><td style="text-align:left"><code>ackTimeoutMillis</code></td><td style="text-align:left">long</td><td style="text-align:left">no</td><td style="text-align:left">Set the timeout for unacked messages (default: 0)</td></tr>
-<tr><td style="text-align:left"><code>subscriptionType</code></td><td style="text-align:left">string</td><td style="text-align:left">no</td><td style="text-align:left"><a href="https://pulsar.apache.org/api/client/2.7.0-SNAPSHOT/index.html?org/apache/pulsar/client/api/SubscriptionType.html">Subscription type</a>: <code>Exclusive</code>, <code>Failover</code>, <code>Shared</code></td></tr>
+<tr><td style="text-align:left"><code>subscriptionType</code></td><td style="text-align:left">string</td><td style="text-align:left">no</td><td style="text-align:left"><a href="https://pulsar.apache.org/api/client/2.7.0-SNAPSHOT/index.html?org/apache/pulsar/client/api/SubscriptionType.html">Subscription type</a>: <code>Exclusive</code>, <code>Failover</code>, <code>Shared</code>, <code>Key_Shared</code></td></tr>
 <tr><td style="text-align:left"><code>receiverQueueSize</code></td><td style="text-align:left">int</td><td style="text-align:left">no</td><td style="text-align:left">Size of the consumer receive queue (default: 1000)</td></tr>
 <tr><td style="text-align:left"><code>consumerName</code></td><td style="text-align:left">string</td><td style="text-align:left">no</td><td style="text-align:left">Consumer name</td></tr>
 <tr><td style="text-align:left"><code>priorityLevel</code></td><td style="text-align:left">int</td><td style="text-align:left">no</td><td style="text-align:left">Define a <a href="http://pulsar.apache.org/api/client/2.7.0-SNAPSHOT/org/apache/pulsar/client/api/ConsumerConfiguration.html#setPriorityLevel-int-">priority</a> for the consumer</td></tr>
diff --git a/content/docs/ja/2.6.1/client-libraries-websocket/index.html b/content/docs/ja/2.6.1/client-libraries-websocket/index.html
index 71ff329..c3688b7 100644
--- a/content/docs/ja/2.6.1/client-libraries-websocket/index.html
+++ b/content/docs/ja/2.6.1/client-libraries-websocket/index.html
@@ -184,7 +184,7 @@
 </thead>
 <tbody>
 <tr><td style="text-align:left"><code>ackTimeoutMillis</code></td><td style="text-align:left">long</td><td style="text-align:left">no</td><td style="text-align:left">Set the timeout for unacked messages (default: 0)</td></tr>
-<tr><td style="text-align:left"><code>subscriptionType</code></td><td style="text-align:left">string</td><td style="text-align:left">no</td><td style="text-align:left"><a href="https://pulsar.apache.org/api/client/2.7.0-SNAPSHOT/index.html?org/apache/pulsar/client/api/SubscriptionType.html">Subscription type</a>: <code>Exclusive</code>, <code>Failover</code>, <code>Shared</code></td></tr>
+<tr><td style="text-align:left"><code>subscriptionType</code></td><td style="text-align:left">string</td><td style="text-align:left">no</td><td style="text-align:left"><a href="https://pulsar.apache.org/api/client/2.7.0-SNAPSHOT/index.html?org/apache/pulsar/client/api/SubscriptionType.html">Subscription type</a>: <code>Exclusive</code>, <code>Failover</code>, <code>Shared</code>, <code>Key_Shared</code></td></tr>
 <tr><td style="text-align:left"><code>receiverQueueSize</code></td><td style="text-align:left">int</td><td style="text-align:left">no</td><td style="text-align:left">Size of the consumer receive queue (default: 1000)</td></tr>
 <tr><td style="text-align:left"><code>consumerName</code></td><td style="text-align:left">string</td><td style="text-align:left">no</td><td style="text-align:left">Consumer name</td></tr>
 <tr><td style="text-align:left"><code>priorityLevel</code></td><td style="text-align:left">int</td><td style="text-align:left">no</td><td style="text-align:left">Define a <a href="http://pulsar.apache.org/api/client/2.7.0-SNAPSHOT/org/apache/pulsar/client/api/ConsumerConfiguration.html#setPriorityLevel-int-">priority</a> for the consumer</td></tr>
diff --git a/content/docs/ja/2.6.1/reference-metrics.html b/content/docs/ja/2.6.1/reference-metrics.html
index a5dd935..03605d5 100644
--- a/content/docs/ja/2.6.1/reference-metrics.html
+++ b/content/docs/ja/2.6.1/reference-metrics.html
@@ -134,8 +134,8 @@
 <tr><td>bookkeeper_server_READ_ENTRY_count</td><td>Counter</td><td>The total number of READ_ENTRY requests received at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
 <tr><td>bookie_WRITE_BYTES</td><td>Counter</td><td>The total number of bytes written to the bookie.</td></tr>
 <tr><td>bookie_READ_BYTES</td><td>Counter</td><td>The total number of bytes read from the bookie.</td></tr>
-<tr><td>bookkeeper_server_ADD_ENTRY_REQUEST</td><td>Histogram</td><td>The histogram of request latency of ADD_ENTRY requests at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
-<tr><td>bookkeeper_server_READ_ENTRY_REQUEST</td><td>Histogram</td><td>The histogram of request latency of READ_ENTRY requests at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
+<tr><td>bookkeeper_server_ADD_ENTRY_REQUEST</td><td>Summary</td><td>The summary of request latency of ADD_ENTRY requests at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
+<tr><td>bookkeeper_server_READ_ENTRY_REQUEST</td><td>Summary</td><td>The summary of request latency of READ_ENTRY requests at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
 </tbody>
 </table>
 <h3><a class="anchor" aria-hidden="true" id="journal-metrics"></a><a href="#journal-metrics" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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  [...]
@@ -148,8 +148,8 @@
 <tr><td>bookie_journal_JOURNAL_QUEUE_SIZE</td><td>Gauge</td><td>The total number of requests pending in the journal queue.</td></tr>
 <tr><td>bookie_journal_JOURNAL_FORCE_WRITE_QUEUE_SIZE</td><td>Gauge</td><td>The total number of force write (fsync) requests pending in the force-write queue.</td></tr>
 <tr><td>bookie_journal_JOURNAL_CB_QUEUE_SIZE</td><td>Gauge</td><td>The total number of callbacks pending in the callback queue.</td></tr>
-<tr><td>bookie_journal_JOURNAL_ADD_ENTRY</td><td>Histogram</td><td>The histogram of request latency of adding entries to the journal.</td></tr>
-<tr><td>bookie_journal_JOURNAL_SYNC</td><td>Histogram</td><td>The histogram of fsync latency of syncing data to the journal disk.</td></tr>
+<tr><td>bookie_journal_JOURNAL_ADD_ENTRY</td><td>Summary</td><td>The summary of request latency of adding entries to the journal.</td></tr>
+<tr><td>bookie_journal_JOURNAL_SYNC</td><td>Summary</td><td>The summary of fsync latency of syncing data to the journal disk.</td></tr>
 </tbody>
 </table>
 <h3><a class="anchor" aria-hidden="true" id="storage-metrics"></a><a href="#storage-metrics" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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  [...]
diff --git a/content/docs/ja/2.6.1/reference-metrics/index.html b/content/docs/ja/2.6.1/reference-metrics/index.html
index a5dd935..03605d5 100644
--- a/content/docs/ja/2.6.1/reference-metrics/index.html
+++ b/content/docs/ja/2.6.1/reference-metrics/index.html
@@ -134,8 +134,8 @@
 <tr><td>bookkeeper_server_READ_ENTRY_count</td><td>Counter</td><td>The total number of READ_ENTRY requests received at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
 <tr><td>bookie_WRITE_BYTES</td><td>Counter</td><td>The total number of bytes written to the bookie.</td></tr>
 <tr><td>bookie_READ_BYTES</td><td>Counter</td><td>The total number of bytes read from the bookie.</td></tr>
-<tr><td>bookkeeper_server_ADD_ENTRY_REQUEST</td><td>Histogram</td><td>The histogram of request latency of ADD_ENTRY requests at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
-<tr><td>bookkeeper_server_READ_ENTRY_REQUEST</td><td>Histogram</td><td>The histogram of request latency of READ_ENTRY requests at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
+<tr><td>bookkeeper_server_ADD_ENTRY_REQUEST</td><td>Summary</td><td>The summary of request latency of ADD_ENTRY requests at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
+<tr><td>bookkeeper_server_READ_ENTRY_REQUEST</td><td>Summary</td><td>The summary of request latency of READ_ENTRY requests at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
 </tbody>
 </table>
 <h3><a class="anchor" aria-hidden="true" id="journal-metrics"></a><a href="#journal-metrics" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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  [...]
@@ -148,8 +148,8 @@
 <tr><td>bookie_journal_JOURNAL_QUEUE_SIZE</td><td>Gauge</td><td>The total number of requests pending in the journal queue.</td></tr>
 <tr><td>bookie_journal_JOURNAL_FORCE_WRITE_QUEUE_SIZE</td><td>Gauge</td><td>The total number of force write (fsync) requests pending in the force-write queue.</td></tr>
 <tr><td>bookie_journal_JOURNAL_CB_QUEUE_SIZE</td><td>Gauge</td><td>The total number of callbacks pending in the callback queue.</td></tr>
-<tr><td>bookie_journal_JOURNAL_ADD_ENTRY</td><td>Histogram</td><td>The histogram of request latency of adding entries to the journal.</td></tr>
-<tr><td>bookie_journal_JOURNAL_SYNC</td><td>Histogram</td><td>The histogram of fsync latency of syncing data to the journal disk.</td></tr>
+<tr><td>bookie_journal_JOURNAL_ADD_ENTRY</td><td>Summary</td><td>The summary of request latency of adding entries to the journal.</td></tr>
+<tr><td>bookie_journal_JOURNAL_SYNC</td><td>Summary</td><td>The summary of fsync latency of syncing data to the journal disk.</td></tr>
 </tbody>
 </table>
 <h3><a class="anchor" aria-hidden="true" id="storage-metrics"></a><a href="#storage-metrics" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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  [...]
diff --git a/content/docs/ja/2.6.2/client-libraries-java.html b/content/docs/ja/2.6.2/client-libraries-java.html
index 616c9b4..10885bd 100644
--- a/content/docs/ja/2.6.2/client-libraries-java.html
+++ b/content/docs/ja/2.6.2/client-libraries-java.html
@@ -256,7 +256,7 @@ producer.closeAsync()
 <h3><a class="anchor" aria-hidden="true" id="configure-consumer"></a><a href="#configure-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- [...]
 <p>If you instantiate a <code>Consumer</code> object by specifying only a topic and subscription name as in the example above, the consumer uses the default configuration.</p>
 <p>When you create a consumer, you can use the <code>loadConf</code> configuration. The following parameters are available in <code>loadConf</code>.</p>
-<p>Type | Name| <div style="width:300px">Description</div>|  Default |---|---|---|--- Set&lt;String&gt;|  <code>topicNames</code>|   Topic name| Sets.newTreeSet() Pattern|   <code>topicsPattern</code>| Topic pattern   |None String| <code>subscriptionName</code>| Subscription name|  None SubscriptionType| <code>subscriptionType</code>|   Subscription type <br/><br/>Three subscription types are available:<li>Exclusive</li><li>Failover</li><li>Shared</li>|SubscriptionType.Exclusive int | <c [...]
+<p>Type | Name| <div style="width:300px">Description</div>|  Default |---|---|---|--- Set&lt;String&gt;|  <code>topicNames</code>|   Topic name| Sets.newTreeSet() Pattern|   <code>topicsPattern</code>| Topic pattern   |None String| <code>subscriptionName</code>| Subscription name|  None SubscriptionType| <code>subscriptionType</code>|   Subscription type <br/><br/>Four subscription types are available:<li>Exclusive</li><li>Failover</li><li>Shared</li><li>Key_Shared</li>|SubscriptionType. [...]
 SortedMap&lt;String, String&gt;|<code>properties</code>|A name or value property of this consumer.<br/><br/><code>properties</code> is application defined metadata attached to a consumer. <br/><br/>When getting a topic stats, associate this metadata with the consumer stats for easier identification.|new TreeMap&lt;&gt;() boolean|<code>readCompacted</code>|If enabling <code>readCompacted</code>, a consumer reads messages from a compacted topic rather than reading a full message backlog of [...]
 <p>You can configure parameters if you do not want to use the default configuration. For a full list, see the Javadoc for the <a href="https://pulsar.incubator.apache.org/api/client/2.7.0-SNAPSHOT/org/apache/pulsar/client/api/ConsumerBuilder">ConsumerBuilder</a>
  class.</p>
diff --git a/content/docs/ja/2.6.2/client-libraries-java/index.html b/content/docs/ja/2.6.2/client-libraries-java/index.html
index 616c9b4..10885bd 100644
--- a/content/docs/ja/2.6.2/client-libraries-java/index.html
+++ b/content/docs/ja/2.6.2/client-libraries-java/index.html
@@ -256,7 +256,7 @@ producer.closeAsync()
 <h3><a class="anchor" aria-hidden="true" id="configure-consumer"></a><a href="#configure-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- [...]
 <p>If you instantiate a <code>Consumer</code> object by specifying only a topic and subscription name as in the example above, the consumer uses the default configuration.</p>
 <p>When you create a consumer, you can use the <code>loadConf</code> configuration. The following parameters are available in <code>loadConf</code>.</p>
-<p>Type | Name| <div style="width:300px">Description</div>|  Default |---|---|---|--- Set&lt;String&gt;|  <code>topicNames</code>|   Topic name| Sets.newTreeSet() Pattern|   <code>topicsPattern</code>| Topic pattern   |None String| <code>subscriptionName</code>| Subscription name|  None SubscriptionType| <code>subscriptionType</code>|   Subscription type <br/><br/>Three subscription types are available:<li>Exclusive</li><li>Failover</li><li>Shared</li>|SubscriptionType.Exclusive int | <c [...]
+<p>Type | Name| <div style="width:300px">Description</div>|  Default |---|---|---|--- Set&lt;String&gt;|  <code>topicNames</code>|   Topic name| Sets.newTreeSet() Pattern|   <code>topicsPattern</code>| Topic pattern   |None String| <code>subscriptionName</code>| Subscription name|  None SubscriptionType| <code>subscriptionType</code>|   Subscription type <br/><br/>Four subscription types are available:<li>Exclusive</li><li>Failover</li><li>Shared</li><li>Key_Shared</li>|SubscriptionType. [...]
 SortedMap&lt;String, String&gt;|<code>properties</code>|A name or value property of this consumer.<br/><br/><code>properties</code> is application defined metadata attached to a consumer. <br/><br/>When getting a topic stats, associate this metadata with the consumer stats for easier identification.|new TreeMap&lt;&gt;() boolean|<code>readCompacted</code>|If enabling <code>readCompacted</code>, a consumer reads messages from a compacted topic rather than reading a full message backlog of [...]
 <p>You can configure parameters if you do not want to use the default configuration. For a full list, see the Javadoc for the <a href="https://pulsar.incubator.apache.org/api/client/2.7.0-SNAPSHOT/org/apache/pulsar/client/api/ConsumerBuilder">ConsumerBuilder</a>
  class.</p>
diff --git a/content/docs/ja/2.6.2/client-libraries-node.html b/content/docs/ja/2.6.2/client-libraries-node.html
index e8db1da..218255d 100644
--- a/content/docs/ja/2.6.2/client-libraries-node.html
+++ b/content/docs/ja/2.6.2/client-libraries-node.html
@@ -266,7 +266,7 @@ In this example, using await operator instead of executor function.</p>
 <tbody>
 <tr><td style="text-align:left"><code>topic</code></td><td style="text-align:left">The Pulsar <a href="/docs/ja/2.6.2/reference-terminology#topic">topic</a> on which the consumer will establish a subscription and listen for messages.</td><td style="text-align:left"></td></tr>
 <tr><td style="text-align:left"><code>subscription</code></td><td style="text-align:left">The subscription name for this consumer.</td><td style="text-align:left"></td></tr>
-<tr><td style="text-align:left"><code>subscriptionType</code></td><td style="text-align:left">Available options are <code>Exclusive</code>, <code>Shared</code>, and <code>Failover</code>.</td><td style="text-align:left"><code>Exclusive</code></td></tr>
+<tr><td style="text-align:left"><code>subscriptionType</code></td><td style="text-align:left">Available options are <code>Exclusive</code>, <code>Shared</code>, <code>Key_Shared</code>, and <code>Failover</code>.</td><td style="text-align:left"><code>Exclusive</code></td></tr>
 <tr><td style="text-align:left"><code>ackTimeoutMs</code></td><td style="text-align:left">Acknowledge timeout in milliseconds.</td><td style="text-align:left">0</td></tr>
 <tr><td style="text-align:left"><code>receiverQueueSize</code></td><td style="text-align:left">Sets the size of the consumer's receiver queue, i.e. the number of messages that can be accumulated by the consumer before the application calls <code>receive</code>. A value higher than the default of 1000 could increase consumer throughput, though at the expense of more memory utilization.</td><td style="text-align:left">1000</td></tr>
 <tr><td style="text-align:left"><code>receiverQueueSizeAcrossPartitions</code></td><td style="text-align:left">Set the max total receiver queue size across partitions. This setting will be used to reduce the receiver queue size for individual partitions if the total exceeds this value.</td><td style="text-align:left">50000</td></tr>
diff --git a/content/docs/ja/2.6.2/client-libraries-node/index.html b/content/docs/ja/2.6.2/client-libraries-node/index.html
index e8db1da..218255d 100644
--- a/content/docs/ja/2.6.2/client-libraries-node/index.html
+++ b/content/docs/ja/2.6.2/client-libraries-node/index.html
@@ -266,7 +266,7 @@ In this example, using await operator instead of executor function.</p>
 <tbody>
 <tr><td style="text-align:left"><code>topic</code></td><td style="text-align:left">The Pulsar <a href="/docs/ja/2.6.2/reference-terminology#topic">topic</a> on which the consumer will establish a subscription and listen for messages.</td><td style="text-align:left"></td></tr>
 <tr><td style="text-align:left"><code>subscription</code></td><td style="text-align:left">The subscription name for this consumer.</td><td style="text-align:left"></td></tr>
-<tr><td style="text-align:left"><code>subscriptionType</code></td><td style="text-align:left">Available options are <code>Exclusive</code>, <code>Shared</code>, and <code>Failover</code>.</td><td style="text-align:left"><code>Exclusive</code></td></tr>
+<tr><td style="text-align:left"><code>subscriptionType</code></td><td style="text-align:left">Available options are <code>Exclusive</code>, <code>Shared</code>, <code>Key_Shared</code>, and <code>Failover</code>.</td><td style="text-align:left"><code>Exclusive</code></td></tr>
 <tr><td style="text-align:left"><code>ackTimeoutMs</code></td><td style="text-align:left">Acknowledge timeout in milliseconds.</td><td style="text-align:left">0</td></tr>
 <tr><td style="text-align:left"><code>receiverQueueSize</code></td><td style="text-align:left">Sets the size of the consumer's receiver queue, i.e. the number of messages that can be accumulated by the consumer before the application calls <code>receive</code>. A value higher than the default of 1000 could increase consumer throughput, though at the expense of more memory utilization.</td><td style="text-align:left">1000</td></tr>
 <tr><td style="text-align:left"><code>receiverQueueSizeAcrossPartitions</code></td><td style="text-align:left">Set the max total receiver queue size across partitions. This setting will be used to reduce the receiver queue size for individual partitions if the total exceeds this value.</td><td style="text-align:left">50000</td></tr>
diff --git a/content/docs/ja/2.6.2/client-libraries-websocket.html b/content/docs/ja/2.6.2/client-libraries-websocket.html
index dfdeb21..325565f 100644
--- a/content/docs/ja/2.6.2/client-libraries-websocket.html
+++ b/content/docs/ja/2.6.2/client-libraries-websocket.html
@@ -184,7 +184,7 @@
 </thead>
 <tbody>
 <tr><td style="text-align:left"><code>ackTimeoutMillis</code></td><td style="text-align:left">long</td><td style="text-align:left">no</td><td style="text-align:left">Set the timeout for unacked messages (default: 0)</td></tr>
-<tr><td style="text-align:left"><code>subscriptionType</code></td><td style="text-align:left">string</td><td style="text-align:left">no</td><td style="text-align:left"><a href="https://pulsar.apache.org/api/client/2.7.0-SNAPSHOT/index.html?org/apache/pulsar/client/api/SubscriptionType.html">Subscription type</a>: <code>Exclusive</code>, <code>Failover</code>, <code>Shared</code></td></tr>
+<tr><td style="text-align:left"><code>subscriptionType</code></td><td style="text-align:left">string</td><td style="text-align:left">no</td><td style="text-align:left"><a href="https://pulsar.apache.org/api/client/2.7.0-SNAPSHOT/index.html?org/apache/pulsar/client/api/SubscriptionType.html">Subscription type</a>: <code>Exclusive</code>, <code>Failover</code>, <code>Shared</code>, <code>Key_Shared</code></td></tr>
 <tr><td style="text-align:left"><code>receiverQueueSize</code></td><td style="text-align:left">int</td><td style="text-align:left">no</td><td style="text-align:left">Size of the consumer receive queue (default: 1000)</td></tr>
 <tr><td style="text-align:left"><code>consumerName</code></td><td style="text-align:left">string</td><td style="text-align:left">no</td><td style="text-align:left">Consumer name</td></tr>
 <tr><td style="text-align:left"><code>priorityLevel</code></td><td style="text-align:left">int</td><td style="text-align:left">no</td><td style="text-align:left">Define a <a href="http://pulsar.apache.org/api/client/2.7.0-SNAPSHOT/org/apache/pulsar/client/api/ConsumerConfiguration.html#setPriorityLevel-int-">priority</a> for the consumer</td></tr>
diff --git a/content/docs/ja/2.6.2/client-libraries-websocket/index.html b/content/docs/ja/2.6.2/client-libraries-websocket/index.html
index dfdeb21..325565f 100644
--- a/content/docs/ja/2.6.2/client-libraries-websocket/index.html
+++ b/content/docs/ja/2.6.2/client-libraries-websocket/index.html
@@ -184,7 +184,7 @@
 </thead>
 <tbody>
 <tr><td style="text-align:left"><code>ackTimeoutMillis</code></td><td style="text-align:left">long</td><td style="text-align:left">no</td><td style="text-align:left">Set the timeout for unacked messages (default: 0)</td></tr>
-<tr><td style="text-align:left"><code>subscriptionType</code></td><td style="text-align:left">string</td><td style="text-align:left">no</td><td style="text-align:left"><a href="https://pulsar.apache.org/api/client/2.7.0-SNAPSHOT/index.html?org/apache/pulsar/client/api/SubscriptionType.html">Subscription type</a>: <code>Exclusive</code>, <code>Failover</code>, <code>Shared</code></td></tr>
+<tr><td style="text-align:left"><code>subscriptionType</code></td><td style="text-align:left">string</td><td style="text-align:left">no</td><td style="text-align:left"><a href="https://pulsar.apache.org/api/client/2.7.0-SNAPSHOT/index.html?org/apache/pulsar/client/api/SubscriptionType.html">Subscription type</a>: <code>Exclusive</code>, <code>Failover</code>, <code>Shared</code>, <code>Key_Shared</code></td></tr>
 <tr><td style="text-align:left"><code>receiverQueueSize</code></td><td style="text-align:left">int</td><td style="text-align:left">no</td><td style="text-align:left">Size of the consumer receive queue (default: 1000)</td></tr>
 <tr><td style="text-align:left"><code>consumerName</code></td><td style="text-align:left">string</td><td style="text-align:left">no</td><td style="text-align:left">Consumer name</td></tr>
 <tr><td style="text-align:left"><code>priorityLevel</code></td><td style="text-align:left">int</td><td style="text-align:left">no</td><td style="text-align:left">Define a <a href="http://pulsar.apache.org/api/client/2.7.0-SNAPSHOT/org/apache/pulsar/client/api/ConsumerConfiguration.html#setPriorityLevel-int-">priority</a> for the consumer</td></tr>
diff --git a/content/docs/ja/2.6.2/reference-metrics.html b/content/docs/ja/2.6.2/reference-metrics.html
index ac29f6a..8ade2ae 100644
--- a/content/docs/ja/2.6.2/reference-metrics.html
+++ b/content/docs/ja/2.6.2/reference-metrics.html
@@ -134,8 +134,8 @@
 <tr><td>bookkeeper_server_READ_ENTRY_count</td><td>Counter</td><td>The total number of READ_ENTRY requests received at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
 <tr><td>bookie_WRITE_BYTES</td><td>Counter</td><td>The total number of bytes written to the bookie.</td></tr>
 <tr><td>bookie_READ_BYTES</td><td>Counter</td><td>The total number of bytes read from the bookie.</td></tr>
-<tr><td>bookkeeper_server_ADD_ENTRY_REQUEST</td><td>Histogram</td><td>The histogram of request latency of ADD_ENTRY requests at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
-<tr><td>bookkeeper_server_READ_ENTRY_REQUEST</td><td>Histogram</td><td>The histogram of request latency of READ_ENTRY requests at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
+<tr><td>bookkeeper_server_ADD_ENTRY_REQUEST</td><td>Summary</td><td>The summary of request latency of ADD_ENTRY requests at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
+<tr><td>bookkeeper_server_READ_ENTRY_REQUEST</td><td>Summary</td><td>The summary of request latency of READ_ENTRY requests at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
 </tbody>
 </table>
 <h3><a class="anchor" aria-hidden="true" id="journal-metrics"></a><a href="#journal-metrics" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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  [...]
@@ -148,8 +148,8 @@
 <tr><td>bookie_journal_JOURNAL_QUEUE_SIZE</td><td>Gauge</td><td>The total number of requests pending in the journal queue.</td></tr>
 <tr><td>bookie_journal_JOURNAL_FORCE_WRITE_QUEUE_SIZE</td><td>Gauge</td><td>The total number of force write (fsync) requests pending in the force-write queue.</td></tr>
 <tr><td>bookie_journal_JOURNAL_CB_QUEUE_SIZE</td><td>Gauge</td><td>The total number of callbacks pending in the callback queue.</td></tr>
-<tr><td>bookie_journal_JOURNAL_ADD_ENTRY</td><td>Histogram</td><td>The histogram of request latency of adding entries to the journal.</td></tr>
-<tr><td>bookie_journal_JOURNAL_SYNC</td><td>Histogram</td><td>The histogram of fsync latency of syncing data to the journal disk.</td></tr>
+<tr><td>bookie_journal_JOURNAL_ADD_ENTRY</td><td>Summary</td><td>The summary of request latency of adding entries to the journal.</td></tr>
+<tr><td>bookie_journal_JOURNAL_SYNC</td><td>Summary</td><td>The summary of fsync latency of syncing data to the journal disk.</td></tr>
 </tbody>
 </table>
 <h3><a class="anchor" aria-hidden="true" id="storage-metrics"></a><a href="#storage-metrics" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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  [...]
diff --git a/content/docs/ja/2.6.2/reference-metrics/index.html b/content/docs/ja/2.6.2/reference-metrics/index.html
index ac29f6a..8ade2ae 100644
--- a/content/docs/ja/2.6.2/reference-metrics/index.html
+++ b/content/docs/ja/2.6.2/reference-metrics/index.html
@@ -134,8 +134,8 @@
 <tr><td>bookkeeper_server_READ_ENTRY_count</td><td>Counter</td><td>The total number of READ_ENTRY requests received at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
 <tr><td>bookie_WRITE_BYTES</td><td>Counter</td><td>The total number of bytes written to the bookie.</td></tr>
 <tr><td>bookie_READ_BYTES</td><td>Counter</td><td>The total number of bytes read from the bookie.</td></tr>
-<tr><td>bookkeeper_server_ADD_ENTRY_REQUEST</td><td>Histogram</td><td>The histogram of request latency of ADD_ENTRY requests at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
-<tr><td>bookkeeper_server_READ_ENTRY_REQUEST</td><td>Histogram</td><td>The histogram of request latency of READ_ENTRY requests at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
+<tr><td>bookkeeper_server_ADD_ENTRY_REQUEST</td><td>Summary</td><td>The summary of request latency of ADD_ENTRY requests at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
+<tr><td>bookkeeper_server_READ_ENTRY_REQUEST</td><td>Summary</td><td>The summary of request latency of READ_ENTRY requests at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
 </tbody>
 </table>
 <h3><a class="anchor" aria-hidden="true" id="journal-metrics"></a><a href="#journal-metrics" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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  [...]
@@ -148,8 +148,8 @@
 <tr><td>bookie_journal_JOURNAL_QUEUE_SIZE</td><td>Gauge</td><td>The total number of requests pending in the journal queue.</td></tr>
 <tr><td>bookie_journal_JOURNAL_FORCE_WRITE_QUEUE_SIZE</td><td>Gauge</td><td>The total number of force write (fsync) requests pending in the force-write queue.</td></tr>
 <tr><td>bookie_journal_JOURNAL_CB_QUEUE_SIZE</td><td>Gauge</td><td>The total number of callbacks pending in the callback queue.</td></tr>
-<tr><td>bookie_journal_JOURNAL_ADD_ENTRY</td><td>Histogram</td><td>The histogram of request latency of adding entries to the journal.</td></tr>
-<tr><td>bookie_journal_JOURNAL_SYNC</td><td>Histogram</td><td>The histogram of fsync latency of syncing data to the journal disk.</td></tr>
+<tr><td>bookie_journal_JOURNAL_ADD_ENTRY</td><td>Summary</td><td>The summary of request latency of adding entries to the journal.</td></tr>
+<tr><td>bookie_journal_JOURNAL_SYNC</td><td>Summary</td><td>The summary of fsync latency of syncing data to the journal disk.</td></tr>
 </tbody>
 </table>
 <h3><a class="anchor" aria-hidden="true" id="storage-metrics"></a><a href="#storage-metrics" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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  [...]
diff --git a/content/docs/ja/2.6.3/client-libraries-java.html b/content/docs/ja/2.6.3/client-libraries-java.html
index 56d581d..03c5146 100644
--- a/content/docs/ja/2.6.3/client-libraries-java.html
+++ b/content/docs/ja/2.6.3/client-libraries-java.html
@@ -256,7 +256,7 @@ producer.closeAsync()
 <h3><a class="anchor" aria-hidden="true" id="configure-consumer"></a><a href="#configure-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- [...]
 <p>If you instantiate a <code>Consumer</code> object by specifying only a topic and subscription name as in the example above, the consumer uses the default configuration.</p>
 <p>When you create a consumer, you can use the <code>loadConf</code> configuration. The following parameters are available in <code>loadConf</code>.</p>
-<p>Type | Name| <div style="width:300px">Description</div>|  Default |---|---|---|--- Set&lt;String&gt;|  <code>topicNames</code>|   Topic name| Sets.newTreeSet() Pattern|   <code>topicsPattern</code>| Topic pattern   |None String| <code>subscriptionName</code>| Subscription name|  None SubscriptionType| <code>subscriptionType</code>|   Subscription type <br/><br/>Three subscription types are available:<li>Exclusive</li><li>Failover</li><li>Shared</li>|SubscriptionType.Exclusive int | <c [...]
+<p>Type | Name| <div style="width:300px">Description</div>|  Default |---|---|---|--- Set&lt;String&gt;|  <code>topicNames</code>|   Topic name| Sets.newTreeSet() Pattern|   <code>topicsPattern</code>| Topic pattern   |None String| <code>subscriptionName</code>| Subscription name|  None SubscriptionType| <code>subscriptionType</code>|   Subscription type <br/><br/>Four subscription types are available:<li>Exclusive</li><li>Failover</li><li>Shared</li><li>Key_Shared</li>|SubscriptionType. [...]
 SortedMap&lt;String, String&gt;|<code>properties</code>|A name or value property of this consumer.<br/><br/><code>properties</code> is application defined metadata attached to a consumer. <br/><br/>When getting a topic stats, associate this metadata with the consumer stats for easier identification.|new TreeMap&lt;&gt;() boolean|<code>readCompacted</code>|If enabling <code>readCompacted</code>, a consumer reads messages from a compacted topic rather than reading a full message backlog of [...]
 <p>You can configure parameters if you do not want to use the default configuration. For a full list, see the Javadoc for the <a href="https://pulsar.incubator.apache.org/api/client/2.7.0-SNAPSHOT/org/apache/pulsar/client/api/ConsumerBuilder">ConsumerBuilder</a>
  class.</p>
diff --git a/content/docs/ja/2.6.3/client-libraries-java/index.html b/content/docs/ja/2.6.3/client-libraries-java/index.html
index 56d581d..03c5146 100644
--- a/content/docs/ja/2.6.3/client-libraries-java/index.html
+++ b/content/docs/ja/2.6.3/client-libraries-java/index.html
@@ -256,7 +256,7 @@ producer.closeAsync()
 <h3><a class="anchor" aria-hidden="true" id="configure-consumer"></a><a href="#configure-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- [...]
 <p>If you instantiate a <code>Consumer</code> object by specifying only a topic and subscription name as in the example above, the consumer uses the default configuration.</p>
 <p>When you create a consumer, you can use the <code>loadConf</code> configuration. The following parameters are available in <code>loadConf</code>.</p>
-<p>Type | Name| <div style="width:300px">Description</div>|  Default |---|---|---|--- Set&lt;String&gt;|  <code>topicNames</code>|   Topic name| Sets.newTreeSet() Pattern|   <code>topicsPattern</code>| Topic pattern   |None String| <code>subscriptionName</code>| Subscription name|  None SubscriptionType| <code>subscriptionType</code>|   Subscription type <br/><br/>Three subscription types are available:<li>Exclusive</li><li>Failover</li><li>Shared</li>|SubscriptionType.Exclusive int | <c [...]
+<p>Type | Name| <div style="width:300px">Description</div>|  Default |---|---|---|--- Set&lt;String&gt;|  <code>topicNames</code>|   Topic name| Sets.newTreeSet() Pattern|   <code>topicsPattern</code>| Topic pattern   |None String| <code>subscriptionName</code>| Subscription name|  None SubscriptionType| <code>subscriptionType</code>|   Subscription type <br/><br/>Four subscription types are available:<li>Exclusive</li><li>Failover</li><li>Shared</li><li>Key_Shared</li>|SubscriptionType. [...]
 SortedMap&lt;String, String&gt;|<code>properties</code>|A name or value property of this consumer.<br/><br/><code>properties</code> is application defined metadata attached to a consumer. <br/><br/>When getting a topic stats, associate this metadata with the consumer stats for easier identification.|new TreeMap&lt;&gt;() boolean|<code>readCompacted</code>|If enabling <code>readCompacted</code>, a consumer reads messages from a compacted topic rather than reading a full message backlog of [...]
 <p>You can configure parameters if you do not want to use the default configuration. For a full list, see the Javadoc for the <a href="https://pulsar.incubator.apache.org/api/client/2.7.0-SNAPSHOT/org/apache/pulsar/client/api/ConsumerBuilder">ConsumerBuilder</a>
  class.</p>
diff --git a/content/docs/ja/2.6.3/client-libraries-node.html b/content/docs/ja/2.6.3/client-libraries-node.html
index 9620139..bf8445f 100644
--- a/content/docs/ja/2.6.3/client-libraries-node.html
+++ b/content/docs/ja/2.6.3/client-libraries-node.html
@@ -266,7 +266,7 @@ In this example, using await operator instead of executor function.</p>
 <tbody>
 <tr><td style="text-align:left"><code>topic</code></td><td style="text-align:left">The Pulsar <a href="/docs/ja/2.6.3/reference-terminology#topic">topic</a> on which the consumer will establish a subscription and listen for messages.</td><td style="text-align:left"></td></tr>
 <tr><td style="text-align:left"><code>subscription</code></td><td style="text-align:left">The subscription name for this consumer.</td><td style="text-align:left"></td></tr>
-<tr><td style="text-align:left"><code>subscriptionType</code></td><td style="text-align:left">Available options are <code>Exclusive</code>, <code>Shared</code>, and <code>Failover</code>.</td><td style="text-align:left"><code>Exclusive</code></td></tr>
+<tr><td style="text-align:left"><code>subscriptionType</code></td><td style="text-align:left">Available options are <code>Exclusive</code>, <code>Shared</code>, <code>Key_Shared</code>, and <code>Failover</code>.</td><td style="text-align:left"><code>Exclusive</code></td></tr>
 <tr><td style="text-align:left"><code>ackTimeoutMs</code></td><td style="text-align:left">Acknowledge timeout in milliseconds.</td><td style="text-align:left">0</td></tr>
 <tr><td style="text-align:left"><code>receiverQueueSize</code></td><td style="text-align:left">Sets the size of the consumer's receiver queue, i.e. the number of messages that can be accumulated by the consumer before the application calls <code>receive</code>. A value higher than the default of 1000 could increase consumer throughput, though at the expense of more memory utilization.</td><td style="text-align:left">1000</td></tr>
 <tr><td style="text-align:left"><code>receiverQueueSizeAcrossPartitions</code></td><td style="text-align:left">Set the max total receiver queue size across partitions. This setting will be used to reduce the receiver queue size for individual partitions if the total exceeds this value.</td><td style="text-align:left">50000</td></tr>
diff --git a/content/docs/ja/2.6.3/client-libraries-node/index.html b/content/docs/ja/2.6.3/client-libraries-node/index.html
index 9620139..bf8445f 100644
--- a/content/docs/ja/2.6.3/client-libraries-node/index.html
+++ b/content/docs/ja/2.6.3/client-libraries-node/index.html
@@ -266,7 +266,7 @@ In this example, using await operator instead of executor function.</p>
 <tbody>
 <tr><td style="text-align:left"><code>topic</code></td><td style="text-align:left">The Pulsar <a href="/docs/ja/2.6.3/reference-terminology#topic">topic</a> on which the consumer will establish a subscription and listen for messages.</td><td style="text-align:left"></td></tr>
 <tr><td style="text-align:left"><code>subscription</code></td><td style="text-align:left">The subscription name for this consumer.</td><td style="text-align:left"></td></tr>
-<tr><td style="text-align:left"><code>subscriptionType</code></td><td style="text-align:left">Available options are <code>Exclusive</code>, <code>Shared</code>, and <code>Failover</code>.</td><td style="text-align:left"><code>Exclusive</code></td></tr>
+<tr><td style="text-align:left"><code>subscriptionType</code></td><td style="text-align:left">Available options are <code>Exclusive</code>, <code>Shared</code>, <code>Key_Shared</code>, and <code>Failover</code>.</td><td style="text-align:left"><code>Exclusive</code></td></tr>
 <tr><td style="text-align:left"><code>ackTimeoutMs</code></td><td style="text-align:left">Acknowledge timeout in milliseconds.</td><td style="text-align:left">0</td></tr>
 <tr><td style="text-align:left"><code>receiverQueueSize</code></td><td style="text-align:left">Sets the size of the consumer's receiver queue, i.e. the number of messages that can be accumulated by the consumer before the application calls <code>receive</code>. A value higher than the default of 1000 could increase consumer throughput, though at the expense of more memory utilization.</td><td style="text-align:left">1000</td></tr>
 <tr><td style="text-align:left"><code>receiverQueueSizeAcrossPartitions</code></td><td style="text-align:left">Set the max total receiver queue size across partitions. This setting will be used to reduce the receiver queue size for individual partitions if the total exceeds this value.</td><td style="text-align:left">50000</td></tr>
diff --git a/content/docs/ja/2.6.3/client-libraries-websocket.html b/content/docs/ja/2.6.3/client-libraries-websocket.html
index 4326f4c..693e6e9 100644
--- a/content/docs/ja/2.6.3/client-libraries-websocket.html
+++ b/content/docs/ja/2.6.3/client-libraries-websocket.html
@@ -184,7 +184,7 @@
 </thead>
 <tbody>
 <tr><td style="text-align:left"><code>ackTimeoutMillis</code></td><td style="text-align:left">long</td><td style="text-align:left">no</td><td style="text-align:left">Set the timeout for unacked messages (default: 0)</td></tr>
-<tr><td style="text-align:left"><code>subscriptionType</code></td><td style="text-align:left">string</td><td style="text-align:left">no</td><td style="text-align:left"><a href="https://pulsar.apache.org/api/client/2.7.0-SNAPSHOT/index.html?org/apache/pulsar/client/api/SubscriptionType.html">Subscription type</a>: <code>Exclusive</code>, <code>Failover</code>, <code>Shared</code></td></tr>
+<tr><td style="text-align:left"><code>subscriptionType</code></td><td style="text-align:left">string</td><td style="text-align:left">no</td><td style="text-align:left"><a href="https://pulsar.apache.org/api/client/2.7.0-SNAPSHOT/index.html?org/apache/pulsar/client/api/SubscriptionType.html">Subscription type</a>: <code>Exclusive</code>, <code>Failover</code>, <code>Shared</code>, <code>Key_Shared</code></td></tr>
 <tr><td style="text-align:left"><code>receiverQueueSize</code></td><td style="text-align:left">int</td><td style="text-align:left">no</td><td style="text-align:left">Size of the consumer receive queue (default: 1000)</td></tr>
 <tr><td style="text-align:left"><code>consumerName</code></td><td style="text-align:left">string</td><td style="text-align:left">no</td><td style="text-align:left">Consumer name</td></tr>
 <tr><td style="text-align:left"><code>priorityLevel</code></td><td style="text-align:left">int</td><td style="text-align:left">no</td><td style="text-align:left">Define a <a href="http://pulsar.apache.org/api/client/2.7.0-SNAPSHOT/org/apache/pulsar/client/api/ConsumerConfiguration.html#setPriorityLevel-int-">priority</a> for the consumer</td></tr>
diff --git a/content/docs/ja/2.6.3/client-libraries-websocket/index.html b/content/docs/ja/2.6.3/client-libraries-websocket/index.html
index 4326f4c..693e6e9 100644
--- a/content/docs/ja/2.6.3/client-libraries-websocket/index.html
+++ b/content/docs/ja/2.6.3/client-libraries-websocket/index.html
@@ -184,7 +184,7 @@
 </thead>
 <tbody>
 <tr><td style="text-align:left"><code>ackTimeoutMillis</code></td><td style="text-align:left">long</td><td style="text-align:left">no</td><td style="text-align:left">Set the timeout for unacked messages (default: 0)</td></tr>
-<tr><td style="text-align:left"><code>subscriptionType</code></td><td style="text-align:left">string</td><td style="text-align:left">no</td><td style="text-align:left"><a href="https://pulsar.apache.org/api/client/2.7.0-SNAPSHOT/index.html?org/apache/pulsar/client/api/SubscriptionType.html">Subscription type</a>: <code>Exclusive</code>, <code>Failover</code>, <code>Shared</code></td></tr>
+<tr><td style="text-align:left"><code>subscriptionType</code></td><td style="text-align:left">string</td><td style="text-align:left">no</td><td style="text-align:left"><a href="https://pulsar.apache.org/api/client/2.7.0-SNAPSHOT/index.html?org/apache/pulsar/client/api/SubscriptionType.html">Subscription type</a>: <code>Exclusive</code>, <code>Failover</code>, <code>Shared</code>, <code>Key_Shared</code></td></tr>
 <tr><td style="text-align:left"><code>receiverQueueSize</code></td><td style="text-align:left">int</td><td style="text-align:left">no</td><td style="text-align:left">Size of the consumer receive queue (default: 1000)</td></tr>
 <tr><td style="text-align:left"><code>consumerName</code></td><td style="text-align:left">string</td><td style="text-align:left">no</td><td style="text-align:left">Consumer name</td></tr>
 <tr><td style="text-align:left"><code>priorityLevel</code></td><td style="text-align:left">int</td><td style="text-align:left">no</td><td style="text-align:left">Define a <a href="http://pulsar.apache.org/api/client/2.7.0-SNAPSHOT/org/apache/pulsar/client/api/ConsumerConfiguration.html#setPriorityLevel-int-">priority</a> for the consumer</td></tr>
diff --git a/content/docs/ja/2.6.3/reference-metrics.html b/content/docs/ja/2.6.3/reference-metrics.html
index c0a0bbf..97bc8fc 100644
--- a/content/docs/ja/2.6.3/reference-metrics.html
+++ b/content/docs/ja/2.6.3/reference-metrics.html
@@ -134,8 +134,8 @@
 <tr><td>bookkeeper_server_READ_ENTRY_count</td><td>Counter</td><td>The total number of READ_ENTRY requests received at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
 <tr><td>bookie_WRITE_BYTES</td><td>Counter</td><td>The total number of bytes written to the bookie.</td></tr>
 <tr><td>bookie_READ_BYTES</td><td>Counter</td><td>The total number of bytes read from the bookie.</td></tr>
-<tr><td>bookkeeper_server_ADD_ENTRY_REQUEST</td><td>Histogram</td><td>The histogram of request latency of ADD_ENTRY requests at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
-<tr><td>bookkeeper_server_READ_ENTRY_REQUEST</td><td>Histogram</td><td>The histogram of request latency of READ_ENTRY requests at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
+<tr><td>bookkeeper_server_ADD_ENTRY_REQUEST</td><td>Summary</td><td>The summary of request latency of ADD_ENTRY requests at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
+<tr><td>bookkeeper_server_READ_ENTRY_REQUEST</td><td>Summary</td><td>The summary of request latency of READ_ENTRY requests at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
 </tbody>
 </table>
 <h3><a class="anchor" aria-hidden="true" id="journal-metrics"></a><a href="#journal-metrics" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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  [...]
@@ -148,8 +148,8 @@
 <tr><td>bookie_journal_JOURNAL_QUEUE_SIZE</td><td>Gauge</td><td>The total number of requests pending in the journal queue.</td></tr>
 <tr><td>bookie_journal_JOURNAL_FORCE_WRITE_QUEUE_SIZE</td><td>Gauge</td><td>The total number of force write (fsync) requests pending in the force-write queue.</td></tr>
 <tr><td>bookie_journal_JOURNAL_CB_QUEUE_SIZE</td><td>Gauge</td><td>The total number of callbacks pending in the callback queue.</td></tr>
-<tr><td>bookie_journal_JOURNAL_ADD_ENTRY</td><td>Histogram</td><td>The histogram of request latency of adding entries to the journal.</td></tr>
-<tr><td>bookie_journal_JOURNAL_SYNC</td><td>Histogram</td><td>The histogram of fsync latency of syncing data to the journal disk.</td></tr>
+<tr><td>bookie_journal_JOURNAL_ADD_ENTRY</td><td>Summary</td><td>The summary of request latency of adding entries to the journal.</td></tr>
+<tr><td>bookie_journal_JOURNAL_SYNC</td><td>Summary</td><td>The summary of fsync latency of syncing data to the journal disk.</td></tr>
 </tbody>
 </table>
 <h3><a class="anchor" aria-hidden="true" id="storage-metrics"></a><a href="#storage-metrics" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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  [...]
diff --git a/content/docs/ja/2.6.3/reference-metrics/index.html b/content/docs/ja/2.6.3/reference-metrics/index.html
index c0a0bbf..97bc8fc 100644
--- a/content/docs/ja/2.6.3/reference-metrics/index.html
+++ b/content/docs/ja/2.6.3/reference-metrics/index.html
@@ -134,8 +134,8 @@
 <tr><td>bookkeeper_server_READ_ENTRY_count</td><td>Counter</td><td>The total number of READ_ENTRY requests received at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
 <tr><td>bookie_WRITE_BYTES</td><td>Counter</td><td>The total number of bytes written to the bookie.</td></tr>
 <tr><td>bookie_READ_BYTES</td><td>Counter</td><td>The total number of bytes read from the bookie.</td></tr>
-<tr><td>bookkeeper_server_ADD_ENTRY_REQUEST</td><td>Histogram</td><td>The histogram of request latency of ADD_ENTRY requests at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
-<tr><td>bookkeeper_server_READ_ENTRY_REQUEST</td><td>Histogram</td><td>The histogram of request latency of READ_ENTRY requests at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
+<tr><td>bookkeeper_server_ADD_ENTRY_REQUEST</td><td>Summary</td><td>The summary of request latency of ADD_ENTRY requests at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
+<tr><td>bookkeeper_server_READ_ENTRY_REQUEST</td><td>Summary</td><td>The summary of request latency of READ_ENTRY requests at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
 </tbody>
 </table>
 <h3><a class="anchor" aria-hidden="true" id="journal-metrics"></a><a href="#journal-metrics" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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  [...]
@@ -148,8 +148,8 @@
 <tr><td>bookie_journal_JOURNAL_QUEUE_SIZE</td><td>Gauge</td><td>The total number of requests pending in the journal queue.</td></tr>
 <tr><td>bookie_journal_JOURNAL_FORCE_WRITE_QUEUE_SIZE</td><td>Gauge</td><td>The total number of force write (fsync) requests pending in the force-write queue.</td></tr>
 <tr><td>bookie_journal_JOURNAL_CB_QUEUE_SIZE</td><td>Gauge</td><td>The total number of callbacks pending in the callback queue.</td></tr>
-<tr><td>bookie_journal_JOURNAL_ADD_ENTRY</td><td>Histogram</td><td>The histogram of request latency of adding entries to the journal.</td></tr>
-<tr><td>bookie_journal_JOURNAL_SYNC</td><td>Histogram</td><td>The histogram of fsync latency of syncing data to the journal disk.</td></tr>
+<tr><td>bookie_journal_JOURNAL_ADD_ENTRY</td><td>Summary</td><td>The summary of request latency of adding entries to the journal.</td></tr>
+<tr><td>bookie_journal_JOURNAL_SYNC</td><td>Summary</td><td>The summary of fsync latency of syncing data to the journal disk.</td></tr>
 </tbody>
 </table>
 <h3><a class="anchor" aria-hidden="true" id="storage-metrics"></a><a href="#storage-metrics" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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  [...]
diff --git a/content/docs/ja/client-libraries-java.html b/content/docs/ja/client-libraries-java.html
index da9ed9a..9b6971b 100644
--- a/content/docs/ja/client-libraries-java.html
+++ b/content/docs/ja/client-libraries-java.html
@@ -256,7 +256,7 @@ producer.closeAsync()
 <h3><a class="anchor" aria-hidden="true" id="configure-consumer"></a><a href="#configure-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- [...]
 <p>If you instantiate a <code>Consumer</code> object by specifying only a topic and subscription name as in the example above, the consumer uses the default configuration.</p>
 <p>When you create a consumer, you can use the <code>loadConf</code> configuration. The following parameters are available in <code>loadConf</code>.</p>
-<p>Type | Name| <div style="width:300px">Description</div>|  Default |---|---|---|--- Set&lt;String&gt;|  <code>topicNames</code>|   Topic name| Sets.newTreeSet() Pattern|   <code>topicsPattern</code>| Topic pattern   |None String| <code>subscriptionName</code>| Subscription name|  None SubscriptionType| <code>subscriptionType</code>|   Subscription type <br/><br/>Three subscription types are available:<li>Exclusive</li><li>Failover</li><li>Shared</li>|SubscriptionType.Exclusive int | <c [...]
+<p>Type | Name| <div style="width:300px">Description</div>|  Default |---|---|---|--- Set&lt;String&gt;|  <code>topicNames</code>|   Topic name| Sets.newTreeSet() Pattern|   <code>topicsPattern</code>| Topic pattern   |None String| <code>subscriptionName</code>| Subscription name|  None SubscriptionType| <code>subscriptionType</code>|   Subscription type <br/><br/>Four subscription types are available:<li>Exclusive</li><li>Failover</li><li>Shared</li><li>Key_Shared</li>|SubscriptionType. [...]
 SortedMap&lt;String, String&gt;|<code>properties</code>|A name or value property of this consumer.<br/><br/><code>properties</code> is application defined metadata attached to a consumer. <br/><br/>When getting a topic stats, associate this metadata with the consumer stats for easier identification.|new TreeMap&lt;&gt;() boolean|<code>readCompacted</code>|If enabling <code>readCompacted</code>, a consumer reads messages from a compacted topic rather than reading a full message backlog of [...]
 <p>You can configure parameters if you do not want to use the default configuration. For a full list, see the Javadoc for the <a href="https://pulsar.incubator.apache.org/api/client/2.7.0-SNAPSHOT/org/apache/pulsar/client/api/ConsumerBuilder">ConsumerBuilder</a>
  class.</p>
diff --git a/content/docs/ja/client-libraries-java/index.html b/content/docs/ja/client-libraries-java/index.html
index da9ed9a..9b6971b 100644
--- a/content/docs/ja/client-libraries-java/index.html
+++ b/content/docs/ja/client-libraries-java/index.html
@@ -256,7 +256,7 @@ producer.closeAsync()
 <h3><a class="anchor" aria-hidden="true" id="configure-consumer"></a><a href="#configure-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- [...]
 <p>If you instantiate a <code>Consumer</code> object by specifying only a topic and subscription name as in the example above, the consumer uses the default configuration.</p>
 <p>When you create a consumer, you can use the <code>loadConf</code> configuration. The following parameters are available in <code>loadConf</code>.</p>
-<p>Type | Name| <div style="width:300px">Description</div>|  Default |---|---|---|--- Set&lt;String&gt;|  <code>topicNames</code>|   Topic name| Sets.newTreeSet() Pattern|   <code>topicsPattern</code>| Topic pattern   |None String| <code>subscriptionName</code>| Subscription name|  None SubscriptionType| <code>subscriptionType</code>|   Subscription type <br/><br/>Three subscription types are available:<li>Exclusive</li><li>Failover</li><li>Shared</li>|SubscriptionType.Exclusive int | <c [...]
+<p>Type | Name| <div style="width:300px">Description</div>|  Default |---|---|---|--- Set&lt;String&gt;|  <code>topicNames</code>|   Topic name| Sets.newTreeSet() Pattern|   <code>topicsPattern</code>| Topic pattern   |None String| <code>subscriptionName</code>| Subscription name|  None SubscriptionType| <code>subscriptionType</code>|   Subscription type <br/><br/>Four subscription types are available:<li>Exclusive</li><li>Failover</li><li>Shared</li><li>Key_Shared</li>|SubscriptionType. [...]
 SortedMap&lt;String, String&gt;|<code>properties</code>|A name or value property of this consumer.<br/><br/><code>properties</code> is application defined metadata attached to a consumer. <br/><br/>When getting a topic stats, associate this metadata with the consumer stats for easier identification.|new TreeMap&lt;&gt;() boolean|<code>readCompacted</code>|If enabling <code>readCompacted</code>, a consumer reads messages from a compacted topic rather than reading a full message backlog of [...]
 <p>You can configure parameters if you do not want to use the default configuration. For a full list, see the Javadoc for the <a href="https://pulsar.incubator.apache.org/api/client/2.7.0-SNAPSHOT/org/apache/pulsar/client/api/ConsumerBuilder">ConsumerBuilder</a>
  class.</p>
diff --git a/content/docs/ja/client-libraries-node.html b/content/docs/ja/client-libraries-node.html
index b29623d..bb78340 100644
--- a/content/docs/ja/client-libraries-node.html
+++ b/content/docs/ja/client-libraries-node.html
@@ -271,7 +271,7 @@ In this example, using await operator instead of executor function.</p>
 <tbody>
 <tr><td style="text-align:left"><code>topic</code></td><td style="text-align:left">The Pulsar <a href="/docs/ja/reference-terminology#topic">topic</a> on which the consumer will establish a subscription and listen for messages.</td><td style="text-align:left"></td></tr>
 <tr><td style="text-align:left"><code>subscription</code></td><td style="text-align:left">The subscription name for this consumer.</td><td style="text-align:left"></td></tr>
-<tr><td style="text-align:left"><code>subscriptionType</code></td><td style="text-align:left">Available options are <code>Exclusive</code>, <code>Shared</code>, and <code>Failover</code>.</td><td style="text-align:left"><code>Exclusive</code></td></tr>
+<tr><td style="text-align:left"><code>subscriptionType</code></td><td style="text-align:left">Available options are <code>Exclusive</code>, <code>Shared</code>, <code>Key_Shared</code>, and <code>Failover</code>.</td><td style="text-align:left"><code>Exclusive</code></td></tr>
 <tr><td style="text-align:left"><code>subscriptionInitialPosition</code></td><td style="text-align:left">Initial position at which to set cursor when subscribing to a topic at first time.</td><td style="text-align:left"><code>SubscriptionInitialPosition.Latest</code></td></tr>
 <tr><td style="text-align:left"><code>ackTimeoutMs</code></td><td style="text-align:left">Acknowledge timeout in milliseconds.</td><td style="text-align:left">0</td></tr>
 <tr><td style="text-align:left"><code>nAckRedeliverTimeoutMs</code></td><td style="text-align:left">Delay to wait before redelivering messages that failed to be processed.</td><td style="text-align:left">60000</td></tr>
diff --git a/content/docs/ja/client-libraries-node/index.html b/content/docs/ja/client-libraries-node/index.html
index b29623d..bb78340 100644
--- a/content/docs/ja/client-libraries-node/index.html
+++ b/content/docs/ja/client-libraries-node/index.html
@@ -271,7 +271,7 @@ In this example, using await operator instead of executor function.</p>
 <tbody>
 <tr><td style="text-align:left"><code>topic</code></td><td style="text-align:left">The Pulsar <a href="/docs/ja/reference-terminology#topic">topic</a> on which the consumer will establish a subscription and listen for messages.</td><td style="text-align:left"></td></tr>
 <tr><td style="text-align:left"><code>subscription</code></td><td style="text-align:left">The subscription name for this consumer.</td><td style="text-align:left"></td></tr>
-<tr><td style="text-align:left"><code>subscriptionType</code></td><td style="text-align:left">Available options are <code>Exclusive</code>, <code>Shared</code>, and <code>Failover</code>.</td><td style="text-align:left"><code>Exclusive</code></td></tr>
+<tr><td style="text-align:left"><code>subscriptionType</code></td><td style="text-align:left">Available options are <code>Exclusive</code>, <code>Shared</code>, <code>Key_Shared</code>, and <code>Failover</code>.</td><td style="text-align:left"><code>Exclusive</code></td></tr>
 <tr><td style="text-align:left"><code>subscriptionInitialPosition</code></td><td style="text-align:left">Initial position at which to set cursor when subscribing to a topic at first time.</td><td style="text-align:left"><code>SubscriptionInitialPosition.Latest</code></td></tr>
 <tr><td style="text-align:left"><code>ackTimeoutMs</code></td><td style="text-align:left">Acknowledge timeout in milliseconds.</td><td style="text-align:left">0</td></tr>
 <tr><td style="text-align:left"><code>nAckRedeliverTimeoutMs</code></td><td style="text-align:left">Delay to wait before redelivering messages that failed to be processed.</td><td style="text-align:left">60000</td></tr>
diff --git a/content/docs/ja/client-libraries-websocket.html b/content/docs/ja/client-libraries-websocket.html
index ef27add..02da5b5 100644
--- a/content/docs/ja/client-libraries-websocket.html
+++ b/content/docs/ja/client-libraries-websocket.html
@@ -184,7 +184,7 @@
 </thead>
 <tbody>
 <tr><td style="text-align:left"><code>ackTimeoutMillis</code></td><td style="text-align:left">long</td><td style="text-align:left">no</td><td style="text-align:left">Set the timeout for unacked messages (default: 0)</td></tr>
-<tr><td style="text-align:left"><code>subscriptionType</code></td><td style="text-align:left">string</td><td style="text-align:left">no</td><td style="text-align:left"><a href="https://pulsar.apache.org/api/client/2.7.0-SNAPSHOT/index.html?org/apache/pulsar/client/api/SubscriptionType.html">Subscription type</a>: <code>Exclusive</code>, <code>Failover</code>, <code>Shared</code></td></tr>
+<tr><td style="text-align:left"><code>subscriptionType</code></td><td style="text-align:left">string</td><td style="text-align:left">no</td><td style="text-align:left"><a href="https://pulsar.apache.org/api/client/2.7.0-SNAPSHOT/index.html?org/apache/pulsar/client/api/SubscriptionType.html">Subscription type</a>: <code>Exclusive</code>, <code>Failover</code>, <code>Shared</code>, <code>Key_Shared</code></td></tr>
 <tr><td style="text-align:left"><code>receiverQueueSize</code></td><td style="text-align:left">int</td><td style="text-align:left">no</td><td style="text-align:left">Size of the consumer receive queue (default: 1000)</td></tr>
 <tr><td style="text-align:left"><code>consumerName</code></td><td style="text-align:left">string</td><td style="text-align:left">no</td><td style="text-align:left">Consumer name</td></tr>
 <tr><td style="text-align:left"><code>priorityLevel</code></td><td style="text-align:left">int</td><td style="text-align:left">no</td><td style="text-align:left">Define a <a href="http://pulsar.apache.org/api/client/2.7.0-SNAPSHOT/org/apache/pulsar/client/api/ConsumerConfiguration.html#setPriorityLevel-int-">priority</a> for the consumer</td></tr>
diff --git a/content/docs/ja/client-libraries-websocket/index.html b/content/docs/ja/client-libraries-websocket/index.html
index ef27add..02da5b5 100644
--- a/content/docs/ja/client-libraries-websocket/index.html
+++ b/content/docs/ja/client-libraries-websocket/index.html
@@ -184,7 +184,7 @@
 </thead>
 <tbody>
 <tr><td style="text-align:left"><code>ackTimeoutMillis</code></td><td style="text-align:left">long</td><td style="text-align:left">no</td><td style="text-align:left">Set the timeout for unacked messages (default: 0)</td></tr>
-<tr><td style="text-align:left"><code>subscriptionType</code></td><td style="text-align:left">string</td><td style="text-align:left">no</td><td style="text-align:left"><a href="https://pulsar.apache.org/api/client/2.7.0-SNAPSHOT/index.html?org/apache/pulsar/client/api/SubscriptionType.html">Subscription type</a>: <code>Exclusive</code>, <code>Failover</code>, <code>Shared</code></td></tr>
+<tr><td style="text-align:left"><code>subscriptionType</code></td><td style="text-align:left">string</td><td style="text-align:left">no</td><td style="text-align:left"><a href="https://pulsar.apache.org/api/client/2.7.0-SNAPSHOT/index.html?org/apache/pulsar/client/api/SubscriptionType.html">Subscription type</a>: <code>Exclusive</code>, <code>Failover</code>, <code>Shared</code>, <code>Key_Shared</code></td></tr>
 <tr><td style="text-align:left"><code>receiverQueueSize</code></td><td style="text-align:left">int</td><td style="text-align:left">no</td><td style="text-align:left">Size of the consumer receive queue (default: 1000)</td></tr>
 <tr><td style="text-align:left"><code>consumerName</code></td><td style="text-align:left">string</td><td style="text-align:left">no</td><td style="text-align:left">Consumer name</td></tr>
 <tr><td style="text-align:left"><code>priorityLevel</code></td><td style="text-align:left">int</td><td style="text-align:left">no</td><td style="text-align:left">Define a <a href="http://pulsar.apache.org/api/client/2.7.0-SNAPSHOT/org/apache/pulsar/client/api/ConsumerConfiguration.html#setPriorityLevel-int-">priority</a> for the consumer</td></tr>
diff --git a/content/docs/ja/next/adaptors-kafka.html b/content/docs/ja/next/adaptors-kafka.html
index fe5282f..96a953b 100644
--- a/content/docs/ja/next/adaptors-kafka.html
+++ b/content/docs/ja/next/adaptors-kafka.html
@@ -145,10 +145,10 @@ consumer.subscribe(Arrays.asList(topic));
 }
 </code></pre>
 <h2><a class="anchor" aria-hidden="true" id="complete-examples"></a><a href="#complete-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.22-2- [...]
-<p>You can find the complete producer and consumer examples <a href="https://github.com/apache/pulsar/tree/master/pulsar-client-kafka-compat/pulsar-client-kafka-tests/src/test/java/org/apache/pulsar/client/kafka/compat/examples">here</a>.</p>
+<p>You can find the complete producer and consumer examples <a href="https://github.com/apache/pulsar-adapters/tree/master/pulsar-client-kafka-compat/pulsar-client-kafka-tests/src/test/java/org/apache/pulsar/client/kafka/compat/examples">here</a>.</p>
 <h2><a class="anchor" aria-hidden="true" id="compatibility-matrix"></a><a href="#compatibility-matrix" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>Currently the Pulsar Kafka wrapper supports most of the operations offered by the Kafka API.</p>
-<h4><a class="anchor" aria-hidden="true" id="プロデューサー"></a><a href="#プロデューサー" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1- [...]
+<h3><a class="anchor" aria-hidden="true" id="プロデューサー"></a><a href="#プロデューサー" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1- [...]
 <p>APIs:</p>
 <table>
 <thead>
@@ -197,7 +197,7 @@ consumer.subscribe(Arrays.asList(topic));
 <tr><td style="text-align:left"><code>value.serializer</code></td><td style="text-align:left">Yes</td><td style="text-align:left"></td></tr>
 </tbody>
 </table>
-<h4><a class="anchor" aria-hidden="true" id="コンシューマー"></a><a href="#コンシューマー" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1- [...]
+<h3><a class="anchor" aria-hidden="true" id="コンシューマー"></a><a href="#コンシューマー" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1- [...]
 <p>The following table lists consumer APIs.</p>
 <table>
 <thead>
@@ -315,7 +315,7 @@ consumer.subscribe(Arrays.asList(topic));
 <tr><td style="text-align:left"><a href="http://pulsar.apache.org/api/client/2.7.0-SNAPSHOT/org/apache/pulsar/client/api/ConsumerBuilder.html#subscriptionTopicsMode-Mode-"><code>pulsar.consumer.subscription.topics.mode</code></a></td><td style="text-align:left">PersistentOnly</td><td style="text-align:left">Set the subscription topic mode for consumers.</td></tr>
 </tbody>
 </table>
-</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/ja/next/admin-api-packages"><span class="arrow-prev">← </span><span>Packages</span></a><a class="docs-next button" href="/docs/ja/next/adaptors-spark"><span>Apache Spark</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#using-the-pulsar-kafka-compatibility-wrapper">Using the Pulsar Kafka compatibility wrapper</a></li><li [...]
+</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/ja/next/admin-api-packages"><span class="arrow-prev">← </span><span>Packages</span></a><a class="docs-next button" href="/docs/ja/next/adaptors-spark"><span>Apache Spark</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#using-the-pulsar-kafka-compatibility-wrapper">Using the Pulsar Kafka compatibility wrapper</a></li><li [...]
       const community = document.querySelector("a[href='#community']").parentNode;
       const communityMenu =
         '<li>' +
diff --git a/content/docs/ja/next/adaptors-kafka/index.html b/content/docs/ja/next/adaptors-kafka/index.html
index fe5282f..96a953b 100644
--- a/content/docs/ja/next/adaptors-kafka/index.html
+++ b/content/docs/ja/next/adaptors-kafka/index.html
@@ -145,10 +145,10 @@ consumer.subscribe(Arrays.asList(topic));
 }
 </code></pre>
 <h2><a class="anchor" aria-hidden="true" id="complete-examples"></a><a href="#complete-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.22-2- [...]
-<p>You can find the complete producer and consumer examples <a href="https://github.com/apache/pulsar/tree/master/pulsar-client-kafka-compat/pulsar-client-kafka-tests/src/test/java/org/apache/pulsar/client/kafka/compat/examples">here</a>.</p>
+<p>You can find the complete producer and consumer examples <a href="https://github.com/apache/pulsar-adapters/tree/master/pulsar-client-kafka-compat/pulsar-client-kafka-tests/src/test/java/org/apache/pulsar/client/kafka/compat/examples">here</a>.</p>
 <h2><a class="anchor" aria-hidden="true" id="compatibility-matrix"></a><a href="#compatibility-matrix" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>Currently the Pulsar Kafka wrapper supports most of the operations offered by the Kafka API.</p>
-<h4><a class="anchor" aria-hidden="true" id="プロデューサー"></a><a href="#プロデューサー" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1- [...]
+<h3><a class="anchor" aria-hidden="true" id="プロデューサー"></a><a href="#プロデューサー" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1- [...]
 <p>APIs:</p>
 <table>
 <thead>
@@ -197,7 +197,7 @@ consumer.subscribe(Arrays.asList(topic));
 <tr><td style="text-align:left"><code>value.serializer</code></td><td style="text-align:left">Yes</td><td style="text-align:left"></td></tr>
 </tbody>
 </table>
-<h4><a class="anchor" aria-hidden="true" id="コンシューマー"></a><a href="#コンシューマー" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1- [...]
+<h3><a class="anchor" aria-hidden="true" id="コンシューマー"></a><a href="#コンシューマー" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1- [...]
 <p>The following table lists consumer APIs.</p>
 <table>
 <thead>
@@ -315,7 +315,7 @@ consumer.subscribe(Arrays.asList(topic));
 <tr><td style="text-align:left"><a href="http://pulsar.apache.org/api/client/2.7.0-SNAPSHOT/org/apache/pulsar/client/api/ConsumerBuilder.html#subscriptionTopicsMode-Mode-"><code>pulsar.consumer.subscription.topics.mode</code></a></td><td style="text-align:left">PersistentOnly</td><td style="text-align:left">Set the subscription topic mode for consumers.</td></tr>
 </tbody>
 </table>
-</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/ja/next/admin-api-packages"><span class="arrow-prev">← </span><span>Packages</span></a><a class="docs-next button" href="/docs/ja/next/adaptors-spark"><span>Apache Spark</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#using-the-pulsar-kafka-compatibility-wrapper">Using the Pulsar Kafka compatibility wrapper</a></li><li [...]
+</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/ja/next/admin-api-packages"><span class="arrow-prev">← </span><span>Packages</span></a><a class="docs-next button" href="/docs/ja/next/adaptors-spark"><span>Apache Spark</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#using-the-pulsar-kafka-compatibility-wrapper">Using the Pulsar Kafka compatibility wrapper</a></li><li [...]
       const community = document.querySelector("a[href='#community']").parentNode;
       const communityMenu =
         '<li>' +
diff --git a/content/docs/ja/next/adaptors-spark.html b/content/docs/ja/next/adaptors-spark.html
index 98ce7fe..5d3b453 100644
--- a/content/docs/ja/next/adaptors-spark.html
+++ b/content/docs/ja/next/adaptors-spark.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="ja"><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="ja"><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="## Spark structured streaming connector"/><meta name="docsearch:version" content="next"/><meta name="docsearch:language" content="ja"/><meta property="og:title" content="Pulsar adaptor  [...]
               (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
               (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
               m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
@@ -74,11 +74,14 @@
                 };
               }
             });
-        </script></nav></div><div class="container mainContainer docsContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://crowdin.com/project/apache-pulsar/ja" target="_blank" rel="noreferrer noopener">Translate</a><h1 id="__docusaurus" class="postHeaderTitle">Pulsar adaptor for Apache Spark</h1></header><article><div><span><p>The Spark Streaming receiver for Pulsar is a custom receiver that enables Apache <a href="ht [...]
+        </script></nav></div><div class="container mainContainer docsContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://crowdin.com/project/apache-pulsar/ja" target="_blank" rel="noreferrer noopener">Translate</a><h1 id="__docusaurus" class="postHeaderTitle">Pulsar adaptor for Apache Spark</h1></header><article><div><span><h2><a class="anchor" aria-hidden="true" id="spark-structured-streaming-connector"></a><a href= [...]
+<p>Pulsar Spark Connector is an integration of Apache Pulsar and Apache Spark (data processing engine), which allows Spark reading data from Pulsar and writing data to Pulsar using Spark structured streaming and Spark SQL and provides exactly-once source semantics and at-least-once sink semantics. For details, refer to <a href="https://hub.streamnative.io/">Pulsar Spark Connector in StreamNative Hub</a>.</p>
+<h2><a class="anchor" aria-hidden="true" id="spark-streaming-connector"></a><a href="#spark-streaming-connector" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>The Spark Streaming receiver for Pulsar is a custom receiver that enables Apache <a href="https://spark.apache.org/streaming/">Spark Streaming</a> to receive data from Pulsar.</p>
 <p>An application can receive data in <a href="https://spark.apache.org/docs/latest/programming-guide.html#resilient-distributed-datasets-rdds">Resilient Distributed Dataset</a> (RDD) format via the Spark Streaming Pulsar receiver and can process it in a variety of ways.</p>
-<h2><a class="anchor" aria-hidden="true" id="prerequisites"></a><a href="#prerequisites" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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 [...]
+<h3><a class="anchor" aria-hidden="true" id="prerequisites"></a><a href="#prerequisites" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>To use the receiver, include a dependency for the <code>pulsar-spark</code> library in your Java configuration.</p>
-<h3><a class="anchor" aria-hidden="true" id="maven"></a><a href="#maven" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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 [...]
+<h4><a class="anchor" aria-hidden="true" id="maven"></a><a href="#maven" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>If you're using Maven, add this to your <code>pom.xml</code>:</p>
 <pre><code class="hljs css language-xml"><span class="hljs-comment">&lt;!-- in your &lt;properties&gt; block --&gt;</span>
 <span class="hljs-tag">&lt;<span class="hljs-name">pulsar.version</span>&gt;</span>2.7.0<span class="hljs-tag">&lt;/<span class="hljs-name">pulsar.version</span>&gt;</span>
@@ -90,7 +93,7 @@
   <span class="hljs-tag">&lt;<span class="hljs-name">version</span>&gt;</span>${pulsar.version}<span class="hljs-tag">&lt;/<span class="hljs-name">version</span>&gt;</span>
 <span class="hljs-tag">&lt;/<span class="hljs-name">dependency</span>&gt;</span>
 </code></pre>
-<h3><a class="anchor" aria-hidden="true" id="gradle"></a><a href="#gradle" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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="gradle"></a><a href="#gradle" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>If you're using Gradle, add this to your <code>build.gradle</code> file:</p>
 <pre><code class="hljs css language-groovy"><span class="hljs-keyword">def</span> pulsarVersion = <span class="hljs-string">"2.7.0"</span>
 
@@ -98,7 +101,7 @@ dependencies {
     compile <span class="hljs-string">group:</span> <span class="hljs-string">'org.apache.pulsar'</span>, <span class="hljs-string">name:</span> <span class="hljs-string">'pulsar-spark'</span>, <span class="hljs-string">version:</span> pulsarVersion
 }
 </code></pre>
-<h2><a class="anchor" aria-hidden="true" id="使い方"></a><a href="#使い方" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.2 [...]
+<h3><a class="anchor" aria-hidden="true" id="使い方"></a><a href="#使い方" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.2 [...]
 <p>Pass an instance of <code>SparkStreamingPulsarReceiver</code> to the <code>receiverStream</code> method in <code>JavaStreamingContext</code>:</p>
 <pre><code class="hljs css language-java">    String serviceUrl = <span class="hljs-string">"pulsar://localhost:6650/"</span>;
     String topic = <span class="hljs-string">"persistent://public/default/test_src"</span>;
@@ -123,7 +126,7 @@ dependencies {
     JavaReceiverInputDStream&lt;<span class="hljs-keyword">byte</span>[]&gt; lineDStream = jsc.receiverStream(pulsarReceiver);
 </code></pre>
 <p>For a complete example, click <a href="https://github.com/apache/pulsar-adapters/blob/master/examples/spark/src/main/java/org/apache/spark/streaming/receiver/example/SparkStreamingPulsarReceiverExample.java">here</a>. In this example, the number of messages that contain the string &quot;Pulsar&quot; in received messages is counted.</p>
-</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/ja/next/adaptors-kafka"><span class="arrow-prev">← </span><span>Kafka client wrapper</span></a><a class="docs-next button" href="/docs/ja/next/adaptors-storm"><span>Apache Storm</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#prerequisites">Prerequisites</a><ul class="toc-headings"><li><a href="#maven">Maven</a></li><l [...]
+</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/ja/next/adaptors-kafka"><span class="arrow-prev">← </span><span>Kafka client wrapper</span></a><a class="docs-next button" href="/docs/ja/next/adaptors-storm"><span>Apache Storm</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#spark-structured-streaming-connector">Spark structured streaming connector</a></li><li><a href [...]
       const community = document.querySelector("a[href='#community']").parentNode;
       const communityMenu =
         '<li>' +
diff --git a/content/docs/ja/next/adaptors-spark/index.html b/content/docs/ja/next/adaptors-spark/index.html
index 98ce7fe..5d3b453 100644
--- a/content/docs/ja/next/adaptors-spark/index.html
+++ b/content/docs/ja/next/adaptors-spark/index.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="ja"><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="ja"><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="## Spark structured streaming connector"/><meta name="docsearch:version" content="next"/><meta name="docsearch:language" content="ja"/><meta property="og:title" content="Pulsar adaptor  [...]
               (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
               (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
               m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
@@ -74,11 +74,14 @@
                 };
               }
             });
-        </script></nav></div><div class="container mainContainer docsContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://crowdin.com/project/apache-pulsar/ja" target="_blank" rel="noreferrer noopener">Translate</a><h1 id="__docusaurus" class="postHeaderTitle">Pulsar adaptor for Apache Spark</h1></header><article><div><span><p>The Spark Streaming receiver for Pulsar is a custom receiver that enables Apache <a href="ht [...]
+        </script></nav></div><div class="container mainContainer docsContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://crowdin.com/project/apache-pulsar/ja" target="_blank" rel="noreferrer noopener">Translate</a><h1 id="__docusaurus" class="postHeaderTitle">Pulsar adaptor for Apache Spark</h1></header><article><div><span><h2><a class="anchor" aria-hidden="true" id="spark-structured-streaming-connector"></a><a href= [...]
+<p>Pulsar Spark Connector is an integration of Apache Pulsar and Apache Spark (data processing engine), which allows Spark reading data from Pulsar and writing data to Pulsar using Spark structured streaming and Spark SQL and provides exactly-once source semantics and at-least-once sink semantics. For details, refer to <a href="https://hub.streamnative.io/">Pulsar Spark Connector in StreamNative Hub</a>.</p>
+<h2><a class="anchor" aria-hidden="true" id="spark-streaming-connector"></a><a href="#spark-streaming-connector" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>The Spark Streaming receiver for Pulsar is a custom receiver that enables Apache <a href="https://spark.apache.org/streaming/">Spark Streaming</a> to receive data from Pulsar.</p>
 <p>An application can receive data in <a href="https://spark.apache.org/docs/latest/programming-guide.html#resilient-distributed-datasets-rdds">Resilient Distributed Dataset</a> (RDD) format via the Spark Streaming Pulsar receiver and can process it in a variety of ways.</p>
-<h2><a class="anchor" aria-hidden="true" id="prerequisites"></a><a href="#prerequisites" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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 [...]
+<h3><a class="anchor" aria-hidden="true" id="prerequisites"></a><a href="#prerequisites" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>To use the receiver, include a dependency for the <code>pulsar-spark</code> library in your Java configuration.</p>
-<h3><a class="anchor" aria-hidden="true" id="maven"></a><a href="#maven" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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 [...]
+<h4><a class="anchor" aria-hidden="true" id="maven"></a><a href="#maven" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>If you're using Maven, add this to your <code>pom.xml</code>:</p>
 <pre><code class="hljs css language-xml"><span class="hljs-comment">&lt;!-- in your &lt;properties&gt; block --&gt;</span>
 <span class="hljs-tag">&lt;<span class="hljs-name">pulsar.version</span>&gt;</span>2.7.0<span class="hljs-tag">&lt;/<span class="hljs-name">pulsar.version</span>&gt;</span>
@@ -90,7 +93,7 @@
   <span class="hljs-tag">&lt;<span class="hljs-name">version</span>&gt;</span>${pulsar.version}<span class="hljs-tag">&lt;/<span class="hljs-name">version</span>&gt;</span>
 <span class="hljs-tag">&lt;/<span class="hljs-name">dependency</span>&gt;</span>
 </code></pre>
-<h3><a class="anchor" aria-hidden="true" id="gradle"></a><a href="#gradle" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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="gradle"></a><a href="#gradle" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>If you're using Gradle, add this to your <code>build.gradle</code> file:</p>
 <pre><code class="hljs css language-groovy"><span class="hljs-keyword">def</span> pulsarVersion = <span class="hljs-string">"2.7.0"</span>
 
@@ -98,7 +101,7 @@ dependencies {
     compile <span class="hljs-string">group:</span> <span class="hljs-string">'org.apache.pulsar'</span>, <span class="hljs-string">name:</span> <span class="hljs-string">'pulsar-spark'</span>, <span class="hljs-string">version:</span> pulsarVersion
 }
 </code></pre>
-<h2><a class="anchor" aria-hidden="true" id="使い方"></a><a href="#使い方" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.2 [...]
+<h3><a class="anchor" aria-hidden="true" id="使い方"></a><a href="#使い方" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.2 [...]
 <p>Pass an instance of <code>SparkStreamingPulsarReceiver</code> to the <code>receiverStream</code> method in <code>JavaStreamingContext</code>:</p>
 <pre><code class="hljs css language-java">    String serviceUrl = <span class="hljs-string">"pulsar://localhost:6650/"</span>;
     String topic = <span class="hljs-string">"persistent://public/default/test_src"</span>;
@@ -123,7 +126,7 @@ dependencies {
     JavaReceiverInputDStream&lt;<span class="hljs-keyword">byte</span>[]&gt; lineDStream = jsc.receiverStream(pulsarReceiver);
 </code></pre>
 <p>For a complete example, click <a href="https://github.com/apache/pulsar-adapters/blob/master/examples/spark/src/main/java/org/apache/spark/streaming/receiver/example/SparkStreamingPulsarReceiverExample.java">here</a>. In this example, the number of messages that contain the string &quot;Pulsar&quot; in received messages is counted.</p>
-</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/ja/next/adaptors-kafka"><span class="arrow-prev">← </span><span>Kafka client wrapper</span></a><a class="docs-next button" href="/docs/ja/next/adaptors-storm"><span>Apache Storm</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#prerequisites">Prerequisites</a><ul class="toc-headings"><li><a href="#maven">Maven</a></li><l [...]
+</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/ja/next/adaptors-kafka"><span class="arrow-prev">← </span><span>Kafka client wrapper</span></a><a class="docs-next button" href="/docs/ja/next/adaptors-storm"><span>Apache Storm</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#spark-structured-streaming-connector">Spark structured streaming connector</a></li><li><a href [...]
       const community = document.querySelector("a[href='#community']").parentNode;
       const communityMenu =
         '<li>' +
diff --git a/content/docs/ja/next/client-libraries-java.html b/content/docs/ja/next/client-libraries-java.html
index a0445e7..7ba9582 100644
--- a/content/docs/ja/next/client-libraries-java.html
+++ b/content/docs/ja/next/client-libraries-java.html
@@ -321,11 +321,12 @@ You can configure parameters if you do not want to use the default configuration
   &lt;/div&gt;
   | Default |\---|\---|\---|\--- Set&lt;String&gt;| `topicNames`| Topic name| Sets.newTreeSet() Pattern| `topicsPattern`| Topic pattern |None String| `subscriptionName`| Subscription name| None SubscriptionType| `subscriptionType`| Subscription type   
     
-  Three subscription types are available:
+  Four subscription types are available:
   
   * Exclusive
   * Failover
-  * Shared|SubscriptionType.Exclusive int | 
+  * Shared
+  * Key_Shared|SubscriptionType.Exclusive int | 
   `receiverQueueSize` | Size of a consumer's receiver queue.   
     
   For example, the number of messages accumulated by a consumer before an application calls `Receive`.   
diff --git a/content/docs/ja/next/client-libraries-java/index.html b/content/docs/ja/next/client-libraries-java/index.html
index a0445e7..7ba9582 100644
--- a/content/docs/ja/next/client-libraries-java/index.html
+++ b/content/docs/ja/next/client-libraries-java/index.html
@@ -321,11 +321,12 @@ You can configure parameters if you do not want to use the default configuration
   &lt;/div&gt;
   | Default |\---|\---|\---|\--- Set&lt;String&gt;| `topicNames`| Topic name| Sets.newTreeSet() Pattern| `topicsPattern`| Topic pattern |None String| `subscriptionName`| Subscription name| None SubscriptionType| `subscriptionType`| Subscription type   
     
-  Three subscription types are available:
+  Four subscription types are available:
   
   * Exclusive
   * Failover
-  * Shared|SubscriptionType.Exclusive int | 
+  * Shared
+  * Key_Shared|SubscriptionType.Exclusive int | 
   `receiverQueueSize` | Size of a consumer's receiver queue.   
     
   For example, the number of messages accumulated by a consumer before an application calls `Receive`.   
diff --git a/content/docs/ja/next/client-libraries-node.html b/content/docs/ja/next/client-libraries-node.html
index 22ef21e..094e4dc 100644
--- a/content/docs/ja/next/client-libraries-node.html
+++ b/content/docs/ja/next/client-libraries-node.html
@@ -269,7 +269,7 @@ consumer.acknowledge(msg);
 <tbody>
 <tr><td style="text-align:left"><code>topic</code></td><td style="text-align:left">The Pulsar <a href="/docs/ja/next/reference-terminology#topic">topic</a> on which the consumer will establish a subscription and listen for messages.</td><td style="text-align:left"></td></tr>
 <tr><td style="text-align:left"><code>subscription</code></td><td style="text-align:left">The subscription name for this consumer.</td><td style="text-align:left"></td></tr>
-<tr><td style="text-align:left"><code>subscriptionType</code></td><td style="text-align:left">Available options are <code>Exclusive</code>, <code>Shared</code>, and <code>Failover</code>.</td><td style="text-align:left"><code>Exclusive</code></td></tr>
+<tr><td style="text-align:left"><code>subscriptionType</code></td><td style="text-align:left">Available options are <code>Exclusive</code>, <code>Shared</code>, <code>Key_Shared</code>, and <code>Failover</code>.</td><td style="text-align:left"><code>Exclusive</code></td></tr>
 <tr><td style="text-align:left"><code>subscriptionInitialPosition</code></td><td style="text-align:left">Initial position at which to set cursor when subscribing to a topic at first time.</td><td style="text-align:left"><code>SubscriptionInitialPosition.Latest</code></td></tr>
 <tr><td style="text-align:left"><code>ackTimeoutMs</code></td><td style="text-align:left">Acknowledge timeout in milliseconds.</td><td style="text-align:left">0</td></tr>
 <tr><td style="text-align:left"><code>nAckRedeliverTimeoutMs</code></td><td style="text-align:left">Delay to wait before redelivering messages that failed to be processed.</td><td style="text-align:left">60000</td></tr>
diff --git a/content/docs/ja/next/client-libraries-node/index.html b/content/docs/ja/next/client-libraries-node/index.html
index 22ef21e..094e4dc 100644
--- a/content/docs/ja/next/client-libraries-node/index.html
+++ b/content/docs/ja/next/client-libraries-node/index.html
@@ -269,7 +269,7 @@ consumer.acknowledge(msg);
 <tbody>
 <tr><td style="text-align:left"><code>topic</code></td><td style="text-align:left">The Pulsar <a href="/docs/ja/next/reference-terminology#topic">topic</a> on which the consumer will establish a subscription and listen for messages.</td><td style="text-align:left"></td></tr>
 <tr><td style="text-align:left"><code>subscription</code></td><td style="text-align:left">The subscription name for this consumer.</td><td style="text-align:left"></td></tr>
-<tr><td style="text-align:left"><code>subscriptionType</code></td><td style="text-align:left">Available options are <code>Exclusive</code>, <code>Shared</code>, and <code>Failover</code>.</td><td style="text-align:left"><code>Exclusive</code></td></tr>
+<tr><td style="text-align:left"><code>subscriptionType</code></td><td style="text-align:left">Available options are <code>Exclusive</code>, <code>Shared</code>, <code>Key_Shared</code>, and <code>Failover</code>.</td><td style="text-align:left"><code>Exclusive</code></td></tr>
 <tr><td style="text-align:left"><code>subscriptionInitialPosition</code></td><td style="text-align:left">Initial position at which to set cursor when subscribing to a topic at first time.</td><td style="text-align:left"><code>SubscriptionInitialPosition.Latest</code></td></tr>
 <tr><td style="text-align:left"><code>ackTimeoutMs</code></td><td style="text-align:left">Acknowledge timeout in milliseconds.</td><td style="text-align:left">0</td></tr>
 <tr><td style="text-align:left"><code>nAckRedeliverTimeoutMs</code></td><td style="text-align:left">Delay to wait before redelivering messages that failed to be processed.</td><td style="text-align:left">60000</td></tr>
diff --git a/content/docs/ja/next/client-libraries-websocket.html b/content/docs/ja/next/client-libraries-websocket.html
index 15dc3f5..c1e0ea9 100644
--- a/content/docs/ja/next/client-libraries-websocket.html
+++ b/content/docs/ja/next/client-libraries-websocket.html
@@ -192,7 +192,7 @@
 </thead>
 <tbody>
 <tr><td style="text-align:left"><code>ackTimeoutMillis</code></td><td style="text-align:left">long</td><td style="text-align:left">no</td><td style="text-align:left">Set the timeout for unacked messages (default: 0)</td></tr>
-<tr><td style="text-align:left"><code>subscriptionType</code></td><td style="text-align:left">string</td><td style="text-align:left">no</td><td style="text-align:left"><a href="https://pulsar.apache.org/api/client/2.7.0-SNAPSHOT/index.html?org/apache/pulsar/client/api/SubscriptionType.html">Subscription type</a>: <code>Exclusive</code>, <code>Failover</code>, <code>Shared</code></td></tr>
+<tr><td style="text-align:left"><code>subscriptionType</code></td><td style="text-align:left">string</td><td style="text-align:left">no</td><td style="text-align:left"><a href="https://pulsar.apache.org/api/client/2.7.0-SNAPSHOT/index.html?org/apache/pulsar/client/api/SubscriptionType.html">Subscription type</a>: <code>Exclusive</code>, <code>Failover</code>, <code>Shared</code>, <code>Key_Shared</code></td></tr>
 <tr><td style="text-align:left"><code>receiverQueueSize</code></td><td style="text-align:left">int</td><td style="text-align:left">no</td><td style="text-align:left">Size of the consumer receive queue (default: 1000)</td></tr>
 <tr><td style="text-align:left"><code>consumerName</code></td><td style="text-align:left">string</td><td style="text-align:left">no</td><td style="text-align:left">Consumer name</td></tr>
 <tr><td style="text-align:left"><code>priorityLevel</code></td><td style="text-align:left">int</td><td style="text-align:left">no</td><td style="text-align:left">Define a <a href="http://pulsar.apache.org/api/client/2.7.0-SNAPSHOT/org/apache/pulsar/client/api/ConsumerConfiguration.html#setPriorityLevel-int-">priority</a> for the consumer</td></tr>
diff --git a/content/docs/ja/next/client-libraries-websocket/index.html b/content/docs/ja/next/client-libraries-websocket/index.html
index 15dc3f5..c1e0ea9 100644
--- a/content/docs/ja/next/client-libraries-websocket/index.html
+++ b/content/docs/ja/next/client-libraries-websocket/index.html
@@ -192,7 +192,7 @@
 </thead>
 <tbody>
 <tr><td style="text-align:left"><code>ackTimeoutMillis</code></td><td style="text-align:left">long</td><td style="text-align:left">no</td><td style="text-align:left">Set the timeout for unacked messages (default: 0)</td></tr>
-<tr><td style="text-align:left"><code>subscriptionType</code></td><td style="text-align:left">string</td><td style="text-align:left">no</td><td style="text-align:left"><a href="https://pulsar.apache.org/api/client/2.7.0-SNAPSHOT/index.html?org/apache/pulsar/client/api/SubscriptionType.html">Subscription type</a>: <code>Exclusive</code>, <code>Failover</code>, <code>Shared</code></td></tr>
+<tr><td style="text-align:left"><code>subscriptionType</code></td><td style="text-align:left">string</td><td style="text-align:left">no</td><td style="text-align:left"><a href="https://pulsar.apache.org/api/client/2.7.0-SNAPSHOT/index.html?org/apache/pulsar/client/api/SubscriptionType.html">Subscription type</a>: <code>Exclusive</code>, <code>Failover</code>, <code>Shared</code>, <code>Key_Shared</code></td></tr>
 <tr><td style="text-align:left"><code>receiverQueueSize</code></td><td style="text-align:left">int</td><td style="text-align:left">no</td><td style="text-align:left">Size of the consumer receive queue (default: 1000)</td></tr>
 <tr><td style="text-align:left"><code>consumerName</code></td><td style="text-align:left">string</td><td style="text-align:left">no</td><td style="text-align:left">Consumer name</td></tr>
 <tr><td style="text-align:left"><code>priorityLevel</code></td><td style="text-align:left">int</td><td style="text-align:left">no</td><td style="text-align:left">Define a <a href="http://pulsar.apache.org/api/client/2.7.0-SNAPSHOT/org/apache/pulsar/client/api/ConsumerConfiguration.html#setPriorityLevel-int-">priority</a> for the consumer</td></tr>
diff --git a/content/docs/ja/next/io-connectors.html b/content/docs/ja/next/io-connectors.html
index b12fe90..dce4b44 100644
--- a/content/docs/ja/next/io-connectors.html
+++ b/content/docs/ja/next/io-connectors.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="ja"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Built-in connector · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Pulsar distribution includes a set of common connectors that have been packaged and tested with the rest of Apache Pulsar. These connectors import and export data from some of the most commonly used [...]
+<!DOCTYPE html><html lang="ja"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Built-in connector · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Pulsar distribution includes a set of common connectors that have been packaged and tested with the rest of Apache Pulsar. These connectors import and export data from some of the most commonly used [...]
               (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
               (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
               m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
@@ -74,7 +74,7 @@
                 };
               }
             });
-        </script></nav></div><div class="container mainContainer docsContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://crowdin.com/project/apache-pulsar/ja" target="_blank" rel="noreferrer noopener">Translate</a><h1 id="__docusaurus" class="postHeaderTitle">Built-in connector</h1></header><article><div><span><p>Pulsar distribution includes a set of common connectors that have been packaged and tested with the rest  [...]
+        </script></nav></div><div class="container mainContainer docsContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://crowdin.com/project/apache-pulsar/ja" target="_blank" rel="noreferrer noopener">Translate</a><h1 id="__docusaurus" class="postHeaderTitle">Built-in connector</h1></header><article><div><span><p>Pulsar distribution includes a set of common connectors that have been packaged and tested with the rest  [...]
 <p>Using any of these connectors is as easy as writing a simple connector and running the connector locally or submitting the connector to a Pulsar Functions cluster.</p>
 <h2><a class="anchor" aria-hidden="true" id="source-connector"></a><a href="#source-connector" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>Pulsar has various source connectors, which are sorted alphabetically as below.</p>
diff --git a/content/docs/ja/next/io-connectors/index.html b/content/docs/ja/next/io-connectors/index.html
index b12fe90..dce4b44 100644
--- a/content/docs/ja/next/io-connectors/index.html
+++ b/content/docs/ja/next/io-connectors/index.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="ja"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Built-in connector · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Pulsar distribution includes a set of common connectors that have been packaged and tested with the rest of Apache Pulsar. These connectors import and export data from some of the most commonly used [...]
+<!DOCTYPE html><html lang="ja"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Built-in connector · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Pulsar distribution includes a set of common connectors that have been packaged and tested with the rest of Apache Pulsar. These connectors import and export data from some of the most commonly used [...]
               (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
               (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
               m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
@@ -74,7 +74,7 @@
                 };
               }
             });
-        </script></nav></div><div class="container mainContainer docsContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://crowdin.com/project/apache-pulsar/ja" target="_blank" rel="noreferrer noopener">Translate</a><h1 id="__docusaurus" class="postHeaderTitle">Built-in connector</h1></header><article><div><span><p>Pulsar distribution includes a set of common connectors that have been packaged and tested with the rest  [...]
+        </script></nav></div><div class="container mainContainer docsContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://crowdin.com/project/apache-pulsar/ja" target="_blank" rel="noreferrer noopener">Translate</a><h1 id="__docusaurus" class="postHeaderTitle">Built-in connector</h1></header><article><div><span><p>Pulsar distribution includes a set of common connectors that have been packaged and tested with the rest  [...]
 <p>Using any of these connectors is as easy as writing a simple connector and running the connector locally or submitting the connector to a Pulsar Functions cluster.</p>
 <h2><a class="anchor" aria-hidden="true" id="source-connector"></a><a href="#source-connector" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>Pulsar has various source connectors, which are sorted alphabetically as below.</p>
diff --git a/content/docs/ja/next/performance-pulsar-perf.html b/content/docs/ja/next/performance-pulsar-perf.html
index 7e6c075..eca0de7 100644
--- a/content/docs/ja/next/performance-pulsar-perf.html
+++ b/content/docs/ja/next/performance-pulsar-perf.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="ja"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Pulsar Perf · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="This document describes how to use the Pulsar Perf for performance testing. For detailed information about performance tuning, see [here](https://streamnative.io/whitepaper/taking-a-deep-dive-into-apache-p [...]
+<!DOCTYPE html><html lang="ja"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Pulsar Perf · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="The Pulsar Perf is a built-in performance test tool for Apache Pulsar. You can use the Pulsar Perf to test message writing or reading performance. For detailed information about performance tuning, see [he [...]
               (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
               (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
               m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
@@ -74,10 +74,8 @@
                 };
               }
             });
-        </script></nav></div><div class="container mainContainer docsContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://crowdin.com/project/apache-pulsar/ja" target="_blank" rel="noreferrer noopener">Translate</a><h1 id="__docusaurus" class="postHeaderTitle">Pulsar Perf</h1></header><article><div><span><p>This document describes how to use the Pulsar Perf for performance testing. For detailed information about perfo [...]
-<h2><a class="anchor" aria-hidden="true" id="pulsar-perf"></a><a href="#pulsar-perf" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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 [...]
-<p>The Pulsar Perf is a built-in performance test tool for Apache Pulsar. You can use the Pulsar Perf to test message writing or reading performance.</p>
-<h3><a class="anchor" aria-hidden="true" id="produce-messages"></a><a href="#produce-messages" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2. [...]
+        </script></nav></div><div class="container mainContainer docsContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://crowdin.com/project/apache-pulsar/ja" target="_blank" rel="noreferrer noopener">Translate</a><h1 id="__docusaurus" class="postHeaderTitle">Pulsar Perf</h1></header><article><div><span><p>The Pulsar Perf is a built-in performance test tool for Apache Pulsar. You can use the Pulsar Perf to test messa [...]
+<h2><a class="anchor" aria-hidden="true" id="produce-messages"></a><a href="#produce-messages" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2. [...]
 <p>This example shows how the Pulsar Perf produces messages with default options. For all configuration options available for the <code>pulsar-perf produce</code> command, see <a href="#configuration-options-for-pulsar-perf-produce">configuration options</a>.</p>
 <pre><code class="hljs">bin/pulsar-perf produce <span class="hljs-keyword">my</span>-topic
 </code></pre>
@@ -96,7 +94,7 @@
 <span class="hljs-number">19</span>:<span class="hljs-number">54</span>:<span class="hljs-number">44.336</span> [Thread<span class="hljs-number">-1</span>] INFO  org.apache.pulsar.testclient.PerformanceProducer - Aggregated latency stats --- Latency: mean:   <span class="hljs-number">3.383</span> ms - med:   <span class="hljs-number">3.293</span> - <span class="hljs-number">95</span>pct:   <span class="hljs-number">4.610</span> - <span class="hljs-number">99</span>pct:   <span class="hlj [...]
 </code></pre>
 <p>From the above test data, you can get the throughput statistics and the write latency statistics. The aggregated statistics is printed when the Pulsar Perf is stopped. You can press <strong>Ctrl</strong>+<strong>C</strong> to stop the Pulsar Perf. After the Pulsar Perf is stopped, the <a href="http://hdrhistogram.github.io/HdrHistogram/">HdrHistogram</a> formatted test result appears under your directory. The document looks like <code>perf-producer-1589370810837.hgrm</code>. You can a [...]
-<h4><a class="anchor" aria-hidden="true" id="configuration-options-for-pulsar-perf-produce"></a><a href="#configuration-options-for-pulsar-perf-produce" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h- [...]
+<h3><a class="anchor" aria-hidden="true" id="configuration-options-for-pulsar-perf-produce"></a><a href="#configuration-options-for-pulsar-perf-produce" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h- [...]
 <p>You can get all options by executing the <code>bin/pulsar-perf produce -h</code> command. Therefore, you can modify these options as required.</p>
 <p>The following table lists configuration options available for the <code>pulsar-perf produce</code> command.</p>
 <table>
@@ -134,7 +132,7 @@
 <tr><td>warmup-time</td><td>Set the warm-up time.</td><td>1s</td></tr>
 </tbody>
 </table>
-<h3><a class="anchor" aria-hidden="true" id="consume-messages"></a><a href="#consume-messages" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2. [...]
+<h2><a class="anchor" aria-hidden="true" id="consume-messages"></a><a href="#consume-messages" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2. [...]
 <p>This example shows how the Pulsar Perf consumes messages with default options.</p>
 <pre><code class="hljs">bin/pulsar-perf consume <span class="hljs-keyword">my</span>-topic
 </code></pre>
@@ -152,7 +150,7 @@
 <span class="hljs-number">20</span>:<span class="hljs-number">36</span>:<span class="hljs-number">42.759</span> [Thread<span class="hljs-number">-1</span>] INFO  org.apache.pulsar.testclient.PerformanceConsumer - Aggregated latency stats --- Latency: mean: <span class="hljs-number">9.422</span> ms - med: <span class="hljs-number">9</span> - <span class="hljs-number">95</span>pct: <span class="hljs-number">15</span> - <span class="hljs-number">99</span>pct: <span class="hljs-number">16</s [...]
 </code></pre>
 <p>From the output test data, you can get the throughput statistics and the end-to-end latency statistics. The aggregated statistics is printed after the Pulsar Perf is stopped. You can press <strong>Ctrl</strong>+<strong>C</strong> to stop the Pulsar Perf.</p>
-<h4><a class="anchor" aria-hidden="true" id="configuration-options-for-pulsar-perf-consume"></a><a href="#configuration-options-for-pulsar-perf-consume" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h- [...]
+<h3><a class="anchor" aria-hidden="true" id="configuration-options-for-pulsar-perf-consume"></a><a href="#configuration-options-for-pulsar-perf-consume" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h- [...]
 <p>You can get all options by executing the <code>bin/pulsar-perf consume -h</code> command. Therefore, you can modify these options as required.</p>
 <p>The following table lists configuration options available for the <code>pulsar-perf consume</code> command.</p>
 <table>
@@ -180,7 +178,7 @@
 <tr><td>trust-cert-file</td><td>Set the path for the trusted TLS certificate file.</td><td><empty string></td></tr>
 </tbody>
 </table>
-<h3><a class="anchor" aria-hidden="true" id="configurations"></a><a href="#configurations" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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- [...]
+<h2><a class="anchor" aria-hidden="true" id="configurations"></a><a href="#configurations" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>By default, the Pulsar Perf uses <code>conf/client.conf</code> as the default configuration and uses <code>conf/log4j2.yaml</code> as the default Log4j configuration. If you want to connect to other Pulsar clusters, you can update the <code>brokerServiceUrl</code> in the client configuration.</p>
 <p>You can use the following commands to change the configuration file and the Log4j configuration file.</p>
 <pre><code class="hljs"><span class="hljs-builtin-name">export</span> <span class="hljs-attribute">PULSAR_CLIENT_CONF</span>=&lt;your-config-file&gt;
@@ -209,7 +207,7 @@
 <li><p>Check the test result through the Graphical User Interface of the HdrHistogram Plotter, as shown blow.</p>
 <p><img src="/docs/assets/perf-produce.png" alt=""></p></li>
 </ol>
-</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/ja/next/security-bouncy-castle"><span class="arrow-prev">← </span><span>Bouncy Castle Providers</span></a><a class="docs-next button" href="/docs/ja/next/client-libraries"><span>概要</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#pulsar-perf">Pulsar Perf</a><ul class="toc-headings"><li><a href="#produce-messages">Produc [...]
+</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/ja/next/security-bouncy-castle"><span class="arrow-prev">← </span><span>Bouncy Castle Providers</span></a><a class="docs-next button" href="/docs/ja/next/client-libraries"><span>概要</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#produce-messages">Produce messages</a><ul class="toc-headings"><li><a href="#configuration- [...]
       const community = document.querySelector("a[href='#community']").parentNode;
       const communityMenu =
         '<li>' +
diff --git a/content/docs/ja/next/performance-pulsar-perf/index.html b/content/docs/ja/next/performance-pulsar-perf/index.html
index 7e6c075..eca0de7 100644
--- a/content/docs/ja/next/performance-pulsar-perf/index.html
+++ b/content/docs/ja/next/performance-pulsar-perf/index.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="ja"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Pulsar Perf · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="This document describes how to use the Pulsar Perf for performance testing. For detailed information about performance tuning, see [here](https://streamnative.io/whitepaper/taking-a-deep-dive-into-apache-p [...]
+<!DOCTYPE html><html lang="ja"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Pulsar Perf · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="The Pulsar Perf is a built-in performance test tool for Apache Pulsar. You can use the Pulsar Perf to test message writing or reading performance. For detailed information about performance tuning, see [he [...]
               (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
               (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
               m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
@@ -74,10 +74,8 @@
                 };
               }
             });
-        </script></nav></div><div class="container mainContainer docsContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://crowdin.com/project/apache-pulsar/ja" target="_blank" rel="noreferrer noopener">Translate</a><h1 id="__docusaurus" class="postHeaderTitle">Pulsar Perf</h1></header><article><div><span><p>This document describes how to use the Pulsar Perf for performance testing. For detailed information about perfo [...]
-<h2><a class="anchor" aria-hidden="true" id="pulsar-perf"></a><a href="#pulsar-perf" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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 [...]
-<p>The Pulsar Perf is a built-in performance test tool for Apache Pulsar. You can use the Pulsar Perf to test message writing or reading performance.</p>
-<h3><a class="anchor" aria-hidden="true" id="produce-messages"></a><a href="#produce-messages" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2. [...]
+        </script></nav></div><div class="container mainContainer docsContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://crowdin.com/project/apache-pulsar/ja" target="_blank" rel="noreferrer noopener">Translate</a><h1 id="__docusaurus" class="postHeaderTitle">Pulsar Perf</h1></header><article><div><span><p>The Pulsar Perf is a built-in performance test tool for Apache Pulsar. You can use the Pulsar Perf to test messa [...]
+<h2><a class="anchor" aria-hidden="true" id="produce-messages"></a><a href="#produce-messages" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2. [...]
 <p>This example shows how the Pulsar Perf produces messages with default options. For all configuration options available for the <code>pulsar-perf produce</code> command, see <a href="#configuration-options-for-pulsar-perf-produce">configuration options</a>.</p>
 <pre><code class="hljs">bin/pulsar-perf produce <span class="hljs-keyword">my</span>-topic
 </code></pre>
@@ -96,7 +94,7 @@
 <span class="hljs-number">19</span>:<span class="hljs-number">54</span>:<span class="hljs-number">44.336</span> [Thread<span class="hljs-number">-1</span>] INFO  org.apache.pulsar.testclient.PerformanceProducer - Aggregated latency stats --- Latency: mean:   <span class="hljs-number">3.383</span> ms - med:   <span class="hljs-number">3.293</span> - <span class="hljs-number">95</span>pct:   <span class="hljs-number">4.610</span> - <span class="hljs-number">99</span>pct:   <span class="hlj [...]
 </code></pre>
 <p>From the above test data, you can get the throughput statistics and the write latency statistics. The aggregated statistics is printed when the Pulsar Perf is stopped. You can press <strong>Ctrl</strong>+<strong>C</strong> to stop the Pulsar Perf. After the Pulsar Perf is stopped, the <a href="http://hdrhistogram.github.io/HdrHistogram/">HdrHistogram</a> formatted test result appears under your directory. The document looks like <code>perf-producer-1589370810837.hgrm</code>. You can a [...]
-<h4><a class="anchor" aria-hidden="true" id="configuration-options-for-pulsar-perf-produce"></a><a href="#configuration-options-for-pulsar-perf-produce" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h- [...]
+<h3><a class="anchor" aria-hidden="true" id="configuration-options-for-pulsar-perf-produce"></a><a href="#configuration-options-for-pulsar-perf-produce" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h- [...]
 <p>You can get all options by executing the <code>bin/pulsar-perf produce -h</code> command. Therefore, you can modify these options as required.</p>
 <p>The following table lists configuration options available for the <code>pulsar-perf produce</code> command.</p>
 <table>
@@ -134,7 +132,7 @@
 <tr><td>warmup-time</td><td>Set the warm-up time.</td><td>1s</td></tr>
 </tbody>
 </table>
-<h3><a class="anchor" aria-hidden="true" id="consume-messages"></a><a href="#consume-messages" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2. [...]
+<h2><a class="anchor" aria-hidden="true" id="consume-messages"></a><a href="#consume-messages" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2. [...]
 <p>This example shows how the Pulsar Perf consumes messages with default options.</p>
 <pre><code class="hljs">bin/pulsar-perf consume <span class="hljs-keyword">my</span>-topic
 </code></pre>
@@ -152,7 +150,7 @@
 <span class="hljs-number">20</span>:<span class="hljs-number">36</span>:<span class="hljs-number">42.759</span> [Thread<span class="hljs-number">-1</span>] INFO  org.apache.pulsar.testclient.PerformanceConsumer - Aggregated latency stats --- Latency: mean: <span class="hljs-number">9.422</span> ms - med: <span class="hljs-number">9</span> - <span class="hljs-number">95</span>pct: <span class="hljs-number">15</span> - <span class="hljs-number">99</span>pct: <span class="hljs-number">16</s [...]
 </code></pre>
 <p>From the output test data, you can get the throughput statistics and the end-to-end latency statistics. The aggregated statistics is printed after the Pulsar Perf is stopped. You can press <strong>Ctrl</strong>+<strong>C</strong> to stop the Pulsar Perf.</p>
-<h4><a class="anchor" aria-hidden="true" id="configuration-options-for-pulsar-perf-consume"></a><a href="#configuration-options-for-pulsar-perf-consume" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h- [...]
+<h3><a class="anchor" aria-hidden="true" id="configuration-options-for-pulsar-perf-consume"></a><a href="#configuration-options-for-pulsar-perf-consume" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h- [...]
 <p>You can get all options by executing the <code>bin/pulsar-perf consume -h</code> command. Therefore, you can modify these options as required.</p>
 <p>The following table lists configuration options available for the <code>pulsar-perf consume</code> command.</p>
 <table>
@@ -180,7 +178,7 @@
 <tr><td>trust-cert-file</td><td>Set the path for the trusted TLS certificate file.</td><td><empty string></td></tr>
 </tbody>
 </table>
-<h3><a class="anchor" aria-hidden="true" id="configurations"></a><a href="#configurations" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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- [...]
+<h2><a class="anchor" aria-hidden="true" id="configurations"></a><a href="#configurations" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>By default, the Pulsar Perf uses <code>conf/client.conf</code> as the default configuration and uses <code>conf/log4j2.yaml</code> as the default Log4j configuration. If you want to connect to other Pulsar clusters, you can update the <code>brokerServiceUrl</code> in the client configuration.</p>
 <p>You can use the following commands to change the configuration file and the Log4j configuration file.</p>
 <pre><code class="hljs"><span class="hljs-builtin-name">export</span> <span class="hljs-attribute">PULSAR_CLIENT_CONF</span>=&lt;your-config-file&gt;
@@ -209,7 +207,7 @@
 <li><p>Check the test result through the Graphical User Interface of the HdrHistogram Plotter, as shown blow.</p>
 <p><img src="/docs/assets/perf-produce.png" alt=""></p></li>
 </ol>
-</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/ja/next/security-bouncy-castle"><span class="arrow-prev">← </span><span>Bouncy Castle Providers</span></a><a class="docs-next button" href="/docs/ja/next/client-libraries"><span>概要</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#pulsar-perf">Pulsar Perf</a><ul class="toc-headings"><li><a href="#produce-messages">Produc [...]
+</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/ja/next/security-bouncy-castle"><span class="arrow-prev">← </span><span>Bouncy Castle Providers</span></a><a class="docs-next button" href="/docs/ja/next/client-libraries"><span>概要</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#produce-messages">Produce messages</a><ul class="toc-headings"><li><a href="#configuration- [...]
       const community = document.querySelector("a[href='#community']").parentNode;
       const communityMenu =
         '<li>' +
diff --git a/content/docs/ja/next/pulsar-admin.html b/content/docs/ja/next/pulsar-admin.html
index 9e0d363..c2c2678 100644
--- a/content/docs/ja/next/pulsar-admin.html
+++ b/content/docs/ja/next/pulsar-admin.html
@@ -1515,11 +1515,15 @@
 </tbody>
 </table>
 <h2><a class="anchor" aria-hidden="true" id="topics-1"></a><a href="#topics-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  [...]
-<p>Operations for managing Pulsar topics (both persistent and non persistent)</p>
+<p>Operations for managing Pulsar topics (both persistent and non-persistent).</p>
 <p>使い方</p>
 <pre><code class="hljs css language-bash">$ pulsar-admin topics subcommand
 </code></pre>
-<p>Subcommands * <code>compact</code> * <code>compaction-status</code> * <code>offload</code> * <code>offload-status</code> * <code>create-partitioned-topic</code> * <code>create-missed-partitions</code> * <code>delete-partitioned-topic</code> * <code>create</code> * <code>get-partitioned-topic-metadata</code> * <code>update-partitioned-topic</code> * <code>list-partitioned-topics</code> * <code>list</code> * <code>terminate</code> * <code>permissions</code> * <code>grant-permission</cod [...]
+<p>From Pulsar 2.7.0, some namespace-level policies are available on topic level. To enable topic-level policy in Pulsar, you need to configure the following parameters in the <code>broker.conf</code> file.</p>
+<pre><code class="hljs css language-shell">systemTopicEnabled=true
+topicLevelPoliciesEnabled=true
+</code></pre>
+<p>Subcommands * <code>compact</code> * <code>compaction-status</code> * <code>offload</code> * <code>offload-status</code> * <code>create-partitioned-topic</code> * <code>create-missed-partitions</code> * <code>delete-partitioned-topic</code> * <code>create</code> * <code>get-partitioned-topic-metadata</code> * <code>update-partitioned-topic</code> * <code>list-partitioned-topics</code> * <code>list</code> * <code>terminate</code> * <code>permissions</code> * <code>grant-permission</cod [...]
 <h3><a class="anchor" aria-hidden="true" id="compact"></a><a href="#compact" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>Run compaction on the specified topic (persistent topics only)</p>
 <p>使い方</p>
diff --git a/content/docs/ja/next/pulsar-admin/index.html b/content/docs/ja/next/pulsar-admin/index.html
index 9e0d363..c2c2678 100644
--- a/content/docs/ja/next/pulsar-admin/index.html
+++ b/content/docs/ja/next/pulsar-admin/index.html
@@ -1515,11 +1515,15 @@
 </tbody>
 </table>
 <h2><a class="anchor" aria-hidden="true" id="topics-1"></a><a href="#topics-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  [...]
-<p>Operations for managing Pulsar topics (both persistent and non persistent)</p>
+<p>Operations for managing Pulsar topics (both persistent and non-persistent).</p>
 <p>使い方</p>
 <pre><code class="hljs css language-bash">$ pulsar-admin topics subcommand
 </code></pre>
-<p>Subcommands * <code>compact</code> * <code>compaction-status</code> * <code>offload</code> * <code>offload-status</code> * <code>create-partitioned-topic</code> * <code>create-missed-partitions</code> * <code>delete-partitioned-topic</code> * <code>create</code> * <code>get-partitioned-topic-metadata</code> * <code>update-partitioned-topic</code> * <code>list-partitioned-topics</code> * <code>list</code> * <code>terminate</code> * <code>permissions</code> * <code>grant-permission</cod [...]
+<p>From Pulsar 2.7.0, some namespace-level policies are available on topic level. To enable topic-level policy in Pulsar, you need to configure the following parameters in the <code>broker.conf</code> file.</p>
+<pre><code class="hljs css language-shell">systemTopicEnabled=true
+topicLevelPoliciesEnabled=true
+</code></pre>
+<p>Subcommands * <code>compact</code> * <code>compaction-status</code> * <code>offload</code> * <code>offload-status</code> * <code>create-partitioned-topic</code> * <code>create-missed-partitions</code> * <code>delete-partitioned-topic</code> * <code>create</code> * <code>get-partitioned-topic-metadata</code> * <code>update-partitioned-topic</code> * <code>list-partitioned-topics</code> * <code>list</code> * <code>terminate</code> * <code>permissions</code> * <code>grant-permission</cod [...]
 <h3><a class="anchor" aria-hidden="true" id="compact"></a><a href="#compact" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>Run compaction on the specified topic (persistent topics only)</p>
 <p>使い方</p>
diff --git a/content/docs/ja/next/reference-configuration.html b/content/docs/ja/next/reference-configuration.html
index 8791597..518e8c65 100644
--- a/content/docs/ja/next/reference-configuration.html
+++ b/content/docs/ja/next/reference-configuration.html
@@ -258,6 +258,7 @@ Instead, you can set a subscription expiration time for each <strong>namespace</
 </tbody>
 </table>
 <h2><a class="anchor" aria-hidden="true" id="log4j"></a><a href="#log4j" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>You can set the log level and configuration in the <a href="https://github.com/apache/pulsar/blob/d557e0aa286866363bc6261dec87790c055db1b0/conf/log4j2.yaml#L155">log4j2.yaml</a> file. The following logging configuration parameters are available.</p>
 <table>
 <thead>
 <tr><th>Name</th><th>Default</th></tr>
@@ -304,7 +305,7 @@ Instead, you can set a subscription expiration time for each <strong>namespace</
 </tbody>
 </table>
 <h2><a class="anchor" aria-hidden="true" id="standalone"></a><a href="#standalone" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>|Name|Description|Default| |---|---|---| |authenticateOriginalAuthData| If this flag is set to <code>true</code>, the broker authenticates the original Auth data; else it just accepts the originalPrincipal and authorizes it (if required). |false| |zookeeperServers| The quorum connection string for local ZooKeeper || |zooKeeperCacheExpirySeconds|ZooKeeper cache expiry time in seconds|300 |configurationStoreServers| Configuration store connection string (as a comma-separated list) || |b [...]
+<p>|Name|Description|Default| |---|---|---| |authenticateOriginalAuthData| If this flag is set to <code>true</code>, the broker authenticates the original Auth data; else it just accepts the originalPrincipal and authorizes it (if required). |false| |zookeeperServers| The quorum connection string for local ZooKeeper || |zooKeeperCacheExpirySeconds|ZooKeeper cache expiry time in seconds|300 |configurationStoreServers| Configuration store connection string (as a comma-separated list) || |b [...]
 <ul>
 <li>JKS
 <ul>
diff --git a/content/docs/ja/next/reference-configuration/index.html b/content/docs/ja/next/reference-configuration/index.html
index 8791597..518e8c65 100644
--- a/content/docs/ja/next/reference-configuration/index.html
+++ b/content/docs/ja/next/reference-configuration/index.html
@@ -258,6 +258,7 @@ Instead, you can set a subscription expiration time for each <strong>namespace</
 </tbody>
 </table>
 <h2><a class="anchor" aria-hidden="true" id="log4j"></a><a href="#log4j" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>You can set the log level and configuration in the <a href="https://github.com/apache/pulsar/blob/d557e0aa286866363bc6261dec87790c055db1b0/conf/log4j2.yaml#L155">log4j2.yaml</a> file. The following logging configuration parameters are available.</p>
 <table>
 <thead>
 <tr><th>Name</th><th>Default</th></tr>
@@ -304,7 +305,7 @@ Instead, you can set a subscription expiration time for each <strong>namespace</
 </tbody>
 </table>
 <h2><a class="anchor" aria-hidden="true" id="standalone"></a><a href="#standalone" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>|Name|Description|Default| |---|---|---| |authenticateOriginalAuthData| If this flag is set to <code>true</code>, the broker authenticates the original Auth data; else it just accepts the originalPrincipal and authorizes it (if required). |false| |zookeeperServers| The quorum connection string for local ZooKeeper || |zooKeeperCacheExpirySeconds|ZooKeeper cache expiry time in seconds|300 |configurationStoreServers| Configuration store connection string (as a comma-separated list) || |b [...]
+<p>|Name|Description|Default| |---|---|---| |authenticateOriginalAuthData| If this flag is set to <code>true</code>, the broker authenticates the original Auth data; else it just accepts the originalPrincipal and authorizes it (if required). |false| |zookeeperServers| The quorum connection string for local ZooKeeper || |zooKeeperCacheExpirySeconds|ZooKeeper cache expiry time in seconds|300 |configurationStoreServers| Configuration store connection string (as a comma-separated list) || |b [...]
 <ul>
 <li>JKS
 <ul>
diff --git a/content/docs/ja/next/reference-metrics.html b/content/docs/ja/next/reference-metrics.html
index 79dcf3d..aecf021 100644
--- a/content/docs/ja/next/reference-metrics.html
+++ b/content/docs/ja/next/reference-metrics.html
@@ -141,7 +141,7 @@
 <li>1: the bookie is running in writable mode.</li>
 <li>0: the bookie is running in readonly mode.</li>
 </ul>
-<p>| | bookkeeper_server_ADD_ENTRY_count | Counter | The total number of ADD_ENTRY requests received at the bookie. The <code>success</code> label is used to distinguish successes and failures. | | bookkeeper_server_READ_ENTRY_count | Counter | The total number of READ_ENTRY requests received at the bookie. The <code>success</code> label is used to distinguish successes and failures. | | bookie_WRITE_BYTES | Counter | The total number of bytes written to the bookie. | | bookie_READ_BYTES [...]
+<p>| | bookkeeper_server_ADD_ENTRY_count | Counter | The total number of ADD_ENTRY requests received at the bookie. The <code>success</code> label is used to distinguish successes and failures. | | bookkeeper_server_READ_ENTRY_count | Counter | The total number of READ_ENTRY requests received at the bookie. The <code>success</code> label is used to distinguish successes and failures. | | bookie_WRITE_BYTES | Counter | The total number of bytes written to the bookie. | | bookie_READ_BYTES [...]
 <h3><a class="anchor" aria-hidden="true" id="journal-metrics"></a><a href="#journal-metrics" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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  [...]
 <table>
 <thead>
@@ -152,8 +152,8 @@
 <tr><td>bookie_journal_JOURNAL_QUEUE_SIZE</td><td>Gauge</td><td>The total number of requests pending in the journal queue.</td></tr>
 <tr><td>bookie_journal_JOURNAL_FORCE_WRITE_QUEUE_SIZE</td><td>Gauge</td><td>The total number of force write (fsync) requests pending in the force-write queue.</td></tr>
 <tr><td>bookie_journal_JOURNAL_CB_QUEUE_SIZE</td><td>Gauge</td><td>The total number of callbacks pending in the callback queue.</td></tr>
-<tr><td>bookie_journal_JOURNAL_ADD_ENTRY</td><td>Histogram</td><td>The histogram of request latency of adding entries to the journal.</td></tr>
-<tr><td>bookie_journal_JOURNAL_SYNC</td><td>Histogram</td><td>The histogram of fsync latency of syncing data to the journal disk.</td></tr>
+<tr><td>bookie_journal_JOURNAL_ADD_ENTRY</td><td>Summary</td><td>The summary of request latency of adding entries to the journal.</td></tr>
+<tr><td>bookie_journal_JOURNAL_SYNC</td><td>Summary</td><td>The summary of fsync latency of syncing data to the journal disk.</td></tr>
 </tbody>
 </table>
 <h3><a class="anchor" aria-hidden="true" id="storage-metrics"></a><a href="#storage-metrics" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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  [...]
diff --git a/content/docs/ja/next/reference-metrics/index.html b/content/docs/ja/next/reference-metrics/index.html
index 79dcf3d..aecf021 100644
--- a/content/docs/ja/next/reference-metrics/index.html
+++ b/content/docs/ja/next/reference-metrics/index.html
@@ -141,7 +141,7 @@
 <li>1: the bookie is running in writable mode.</li>
 <li>0: the bookie is running in readonly mode.</li>
 </ul>
-<p>| | bookkeeper_server_ADD_ENTRY_count | Counter | The total number of ADD_ENTRY requests received at the bookie. The <code>success</code> label is used to distinguish successes and failures. | | bookkeeper_server_READ_ENTRY_count | Counter | The total number of READ_ENTRY requests received at the bookie. The <code>success</code> label is used to distinguish successes and failures. | | bookie_WRITE_BYTES | Counter | The total number of bytes written to the bookie. | | bookie_READ_BYTES [...]
+<p>| | bookkeeper_server_ADD_ENTRY_count | Counter | The total number of ADD_ENTRY requests received at the bookie. The <code>success</code> label is used to distinguish successes and failures. | | bookkeeper_server_READ_ENTRY_count | Counter | The total number of READ_ENTRY requests received at the bookie. The <code>success</code> label is used to distinguish successes and failures. | | bookie_WRITE_BYTES | Counter | The total number of bytes written to the bookie. | | bookie_READ_BYTES [...]
 <h3><a class="anchor" aria-hidden="true" id="journal-metrics"></a><a href="#journal-metrics" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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  [...]
 <table>
 <thead>
@@ -152,8 +152,8 @@
 <tr><td>bookie_journal_JOURNAL_QUEUE_SIZE</td><td>Gauge</td><td>The total number of requests pending in the journal queue.</td></tr>
 <tr><td>bookie_journal_JOURNAL_FORCE_WRITE_QUEUE_SIZE</td><td>Gauge</td><td>The total number of force write (fsync) requests pending in the force-write queue.</td></tr>
 <tr><td>bookie_journal_JOURNAL_CB_QUEUE_SIZE</td><td>Gauge</td><td>The total number of callbacks pending in the callback queue.</td></tr>
-<tr><td>bookie_journal_JOURNAL_ADD_ENTRY</td><td>Histogram</td><td>The histogram of request latency of adding entries to the journal.</td></tr>
-<tr><td>bookie_journal_JOURNAL_SYNC</td><td>Histogram</td><td>The histogram of fsync latency of syncing data to the journal disk.</td></tr>
+<tr><td>bookie_journal_JOURNAL_ADD_ENTRY</td><td>Summary</td><td>The summary of request latency of adding entries to the journal.</td></tr>
+<tr><td>bookie_journal_JOURNAL_SYNC</td><td>Summary</td><td>The summary of fsync latency of syncing data to the journal disk.</td></tr>
 </tbody>
 </table>
 <h3><a class="anchor" aria-hidden="true" id="storage-metrics"></a><a href="#storage-metrics" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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  [...]
diff --git a/content/docs/ja/next/tiered-storage-aws.html b/content/docs/ja/next/tiered-storage-aws.html
index 672da04..3fb4f01 100644
--- a/content/docs/ja/next/tiered-storage-aws.html
+++ b/content/docs/ja/next/tiered-storage-aws.html
@@ -127,7 +127,7 @@ tiered-storage-jcloud-2.5.1.nar
 <li><p><strong>Required</strong> configurations are as below.</p>
 <p>Required configuration | Description | Example value |---|---|--- <code>managedLedgerOffloadDriver</code> | Offloader driver name, which is case-insensitive. <br><br><strong>Note</strong>: there is a third driver type, S3, which is identical to AWS S3, though S3 requires that you specify an endpoint URL using <code>s3ManagedLedgerOffloadServiceEndpoint</code>. This is useful if using an S3 compatible data store other than AWS S3. | aws-s3 <code>offloadersDirectory</code> | Offloader d [...]
 <li><p><strong>Optional</strong> configurations are as below.</p>
-<p>Optional | Description | Example value |---|---|--- <code>s3ManagedLedgerOffloadRegion</code> | Bucket region | eu-west-3 <code>s3ManagedLedgerOffloadReadBufferSizeInBytes</code>|Size of block read|1 MB <code>s3ManagedLedgerOffloadMaxBlockSizeInBytes</code>|Size of block write|64 MB <code>managedLedgerMinLedgerRolloverTimeMinutes</code>|Minimum time between ledger rollover for a topic<br><br><strong>Note</strong>: it is not recommended that you set this configuration in the production [...]
+<p>Optional | Description | Example value |---|---|--- <code>s3ManagedLedgerOffloadRegion</code> | Bucket region <br><br><strong>Note</strong>: before specifying a value for this parameter, you need to set the following configurations. Otherwise, you might get an error.<br><br>- Set <a href="https://docs.aws.amazon.com/general/latest/gr/s3.html"><code>s3ManagedLedgerOffloadServiceEndpoint</code></a>.<br><br>Example<br><code>s3ManagedLedgerOffloadServiceEndpoint=https://s3.YOUR_REGION.ama [...]
 </ul>
 <h4><a class="anchor" aria-hidden="true" id="bucket-required"></a><a href="#bucket-required" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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  [...]
 <p>A bucket is a basic container that holds your data. Everything you store in AWS S3 must be contained in a bucket. You can use a bucket to organize your data and control access to your data, but unlike directory and folder, you cannot nest a bucket.</p>
diff --git a/content/docs/ja/next/tiered-storage-aws/index.html b/content/docs/ja/next/tiered-storage-aws/index.html
index 672da04..3fb4f01 100644
--- a/content/docs/ja/next/tiered-storage-aws/index.html
+++ b/content/docs/ja/next/tiered-storage-aws/index.html
@@ -127,7 +127,7 @@ tiered-storage-jcloud-2.5.1.nar
 <li><p><strong>Required</strong> configurations are as below.</p>
 <p>Required configuration | Description | Example value |---|---|--- <code>managedLedgerOffloadDriver</code> | Offloader driver name, which is case-insensitive. <br><br><strong>Note</strong>: there is a third driver type, S3, which is identical to AWS S3, though S3 requires that you specify an endpoint URL using <code>s3ManagedLedgerOffloadServiceEndpoint</code>. This is useful if using an S3 compatible data store other than AWS S3. | aws-s3 <code>offloadersDirectory</code> | Offloader d [...]
 <li><p><strong>Optional</strong> configurations are as below.</p>
-<p>Optional | Description | Example value |---|---|--- <code>s3ManagedLedgerOffloadRegion</code> | Bucket region | eu-west-3 <code>s3ManagedLedgerOffloadReadBufferSizeInBytes</code>|Size of block read|1 MB <code>s3ManagedLedgerOffloadMaxBlockSizeInBytes</code>|Size of block write|64 MB <code>managedLedgerMinLedgerRolloverTimeMinutes</code>|Minimum time between ledger rollover for a topic<br><br><strong>Note</strong>: it is not recommended that you set this configuration in the production [...]
+<p>Optional | Description | Example value |---|---|--- <code>s3ManagedLedgerOffloadRegion</code> | Bucket region <br><br><strong>Note</strong>: before specifying a value for this parameter, you need to set the following configurations. Otherwise, you might get an error.<br><br>- Set <a href="https://docs.aws.amazon.com/general/latest/gr/s3.html"><code>s3ManagedLedgerOffloadServiceEndpoint</code></a>.<br><br>Example<br><code>s3ManagedLedgerOffloadServiceEndpoint=https://s3.YOUR_REGION.ama [...]
 </ul>
 <h4><a class="anchor" aria-hidden="true" id="bucket-required"></a><a href="#bucket-required" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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  [...]
 <p>A bucket is a basic container that holds your data. Everything you store in AWS S3 must be contained in a bucket. You can use a bucket to organize your data and control access to your data, but unlike directory and folder, you cannot nest a bucket.</p>
diff --git a/content/docs/ja/pulsar-admin.html b/content/docs/ja/pulsar-admin.html
index a3a818b..964a53b 100644
--- a/content/docs/ja/pulsar-admin.html
+++ b/content/docs/ja/pulsar-admin.html
@@ -1656,6 +1656,10 @@
 <p>使い方</p>
 <pre><code class="hljs css language-bash">$ pulsar-admin topics subcommand
 </code></pre>
+<p>Some namespace-level policies are available on topic level. To enable topic-level policy in Pulsar, you need to configure the following parameters in the <code>broker.conf</code> file.</p>
+<pre><code class="hljs css language-shell">systemTopicEnabled=true
+topicLevelPoliciesEnabled=true
+</code></pre>
 <p>Subcommands</p>
 <ul>
 <li><code>compact</code></li>
@@ -1706,6 +1710,36 @@
 <li><code>get-deduplication</code></li>
 <li><code>set-deduplication</code></li>
 <li><code>remove-deduplication</code></li>
+<li><code>get-max-producers</code></li>
+<li><code>set-max-producers</code></li>
+<li><code>remove-max-producers</code></li>
+<li><code>get-max-consumers</code></li>
+<li><code>set-max-consumers</code></li>
+<li><code>remove-max-consumers</code></li>
+<li><code>get-retention</code></li>
+<li><code>set-retention</code></li>
+<li><code>remove-retention</code></li>
+<li><code>get-dispatch-rate</code></li>
+<li><code>set-dispatch-rate</code></li>
+<li><code>remove-dispatch-rate</code></li>
+<li><code>get-compaction-threshold</code></li>
+<li><code>set-compaction-threshold</code></li>
+<li><code>remove-compaction-threshold</code></li>
+<li><code>get-offload-policies</code></li>
+<li><code>set-offload-policies</code></li>
+<li><code>remove-offload-policies</code></li>
+<li><code>get-max-unacked-messages-per-subscription</code></li>
+<li><code>set-max-unacked-messages-per-subscription</code></li>
+<li><code>remove-max-unacked-messages-per-subscription</code></li>
+<li><code>get-max-unacked-messages-per-consumer</code></li>
+<li><code>set-max-unacked-messages-per-consumer</code></li>
+<li><code>remove-max-unacked-messages-per-consumer</code></li>
+<li><code>get-delayed-delivery</code></li>
+<li><code>set-delayed-delivery</code></li>
+<li><code>remove-delayed-delivery</code></li>
+<li><code>get-inactive-topic-policies</code></li>
+<li><code>set-inactive-topic-policies</code></li>
+<li><code>remove-inactive-topic-policies</code></li>
 </ul>
 <h3><a class="anchor" aria-hidden="true" id="compact"></a><a href="#compact" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>Run compaction on the specified topic (persistent topics only)</p>
diff --git a/content/docs/ja/pulsar-admin/index.html b/content/docs/ja/pulsar-admin/index.html
index a3a818b..964a53b 100644
--- a/content/docs/ja/pulsar-admin/index.html
+++ b/content/docs/ja/pulsar-admin/index.html
@@ -1656,6 +1656,10 @@
 <p>使い方</p>
 <pre><code class="hljs css language-bash">$ pulsar-admin topics subcommand
 </code></pre>
+<p>Some namespace-level policies are available on topic level. To enable topic-level policy in Pulsar, you need to configure the following parameters in the <code>broker.conf</code> file.</p>
+<pre><code class="hljs css language-shell">systemTopicEnabled=true
+topicLevelPoliciesEnabled=true
+</code></pre>
 <p>Subcommands</p>
 <ul>
 <li><code>compact</code></li>
@@ -1706,6 +1710,36 @@
 <li><code>get-deduplication</code></li>
 <li><code>set-deduplication</code></li>
 <li><code>remove-deduplication</code></li>
+<li><code>get-max-producers</code></li>
+<li><code>set-max-producers</code></li>
+<li><code>remove-max-producers</code></li>
+<li><code>get-max-consumers</code></li>
+<li><code>set-max-consumers</code></li>
+<li><code>remove-max-consumers</code></li>
+<li><code>get-retention</code></li>
+<li><code>set-retention</code></li>
+<li><code>remove-retention</code></li>
+<li><code>get-dispatch-rate</code></li>
+<li><code>set-dispatch-rate</code></li>
+<li><code>remove-dispatch-rate</code></li>
+<li><code>get-compaction-threshold</code></li>
+<li><code>set-compaction-threshold</code></li>
+<li><code>remove-compaction-threshold</code></li>
+<li><code>get-offload-policies</code></li>
+<li><code>set-offload-policies</code></li>
+<li><code>remove-offload-policies</code></li>
+<li><code>get-max-unacked-messages-per-subscription</code></li>
+<li><code>set-max-unacked-messages-per-subscription</code></li>
+<li><code>remove-max-unacked-messages-per-subscription</code></li>
+<li><code>get-max-unacked-messages-per-consumer</code></li>
+<li><code>set-max-unacked-messages-per-consumer</code></li>
+<li><code>remove-max-unacked-messages-per-consumer</code></li>
+<li><code>get-delayed-delivery</code></li>
+<li><code>set-delayed-delivery</code></li>
+<li><code>remove-delayed-delivery</code></li>
+<li><code>get-inactive-topic-policies</code></li>
+<li><code>set-inactive-topic-policies</code></li>
+<li><code>remove-inactive-topic-policies</code></li>
 </ul>
 <h3><a class="anchor" aria-hidden="true" id="compact"></a><a href="#compact" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>Run compaction on the specified topic (persistent topics only)</p>
diff --git a/content/docs/ja/reference-metrics.html b/content/docs/ja/reference-metrics.html
index c25d2a8..13ca112 100644
--- a/content/docs/ja/reference-metrics.html
+++ b/content/docs/ja/reference-metrics.html
@@ -133,8 +133,8 @@
 <tr><td>bookkeeper_server_READ_ENTRY_count</td><td>Counter</td><td>The total number of READ_ENTRY requests received at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
 <tr><td>bookie_WRITE_BYTES</td><td>Counter</td><td>The total number of bytes written to the bookie.</td></tr>
 <tr><td>bookie_READ_BYTES</td><td>Counter</td><td>The total number of bytes read from the bookie.</td></tr>
-<tr><td>bookkeeper_server_ADD_ENTRY_REQUEST</td><td>Histogram</td><td>The histogram of request latency of ADD_ENTRY requests at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
-<tr><td>bookkeeper_server_READ_ENTRY_REQUEST</td><td>Histogram</td><td>The histogram of request latency of READ_ENTRY requests at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
+<tr><td>bookkeeper_server_ADD_ENTRY_REQUEST</td><td>Summary</td><td>The summary of request latency of ADD_ENTRY requests at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
+<tr><td>bookkeeper_server_READ_ENTRY_REQUEST</td><td>Summary</td><td>The summary of request latency of READ_ENTRY requests at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
 </tbody>
 </table>
 <h3><a class="anchor" aria-hidden="true" id="journal-metrics"></a><a href="#journal-metrics" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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  [...]
@@ -147,8 +147,8 @@
 <tr><td>bookie_journal_JOURNAL_QUEUE_SIZE</td><td>Gauge</td><td>The total number of requests pending in the journal queue.</td></tr>
 <tr><td>bookie_journal_JOURNAL_FORCE_WRITE_QUEUE_SIZE</td><td>Gauge</td><td>The total number of force write (fsync) requests pending in the force-write queue.</td></tr>
 <tr><td>bookie_journal_JOURNAL_CB_QUEUE_SIZE</td><td>Gauge</td><td>The total number of callbacks pending in the callback queue.</td></tr>
-<tr><td>bookie_journal_JOURNAL_ADD_ENTRY</td><td>Histogram</td><td>The histogram of request latency of adding entries to the journal.</td></tr>
-<tr><td>bookie_journal_JOURNAL_SYNC</td><td>Histogram</td><td>The histogram of fsync latency of syncing data to the journal disk.</td></tr>
+<tr><td>bookie_journal_JOURNAL_ADD_ENTRY</td><td>Summary</td><td>The summary of request latency of adding entries to the journal.</td></tr>
+<tr><td>bookie_journal_JOURNAL_SYNC</td><td>Summary</td><td>The summary of fsync latency of syncing data to the journal disk.</td></tr>
 </tbody>
 </table>
 <h3><a class="anchor" aria-hidden="true" id="storage-metrics"></a><a href="#storage-metrics" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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  [...]
diff --git a/content/docs/ja/reference-metrics/index.html b/content/docs/ja/reference-metrics/index.html
index c25d2a8..13ca112 100644
--- a/content/docs/ja/reference-metrics/index.html
+++ b/content/docs/ja/reference-metrics/index.html
@@ -133,8 +133,8 @@
 <tr><td>bookkeeper_server_READ_ENTRY_count</td><td>Counter</td><td>The total number of READ_ENTRY requests received at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
 <tr><td>bookie_WRITE_BYTES</td><td>Counter</td><td>The total number of bytes written to the bookie.</td></tr>
 <tr><td>bookie_READ_BYTES</td><td>Counter</td><td>The total number of bytes read from the bookie.</td></tr>
-<tr><td>bookkeeper_server_ADD_ENTRY_REQUEST</td><td>Histogram</td><td>The histogram of request latency of ADD_ENTRY requests at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
-<tr><td>bookkeeper_server_READ_ENTRY_REQUEST</td><td>Histogram</td><td>The histogram of request latency of READ_ENTRY requests at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
+<tr><td>bookkeeper_server_ADD_ENTRY_REQUEST</td><td>Summary</td><td>The summary of request latency of ADD_ENTRY requests at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
+<tr><td>bookkeeper_server_READ_ENTRY_REQUEST</td><td>Summary</td><td>The summary of request latency of READ_ENTRY requests at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
 </tbody>
 </table>
 <h3><a class="anchor" aria-hidden="true" id="journal-metrics"></a><a href="#journal-metrics" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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  [...]
@@ -147,8 +147,8 @@
 <tr><td>bookie_journal_JOURNAL_QUEUE_SIZE</td><td>Gauge</td><td>The total number of requests pending in the journal queue.</td></tr>
 <tr><td>bookie_journal_JOURNAL_FORCE_WRITE_QUEUE_SIZE</td><td>Gauge</td><td>The total number of force write (fsync) requests pending in the force-write queue.</td></tr>
 <tr><td>bookie_journal_JOURNAL_CB_QUEUE_SIZE</td><td>Gauge</td><td>The total number of callbacks pending in the callback queue.</td></tr>
-<tr><td>bookie_journal_JOURNAL_ADD_ENTRY</td><td>Histogram</td><td>The histogram of request latency of adding entries to the journal.</td></tr>
-<tr><td>bookie_journal_JOURNAL_SYNC</td><td>Histogram</td><td>The histogram of fsync latency of syncing data to the journal disk.</td></tr>
+<tr><td>bookie_journal_JOURNAL_ADD_ENTRY</td><td>Summary</td><td>The summary of request latency of adding entries to the journal.</td></tr>
+<tr><td>bookie_journal_JOURNAL_SYNC</td><td>Summary</td><td>The summary of fsync latency of syncing data to the journal disk.</td></tr>
 </tbody>
 </table>
 <h3><a class="anchor" aria-hidden="true" id="storage-metrics"></a><a href="#storage-metrics" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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  [...]
diff --git a/content/docs/ja/tiered-storage-aws.html b/content/docs/ja/tiered-storage-aws.html
index e12f182..6010077 100644
--- a/content/docs/ja/tiered-storage-aws.html
+++ b/content/docs/ja/tiered-storage-aws.html
@@ -127,7 +127,7 @@ tiered-storage-jcloud-2.5.1.nar
 <li><p><strong>Required</strong> configurations are as below.</p>
 <p>Required configuration | Description | Example value |---|---|--- <code>managedLedgerOffloadDriver</code> | Offloader driver name, which is case-insensitive. <br><br><strong>Note</strong>: there is a third driver type, S3, which is identical to AWS S3, though S3 requires that you specify an endpoint URL using <code>s3ManagedLedgerOffloadServiceEndpoint</code>. This is useful if using an S3 compatible data store other than AWS S3. | aws-s3 <code>offloadersDirectory</code> | Offloader d [...]
 <li><p><strong>Optional</strong> configurations are as below.</p>
-<p>Optional | Description | Example value |---|---|--- <code>s3ManagedLedgerOffloadRegion</code> | Bucket region | eu-west-3 <code>s3ManagedLedgerOffloadReadBufferSizeInBytes</code>|Size of block read|1 MB <code>s3ManagedLedgerOffloadMaxBlockSizeInBytes</code>|Size of block write|64 MB <code>managedLedgerMinLedgerRolloverTimeMinutes</code>|Minimum time between ledger rollover for a topic<br><br><strong>Note</strong>: it is not recommended that you set this configuration in the production [...]
+<p>Optional | Description | Example value |---|---|--- <code>s3ManagedLedgerOffloadRegion</code> | Bucket region <br><br><strong>Note</strong>: before specifying a value for this parameter, you need to set the following configurations. Otherwise, you might get an error.<br><br>- Set <a href="https://docs.aws.amazon.com/general/latest/gr/s3.html"><code>s3ManagedLedgerOffloadServiceEndpoint</code></a>.<br><br>Example<br><code>s3ManagedLedgerOffloadServiceEndpoint=https://s3.YOUR_REGION.ama [...]
 </ul>
 <h4><a class="anchor" aria-hidden="true" id="bucket-required"></a><a href="#bucket-required" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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  [...]
 <p>A bucket is a basic container that holds your data. Everything you store in AWS S3 must be contained in a bucket. You can use a bucket to organize your data and control access to your data, but unlike directory and folder, you cannot nest a bucket.</p>
diff --git a/content/docs/ja/tiered-storage-aws/index.html b/content/docs/ja/tiered-storage-aws/index.html
index e12f182..6010077 100644
--- a/content/docs/ja/tiered-storage-aws/index.html
+++ b/content/docs/ja/tiered-storage-aws/index.html
@@ -127,7 +127,7 @@ tiered-storage-jcloud-2.5.1.nar
 <li><p><strong>Required</strong> configurations are as below.</p>
 <p>Required configuration | Description | Example value |---|---|--- <code>managedLedgerOffloadDriver</code> | Offloader driver name, which is case-insensitive. <br><br><strong>Note</strong>: there is a third driver type, S3, which is identical to AWS S3, though S3 requires that you specify an endpoint URL using <code>s3ManagedLedgerOffloadServiceEndpoint</code>. This is useful if using an S3 compatible data store other than AWS S3. | aws-s3 <code>offloadersDirectory</code> | Offloader d [...]
 <li><p><strong>Optional</strong> configurations are as below.</p>
-<p>Optional | Description | Example value |---|---|--- <code>s3ManagedLedgerOffloadRegion</code> | Bucket region | eu-west-3 <code>s3ManagedLedgerOffloadReadBufferSizeInBytes</code>|Size of block read|1 MB <code>s3ManagedLedgerOffloadMaxBlockSizeInBytes</code>|Size of block write|64 MB <code>managedLedgerMinLedgerRolloverTimeMinutes</code>|Minimum time between ledger rollover for a topic<br><br><strong>Note</strong>: it is not recommended that you set this configuration in the production [...]
+<p>Optional | Description | Example value |---|---|--- <code>s3ManagedLedgerOffloadRegion</code> | Bucket region <br><br><strong>Note</strong>: before specifying a value for this parameter, you need to set the following configurations. Otherwise, you might get an error.<br><br>- Set <a href="https://docs.aws.amazon.com/general/latest/gr/s3.html"><code>s3ManagedLedgerOffloadServiceEndpoint</code></a>.<br><br>Example<br><code>s3ManagedLedgerOffloadServiceEndpoint=https://s3.YOUR_REGION.ama [...]
 </ul>
 <h4><a class="anchor" aria-hidden="true" id="bucket-required"></a><a href="#bucket-required" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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  [...]
 <p>A bucket is a basic container that holds your data. Everything you store in AWS S3 must be contained in a bucket. You can use a bucket to organize your data and control access to your data, but unlike directory and folder, you cannot nest a bucket.</p>
diff --git a/content/docs/ko/2.4.0/reference-metrics.html b/content/docs/ko/2.4.0/reference-metrics.html
index db830a8..272a6ec 100644
--- a/content/docs/ko/2.4.0/reference-metrics.html
+++ b/content/docs/ko/2.4.0/reference-metrics.html
@@ -75,8 +75,8 @@
 <tr><td>bookkeeper_server_READ_ENTRY_count</td><td>Counter</td><td>The total number of READ_ENTRY requests received at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
 <tr><td>bookie_WRITE_BYTES</td><td>Counter</td><td>The total number of bytes written to the bookie.</td></tr>
 <tr><td>bookie_READ_BYTES</td><td>Counter</td><td>The total number of bytes read from the bookie.</td></tr>
-<tr><td>bookkeeper_server_ADD_ENTRY_REQUEST</td><td>Histogram</td><td>The histogram of request latency of ADD_ENTRY requests at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
-<tr><td>bookkeeper_server_READ_ENTRY_REQUEST</td><td>Histogram</td><td>The histogram of request latency of READ_ENTRY requests at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
+<tr><td>bookkeeper_server_ADD_ENTRY_REQUEST</td><td>Summary</td><td>The summary of request latency of ADD_ENTRY requests at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
+<tr><td>bookkeeper_server_READ_ENTRY_REQUEST</td><td>Summary</td><td>The summary of request latency of READ_ENTRY requests at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
 </tbody>
 </table>
 <h3><a class="anchor" aria-hidden="true" id="journal-metrics"></a><a href="#journal-metrics" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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  [...]
@@ -89,8 +89,8 @@
 <tr><td>bookie_journal_JOURNAL_QUEUE_SIZE</td><td>Gauge</td><td>The total number of requests pending in the journal queue.</td></tr>
 <tr><td>bookie_journal_JOURNAL_FORCE_WRITE_QUEUE_SIZE</td><td>Gauge</td><td>The total number of force write (fsync) requests pending in the force-write queue.</td></tr>
 <tr><td>bookie_journal_JOURNAL_CB_QUEUE_SIZE</td><td>Gauge</td><td>The total number of callbacks pending in the callback queue.</td></tr>
-<tr><td>bookie_journal_JOURNAL_ADD_ENTRY</td><td>Histogram</td><td>The histogram of request latency of adding entries to the journal.</td></tr>
-<tr><td>bookie_journal_JOURNAL_SYNC</td><td>Histogram</td><td>The histogram of fsync latency of syncing data to the journal disk.</td></tr>
+<tr><td>bookie_journal_JOURNAL_ADD_ENTRY</td><td>Summary</td><td>The summary of request latency of adding entries to the journal.</td></tr>
+<tr><td>bookie_journal_JOURNAL_SYNC</td><td>Summary</td><td>The summary of fsync latency of syncing data to the journal disk.</td></tr>
 </tbody>
 </table>
 <h3><a class="anchor" aria-hidden="true" id="storage-metrics"></a><a href="#storage-metrics" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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  [...]
diff --git a/content/docs/ko/2.4.0/reference-metrics/index.html b/content/docs/ko/2.4.0/reference-metrics/index.html
index db830a8..272a6ec 100644
--- a/content/docs/ko/2.4.0/reference-metrics/index.html
+++ b/content/docs/ko/2.4.0/reference-metrics/index.html
@@ -75,8 +75,8 @@
 <tr><td>bookkeeper_server_READ_ENTRY_count</td><td>Counter</td><td>The total number of READ_ENTRY requests received at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
 <tr><td>bookie_WRITE_BYTES</td><td>Counter</td><td>The total number of bytes written to the bookie.</td></tr>
 <tr><td>bookie_READ_BYTES</td><td>Counter</td><td>The total number of bytes read from the bookie.</td></tr>
-<tr><td>bookkeeper_server_ADD_ENTRY_REQUEST</td><td>Histogram</td><td>The histogram of request latency of ADD_ENTRY requests at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
-<tr><td>bookkeeper_server_READ_ENTRY_REQUEST</td><td>Histogram</td><td>The histogram of request latency of READ_ENTRY requests at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
+<tr><td>bookkeeper_server_ADD_ENTRY_REQUEST</td><td>Summary</td><td>The summary of request latency of ADD_ENTRY requests at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
+<tr><td>bookkeeper_server_READ_ENTRY_REQUEST</td><td>Summary</td><td>The summary of request latency of READ_ENTRY requests at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
 </tbody>
 </table>
 <h3><a class="anchor" aria-hidden="true" id="journal-metrics"></a><a href="#journal-metrics" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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  [...]
@@ -89,8 +89,8 @@
 <tr><td>bookie_journal_JOURNAL_QUEUE_SIZE</td><td>Gauge</td><td>The total number of requests pending in the journal queue.</td></tr>
 <tr><td>bookie_journal_JOURNAL_FORCE_WRITE_QUEUE_SIZE</td><td>Gauge</td><td>The total number of force write (fsync) requests pending in the force-write queue.</td></tr>
 <tr><td>bookie_journal_JOURNAL_CB_QUEUE_SIZE</td><td>Gauge</td><td>The total number of callbacks pending in the callback queue.</td></tr>
-<tr><td>bookie_journal_JOURNAL_ADD_ENTRY</td><td>Histogram</td><td>The histogram of request latency of adding entries to the journal.</td></tr>
-<tr><td>bookie_journal_JOURNAL_SYNC</td><td>Histogram</td><td>The histogram of fsync latency of syncing data to the journal disk.</td></tr>
+<tr><td>bookie_journal_JOURNAL_ADD_ENTRY</td><td>Summary</td><td>The summary of request latency of adding entries to the journal.</td></tr>
+<tr><td>bookie_journal_JOURNAL_SYNC</td><td>Summary</td><td>The summary of fsync latency of syncing data to the journal disk.</td></tr>
 </tbody>
 </table>
 <h3><a class="anchor" aria-hidden="true" id="storage-metrics"></a><a href="#storage-metrics" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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  [...]
diff --git a/content/docs/ko/2.4.1/reference-metrics.html b/content/docs/ko/2.4.1/reference-metrics.html
index 2f21771..88fd03d 100644
--- a/content/docs/ko/2.4.1/reference-metrics.html
+++ b/content/docs/ko/2.4.1/reference-metrics.html
@@ -139,7 +139,7 @@
 <li>1: the bookie is running in writable mode.</li>
 <li>0: the bookie is running in readonly mode.</li>
 </ul>
-<p>| | bookkeeper_server_ADD_ENTRY_count | Counter | The total number of ADD_ENTRY requests received at the bookie. The <code>success</code> label is used to distinguish successes and failures. | | bookkeeper_server_READ_ENTRY_count | Counter | The total number of READ_ENTRY requests received at the bookie. The <code>success</code> label is used to distinguish successes and failures. | | bookie_WRITE_BYTES | Counter | The total number of bytes written to the bookie. | | bookie_READ_BYTES [...]
+<p>| | bookkeeper_server_ADD_ENTRY_count | Counter | The total number of ADD_ENTRY requests received at the bookie. The <code>success</code> label is used to distinguish successes and failures. | | bookkeeper_server_READ_ENTRY_count | Counter | The total number of READ_ENTRY requests received at the bookie. The <code>success</code> label is used to distinguish successes and failures. | | bookie_WRITE_BYTES | Counter | The total number of bytes written to the bookie. | | bookie_READ_BYTES [...]
 <h3><a class="anchor" aria-hidden="true" id="journal-metrics"></a><a href="#journal-metrics" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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  [...]
 <table>
 <thead>
@@ -150,8 +150,8 @@
 <tr><td>bookie_journal_JOURNAL_QUEUE_SIZE</td><td>Gauge</td><td>The total number of requests pending in the journal queue.</td></tr>
 <tr><td>bookie_journal_JOURNAL_FORCE_WRITE_QUEUE_SIZE</td><td>Gauge</td><td>The total number of force write (fsync) requests pending in the force-write queue.</td></tr>
 <tr><td>bookie_journal_JOURNAL_CB_QUEUE_SIZE</td><td>Gauge</td><td>The total number of callbacks pending in the callback queue.</td></tr>
-<tr><td>bookie_journal_JOURNAL_ADD_ENTRY</td><td>Histogram</td><td>The histogram of request latency of adding entries to the journal.</td></tr>
-<tr><td>bookie_journal_JOURNAL_SYNC</td><td>Histogram</td><td>The histogram of fsync latency of syncing data to the journal disk.</td></tr>
+<tr><td>bookie_journal_JOURNAL_ADD_ENTRY</td><td>Summary</td><td>The summary of request latency of adding entries to the journal.</td></tr>
+<tr><td>bookie_journal_JOURNAL_SYNC</td><td>Summary</td><td>The summary of fsync latency of syncing data to the journal disk.</td></tr>
 </tbody>
 </table>
 <h3><a class="anchor" aria-hidden="true" id="storage-metrics"></a><a href="#storage-metrics" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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  [...]
diff --git a/content/docs/ko/2.4.1/reference-metrics/index.html b/content/docs/ko/2.4.1/reference-metrics/index.html
index 2f21771..88fd03d 100644
--- a/content/docs/ko/2.4.1/reference-metrics/index.html
+++ b/content/docs/ko/2.4.1/reference-metrics/index.html
@@ -139,7 +139,7 @@
 <li>1: the bookie is running in writable mode.</li>
 <li>0: the bookie is running in readonly mode.</li>
 </ul>
-<p>| | bookkeeper_server_ADD_ENTRY_count | Counter | The total number of ADD_ENTRY requests received at the bookie. The <code>success</code> label is used to distinguish successes and failures. | | bookkeeper_server_READ_ENTRY_count | Counter | The total number of READ_ENTRY requests received at the bookie. The <code>success</code> label is used to distinguish successes and failures. | | bookie_WRITE_BYTES | Counter | The total number of bytes written to the bookie. | | bookie_READ_BYTES [...]
+<p>| | bookkeeper_server_ADD_ENTRY_count | Counter | The total number of ADD_ENTRY requests received at the bookie. The <code>success</code> label is used to distinguish successes and failures. | | bookkeeper_server_READ_ENTRY_count | Counter | The total number of READ_ENTRY requests received at the bookie. The <code>success</code> label is used to distinguish successes and failures. | | bookie_WRITE_BYTES | Counter | The total number of bytes written to the bookie. | | bookie_READ_BYTES [...]
 <h3><a class="anchor" aria-hidden="true" id="journal-metrics"></a><a href="#journal-metrics" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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  [...]
 <table>
 <thead>
@@ -150,8 +150,8 @@
 <tr><td>bookie_journal_JOURNAL_QUEUE_SIZE</td><td>Gauge</td><td>The total number of requests pending in the journal queue.</td></tr>
 <tr><td>bookie_journal_JOURNAL_FORCE_WRITE_QUEUE_SIZE</td><td>Gauge</td><td>The total number of force write (fsync) requests pending in the force-write queue.</td></tr>
 <tr><td>bookie_journal_JOURNAL_CB_QUEUE_SIZE</td><td>Gauge</td><td>The total number of callbacks pending in the callback queue.</td></tr>
-<tr><td>bookie_journal_JOURNAL_ADD_ENTRY</td><td>Histogram</td><td>The histogram of request latency of adding entries to the journal.</td></tr>
-<tr><td>bookie_journal_JOURNAL_SYNC</td><td>Histogram</td><td>The histogram of fsync latency of syncing data to the journal disk.</td></tr>
+<tr><td>bookie_journal_JOURNAL_ADD_ENTRY</td><td>Summary</td><td>The summary of request latency of adding entries to the journal.</td></tr>
+<tr><td>bookie_journal_JOURNAL_SYNC</td><td>Summary</td><td>The summary of fsync latency of syncing data to the journal disk.</td></tr>
 </tbody>
 </table>
 <h3><a class="anchor" aria-hidden="true" id="storage-metrics"></a><a href="#storage-metrics" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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  [...]
diff --git a/content/docs/ko/2.4.2/reference-metrics.html b/content/docs/ko/2.4.2/reference-metrics.html
index f2fc881..e5fadd2 100644
--- a/content/docs/ko/2.4.2/reference-metrics.html
+++ b/content/docs/ko/2.4.2/reference-metrics.html
@@ -131,8 +131,8 @@
 <tr><td>bookkeeper_server_READ_ENTRY_count</td><td>Counter</td><td>The total number of READ_ENTRY requests received at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
 <tr><td>bookie_WRITE_BYTES</td><td>Counter</td><td>The total number of bytes written to the bookie.</td></tr>
 <tr><td>bookie_READ_BYTES</td><td>Counter</td><td>The total number of bytes read from the bookie.</td></tr>
-<tr><td>bookkeeper_server_ADD_ENTRY_REQUEST</td><td>Histogram</td><td>The histogram of request latency of ADD_ENTRY requests at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
-<tr><td>bookkeeper_server_READ_ENTRY_REQUEST</td><td>Histogram</td><td>The histogram of request latency of READ_ENTRY requests at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
+<tr><td>bookkeeper_server_ADD_ENTRY_REQUEST</td><td>Summary</td><td>The summary of request latency of ADD_ENTRY requests at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
+<tr><td>bookkeeper_server_READ_ENTRY_REQUEST</td><td>Summary</td><td>The summary of request latency of READ_ENTRY requests at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
 </tbody>
 </table>
 <h3><a class="anchor" aria-hidden="true" id="journal-metrics"></a><a href="#journal-metrics" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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  [...]
@@ -145,8 +145,8 @@
 <tr><td>bookie_journal_JOURNAL_QUEUE_SIZE</td><td>Gauge</td><td>The total number of requests pending in the journal queue.</td></tr>
 <tr><td>bookie_journal_JOURNAL_FORCE_WRITE_QUEUE_SIZE</td><td>Gauge</td><td>The total number of force write (fsync) requests pending in the force-write queue.</td></tr>
 <tr><td>bookie_journal_JOURNAL_CB_QUEUE_SIZE</td><td>Gauge</td><td>The total number of callbacks pending in the callback queue.</td></tr>
-<tr><td>bookie_journal_JOURNAL_ADD_ENTRY</td><td>Histogram</td><td>The histogram of request latency of adding entries to the journal.</td></tr>
-<tr><td>bookie_journal_JOURNAL_SYNC</td><td>Histogram</td><td>The histogram of fsync latency of syncing data to the journal disk.</td></tr>
+<tr><td>bookie_journal_JOURNAL_ADD_ENTRY</td><td>Summary</td><td>The summary of request latency of adding entries to the journal.</td></tr>
+<tr><td>bookie_journal_JOURNAL_SYNC</td><td>Summary</td><td>The summary of fsync latency of syncing data to the journal disk.</td></tr>
 </tbody>
 </table>
 <h3><a class="anchor" aria-hidden="true" id="storage-metrics"></a><a href="#storage-metrics" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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  [...]
diff --git a/content/docs/ko/2.4.2/reference-metrics/index.html b/content/docs/ko/2.4.2/reference-metrics/index.html
index f2fc881..e5fadd2 100644
--- a/content/docs/ko/2.4.2/reference-metrics/index.html
+++ b/content/docs/ko/2.4.2/reference-metrics/index.html
@@ -131,8 +131,8 @@
 <tr><td>bookkeeper_server_READ_ENTRY_count</td><td>Counter</td><td>The total number of READ_ENTRY requests received at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
 <tr><td>bookie_WRITE_BYTES</td><td>Counter</td><td>The total number of bytes written to the bookie.</td></tr>
 <tr><td>bookie_READ_BYTES</td><td>Counter</td><td>The total number of bytes read from the bookie.</td></tr>
-<tr><td>bookkeeper_server_ADD_ENTRY_REQUEST</td><td>Histogram</td><td>The histogram of request latency of ADD_ENTRY requests at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
-<tr><td>bookkeeper_server_READ_ENTRY_REQUEST</td><td>Histogram</td><td>The histogram of request latency of READ_ENTRY requests at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
+<tr><td>bookkeeper_server_ADD_ENTRY_REQUEST</td><td>Summary</td><td>The summary of request latency of ADD_ENTRY requests at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
+<tr><td>bookkeeper_server_READ_ENTRY_REQUEST</td><td>Summary</td><td>The summary of request latency of READ_ENTRY requests at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
 </tbody>
 </table>
 <h3><a class="anchor" aria-hidden="true" id="journal-metrics"></a><a href="#journal-metrics" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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  [...]
@@ -145,8 +145,8 @@
 <tr><td>bookie_journal_JOURNAL_QUEUE_SIZE</td><td>Gauge</td><td>The total number of requests pending in the journal queue.</td></tr>
 <tr><td>bookie_journal_JOURNAL_FORCE_WRITE_QUEUE_SIZE</td><td>Gauge</td><td>The total number of force write (fsync) requests pending in the force-write queue.</td></tr>
 <tr><td>bookie_journal_JOURNAL_CB_QUEUE_SIZE</td><td>Gauge</td><td>The total number of callbacks pending in the callback queue.</td></tr>
-<tr><td>bookie_journal_JOURNAL_ADD_ENTRY</td><td>Histogram</td><td>The histogram of request latency of adding entries to the journal.</td></tr>
-<tr><td>bookie_journal_JOURNAL_SYNC</td><td>Histogram</td><td>The histogram of fsync latency of syncing data to the journal disk.</td></tr>
+<tr><td>bookie_journal_JOURNAL_ADD_ENTRY</td><td>Summary</td><td>The summary of request latency of adding entries to the journal.</td></tr>
+<tr><td>bookie_journal_JOURNAL_SYNC</td><td>Summary</td><td>The summary of fsync latency of syncing data to the journal disk.</td></tr>
 </tbody>
 </table>
 <h3><a class="anchor" aria-hidden="true" id="storage-metrics"></a><a href="#storage-metrics" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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  [...]
diff --git a/content/docs/ko/2.5.0/client-libraries-java.html b/content/docs/ko/2.5.0/client-libraries-java.html
index 5fc73b4..9e9e728 100644
--- a/content/docs/ko/2.5.0/client-libraries-java.html
+++ b/content/docs/ko/2.5.0/client-libraries-java.html
@@ -241,7 +241,7 @@ stringProducer.send(<span class="hljs-string">"My message"</span>);
 <h3><a class="anchor" aria-hidden="true" id="configure-consumer"></a><a href="#configure-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- [...]
 <p>If you instantiate a <code>Consumer</code> object by specifying only a topic and subscription name as in the example above, the consumer uses the default configuration.</p>
 <p>When you create a consumer, you can use the <code>loadConf</code> configuration. The following parameters are available in <code>loadConf</code>.</p>
-<p>Type | Name| <div style="width:300px">Description</div>|  Default |---|---|---|--- Set&lt;String&gt;|  <code>topicNames</code>|   Topic name| Sets.newTreeSet() Pattern|   <code>topicsPattern</code>| Topic pattern   |None String| <code>subscriptionName</code>| Subscription name|  None SubscriptionType| <code>subscriptionType</code>|   Subscription type <br/><br/>Three subscription types are available:<li>Exclusive</li><li>Failover</li><li>Shared</li>|SubscriptionType.Exclusive int | <c [...]
+<p>Type | Name| <div style="width:300px">Description</div>|  Default |---|---|---|--- Set&lt;String&gt;|  <code>topicNames</code>|   Topic name| Sets.newTreeSet() Pattern|   <code>topicsPattern</code>| Topic pattern   |None String| <code>subscriptionName</code>| Subscription name|  None SubscriptionType| <code>subscriptionType</code>|   Subscription type <br/><br/>Four subscription types are available:<li>Exclusive</li><li>Failover</li><li>Shared</li><li>키 공유 모드</li>|SubscriptionType.Exc [...]
 SortedMap&lt;String, String&gt;|<code>properties</code>|A name or value property of this consumer.<br/><br/><code>properties</code> is application defined metadata attached to a consumer. <br/><br/>When getting a topic stats, associate this metadata with the consumer stats for easier identification.|new TreeMap&lt;&gt;() boolean|<code>readCompacted</code>|If enabling <code>readCompacted</code>, a consumer reads messages from a compacted topic rather than reading a full message backlog of [...]
 <p>You can configure parameters if you do not want to use the default configuration. For a full list, see the Javadoc for the <a href="https://pulsar.incubator.apache.org/api/client/2.7.0-SNAPSHOT/org/apache/pulsar/client/api/ConsumerBuilder">ConsumerBuilder</a>
  class.</p>
diff --git a/content/docs/ko/2.5.0/client-libraries-java/index.html b/content/docs/ko/2.5.0/client-libraries-java/index.html
index 5fc73b4..9e9e728 100644
--- a/content/docs/ko/2.5.0/client-libraries-java/index.html
+++ b/content/docs/ko/2.5.0/client-libraries-java/index.html
@@ -241,7 +241,7 @@ stringProducer.send(<span class="hljs-string">"My message"</span>);
 <h3><a class="anchor" aria-hidden="true" id="configure-consumer"></a><a href="#configure-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- [...]
 <p>If you instantiate a <code>Consumer</code> object by specifying only a topic and subscription name as in the example above, the consumer uses the default configuration.</p>
 <p>When you create a consumer, you can use the <code>loadConf</code> configuration. The following parameters are available in <code>loadConf</code>.</p>
-<p>Type | Name| <div style="width:300px">Description</div>|  Default |---|---|---|--- Set&lt;String&gt;|  <code>topicNames</code>|   Topic name| Sets.newTreeSet() Pattern|   <code>topicsPattern</code>| Topic pattern   |None String| <code>subscriptionName</code>| Subscription name|  None SubscriptionType| <code>subscriptionType</code>|   Subscription type <br/><br/>Three subscription types are available:<li>Exclusive</li><li>Failover</li><li>Shared</li>|SubscriptionType.Exclusive int | <c [...]
+<p>Type | Name| <div style="width:300px">Description</div>|  Default |---|---|---|--- Set&lt;String&gt;|  <code>topicNames</code>|   Topic name| Sets.newTreeSet() Pattern|   <code>topicsPattern</code>| Topic pattern   |None String| <code>subscriptionName</code>| Subscription name|  None SubscriptionType| <code>subscriptionType</code>|   Subscription type <br/><br/>Four subscription types are available:<li>Exclusive</li><li>Failover</li><li>Shared</li><li>키 공유 모드</li>|SubscriptionType.Exc [...]
 SortedMap&lt;String, String&gt;|<code>properties</code>|A name or value property of this consumer.<br/><br/><code>properties</code> is application defined metadata attached to a consumer. <br/><br/>When getting a topic stats, associate this metadata with the consumer stats for easier identification.|new TreeMap&lt;&gt;() boolean|<code>readCompacted</code>|If enabling <code>readCompacted</code>, a consumer reads messages from a compacted topic rather than reading a full message backlog of [...]
 <p>You can configure parameters if you do not want to use the default configuration. For a full list, see the Javadoc for the <a href="https://pulsar.incubator.apache.org/api/client/2.7.0-SNAPSHOT/org/apache/pulsar/client/api/ConsumerBuilder">ConsumerBuilder</a>
  class.</p>
diff --git a/content/docs/ko/2.5.0/client-libraries-node.html b/content/docs/ko/2.5.0/client-libraries-node.html
index f097cdd..7e694c4 100644
--- a/content/docs/ko/2.5.0/client-libraries-node.html
+++ b/content/docs/ko/2.5.0/client-libraries-node.html
@@ -263,7 +263,7 @@ consumer.acknowledge(msg);
 <tbody>
 <tr><td style="text-align:left"><code>토픽</code></td><td style="text-align:left">The Pulsar <a href="/docs/ko/2.5.0/reference-terminology#topic">topic</a> on which the consumer will establish a subscription and listen for messages.</td><td style="text-align:left"></td></tr>
 <tr><td style="text-align:left"><code>subscription</code></td><td style="text-align:left">The subscription name for this consumer.</td><td style="text-align:left"></td></tr>
-<tr><td style="text-align:left"><code>subscriptionType</code></td><td style="text-align:left">Available options are <code>Exclusive</code>, <code>Shared</code>, and <code>Failover</code>.</td><td style="text-align:left"><code>Exclusive</code></td></tr>
+<tr><td style="text-align:left"><code>subscriptionType</code></td><td style="text-align:left">Available options are <code>Exclusive</code>, <code>Shared</code>, <code>Key_Shared</code>, and <code>Failover</code>.</td><td style="text-align:left"><code>Exclusive</code></td></tr>
 <tr><td style="text-align:left"><code>ackTimeoutMs</code></td><td style="text-align:left">Acknowledge timeout in milliseconds.</td><td style="text-align:left">0</td></tr>
 <tr><td style="text-align:left"><code>receiverQueueSize</code></td><td style="text-align:left">Sets the size of the consumer's receiver queue, i.e. the number of messages that can be accumulated by the consumer before the application calls <code>receive</code>. A value higher than the default of 1000 could increase consumer throughput, though at the expense of more memory utilization.</td><td style="text-align:left">1000</td></tr>
 <tr><td style="text-align:left"><code>receiverQueueSizeAcrossPartitions</code></td><td style="text-align:left">Set the max total receiver queue size across partitions. This setting will be used to reduce the receiver queue size for individual partitions if the total exceeds this value.</td><td style="text-align:left">50000</td></tr>
diff --git a/content/docs/ko/2.5.0/client-libraries-node/index.html b/content/docs/ko/2.5.0/client-libraries-node/index.html
index f097cdd..7e694c4 100644
--- a/content/docs/ko/2.5.0/client-libraries-node/index.html
+++ b/content/docs/ko/2.5.0/client-libraries-node/index.html
@@ -263,7 +263,7 @@ consumer.acknowledge(msg);
 <tbody>
 <tr><td style="text-align:left"><code>토픽</code></td><td style="text-align:left">The Pulsar <a href="/docs/ko/2.5.0/reference-terminology#topic">topic</a> on which the consumer will establish a subscription and listen for messages.</td><td style="text-align:left"></td></tr>
 <tr><td style="text-align:left"><code>subscription</code></td><td style="text-align:left">The subscription name for this consumer.</td><td style="text-align:left"></td></tr>
-<tr><td style="text-align:left"><code>subscriptionType</code></td><td style="text-align:left">Available options are <code>Exclusive</code>, <code>Shared</code>, and <code>Failover</code>.</td><td style="text-align:left"><code>Exclusive</code></td></tr>
+<tr><td style="text-align:left"><code>subscriptionType</code></td><td style="text-align:left">Available options are <code>Exclusive</code>, <code>Shared</code>, <code>Key_Shared</code>, and <code>Failover</code>.</td><td style="text-align:left"><code>Exclusive</code></td></tr>
 <tr><td style="text-align:left"><code>ackTimeoutMs</code></td><td style="text-align:left">Acknowledge timeout in milliseconds.</td><td style="text-align:left">0</td></tr>
 <tr><td style="text-align:left"><code>receiverQueueSize</code></td><td style="text-align:left">Sets the size of the consumer's receiver queue, i.e. the number of messages that can be accumulated by the consumer before the application calls <code>receive</code>. A value higher than the default of 1000 could increase consumer throughput, though at the expense of more memory utilization.</td><td style="text-align:left">1000</td></tr>
 <tr><td style="text-align:left"><code>receiverQueueSizeAcrossPartitions</code></td><td style="text-align:left">Set the max total receiver queue size across partitions. This setting will be used to reduce the receiver queue size for individual partitions if the total exceeds this value.</td><td style="text-align:left">50000</td></tr>
diff --git a/content/docs/ko/2.5.0/reference-metrics.html b/content/docs/ko/2.5.0/reference-metrics.html
index eb63668..810956d 100644
--- a/content/docs/ko/2.5.0/reference-metrics.html
+++ b/content/docs/ko/2.5.0/reference-metrics.html
@@ -131,8 +131,8 @@
 <tr><td>bookkeeper_server_READ_ENTRY_count</td><td>Counter</td><td>The total number of READ_ENTRY requests received at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
 <tr><td>bookie_WRITE_BYTES</td><td>Counter</td><td>The total number of bytes written to the bookie.</td></tr>
 <tr><td>bookie_READ_BYTES</td><td>Counter</td><td>The total number of bytes read from the bookie.</td></tr>
-<tr><td>bookkeeper_server_ADD_ENTRY_REQUEST</td><td>Histogram</td><td>The histogram of request latency of ADD_ENTRY requests at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
-<tr><td>bookkeeper_server_READ_ENTRY_REQUEST</td><td>Histogram</td><td>The histogram of request latency of READ_ENTRY requests at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
+<tr><td>bookkeeper_server_ADD_ENTRY_REQUEST</td><td>Summary</td><td>The summary of request latency of ADD_ENTRY requests at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
+<tr><td>bookkeeper_server_READ_ENTRY_REQUEST</td><td>Summary</td><td>The summary of request latency of READ_ENTRY requests at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
 </tbody>
 </table>
 <h3><a class="anchor" aria-hidden="true" id="journal-metrics"></a><a href="#journal-metrics" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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  [...]
@@ -145,8 +145,8 @@
 <tr><td>bookie_journal_JOURNAL_QUEUE_SIZE</td><td>Gauge</td><td>The total number of requests pending in the journal queue.</td></tr>
 <tr><td>bookie_journal_JOURNAL_FORCE_WRITE_QUEUE_SIZE</td><td>Gauge</td><td>The total number of force write (fsync) requests pending in the force-write queue.</td></tr>
 <tr><td>bookie_journal_JOURNAL_CB_QUEUE_SIZE</td><td>Gauge</td><td>The total number of callbacks pending in the callback queue.</td></tr>
-<tr><td>bookie_journal_JOURNAL_ADD_ENTRY</td><td>Histogram</td><td>The histogram of request latency of adding entries to the journal.</td></tr>
-<tr><td>bookie_journal_JOURNAL_SYNC</td><td>Histogram</td><td>The histogram of fsync latency of syncing data to the journal disk.</td></tr>
+<tr><td>bookie_journal_JOURNAL_ADD_ENTRY</td><td>Summary</td><td>The summary of request latency of adding entries to the journal.</td></tr>
+<tr><td>bookie_journal_JOURNAL_SYNC</td><td>Summary</td><td>The summary of fsync latency of syncing data to the journal disk.</td></tr>
 </tbody>
 </table>
 <h3><a class="anchor" aria-hidden="true" id="storage-metrics"></a><a href="#storage-metrics" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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  [...]
diff --git a/content/docs/ko/2.5.0/reference-metrics/index.html b/content/docs/ko/2.5.0/reference-metrics/index.html
index eb63668..810956d 100644
--- a/content/docs/ko/2.5.0/reference-metrics/index.html
+++ b/content/docs/ko/2.5.0/reference-metrics/index.html
@@ -131,8 +131,8 @@
 <tr><td>bookkeeper_server_READ_ENTRY_count</td><td>Counter</td><td>The total number of READ_ENTRY requests received at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
 <tr><td>bookie_WRITE_BYTES</td><td>Counter</td><td>The total number of bytes written to the bookie.</td></tr>
 <tr><td>bookie_READ_BYTES</td><td>Counter</td><td>The total number of bytes read from the bookie.</td></tr>
-<tr><td>bookkeeper_server_ADD_ENTRY_REQUEST</td><td>Histogram</td><td>The histogram of request latency of ADD_ENTRY requests at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
-<tr><td>bookkeeper_server_READ_ENTRY_REQUEST</td><td>Histogram</td><td>The histogram of request latency of READ_ENTRY requests at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
+<tr><td>bookkeeper_server_ADD_ENTRY_REQUEST</td><td>Summary</td><td>The summary of request latency of ADD_ENTRY requests at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
+<tr><td>bookkeeper_server_READ_ENTRY_REQUEST</td><td>Summary</td><td>The summary of request latency of READ_ENTRY requests at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
 </tbody>
 </table>
 <h3><a class="anchor" aria-hidden="true" id="journal-metrics"></a><a href="#journal-metrics" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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  [...]
@@ -145,8 +145,8 @@
 <tr><td>bookie_journal_JOURNAL_QUEUE_SIZE</td><td>Gauge</td><td>The total number of requests pending in the journal queue.</td></tr>
 <tr><td>bookie_journal_JOURNAL_FORCE_WRITE_QUEUE_SIZE</td><td>Gauge</td><td>The total number of force write (fsync) requests pending in the force-write queue.</td></tr>
 <tr><td>bookie_journal_JOURNAL_CB_QUEUE_SIZE</td><td>Gauge</td><td>The total number of callbacks pending in the callback queue.</td></tr>
-<tr><td>bookie_journal_JOURNAL_ADD_ENTRY</td><td>Histogram</td><td>The histogram of request latency of adding entries to the journal.</td></tr>
-<tr><td>bookie_journal_JOURNAL_SYNC</td><td>Histogram</td><td>The histogram of fsync latency of syncing data to the journal disk.</td></tr>
+<tr><td>bookie_journal_JOURNAL_ADD_ENTRY</td><td>Summary</td><td>The summary of request latency of adding entries to the journal.</td></tr>
+<tr><td>bookie_journal_JOURNAL_SYNC</td><td>Summary</td><td>The summary of fsync latency of syncing data to the journal disk.</td></tr>
 </tbody>
 </table>
 <h3><a class="anchor" aria-hidden="true" id="storage-metrics"></a><a href="#storage-metrics" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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  [...]
diff --git a/content/docs/ko/2.5.1/client-libraries-java.html b/content/docs/ko/2.5.1/client-libraries-java.html
index f97d26c..302b2c2 100644
--- a/content/docs/ko/2.5.1/client-libraries-java.html
+++ b/content/docs/ko/2.5.1/client-libraries-java.html
@@ -242,7 +242,7 @@ stringProducer.send(<span class="hljs-string">"My message"</span>);
 <h3><a class="anchor" aria-hidden="true" id="configure-consumer"></a><a href="#configure-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- [...]
 <p>If you instantiate a <code>Consumer</code> object by specifying only a topic and subscription name as in the example above, the consumer uses the default configuration.</p>
 <p>When you create a consumer, you can use the <code>loadConf</code> configuration. The following parameters are available in <code>loadConf</code>.</p>
-<p>Type | Name| <div style="width:300px">Description</div>|  Default |---|---|---|--- Set&lt;String&gt;|  <code>topicNames</code>|   Topic name| Sets.newTreeSet() Pattern|   <code>topicsPattern</code>| Topic pattern   |None String| <code>subscriptionName</code>| Subscription name|  None SubscriptionType| <code>subscriptionType</code>|   Subscription type <br/><br/>Three subscription types are available:<li>Exclusive</li><li>Failover</li><li>Shared</li>|SubscriptionType.Exclusive int | <c [...]
+<p>Type | Name| <div style="width:300px">Description</div>|  Default |---|---|---|--- Set&lt;String&gt;|  <code>topicNames</code>|   Topic name| Sets.newTreeSet() Pattern|   <code>topicsPattern</code>| Topic pattern   |None String| <code>subscriptionName</code>| Subscription name|  None SubscriptionType| <code>subscriptionType</code>|   Subscription type <br/><br/>Four subscription types are available:<li>Exclusive</li><li>Failover</li><li>Shared</li><li>키 공유 모드</li>|SubscriptionType.Exc [...]
 SortedMap&lt;String, String&gt;|<code>properties</code>|A name or value property of this consumer.<br/><br/><code>properties</code> is application defined metadata attached to a consumer. <br/><br/>When getting a topic stats, associate this metadata with the consumer stats for easier identification.|new TreeMap&lt;&gt;() boolean|<code>readCompacted</code>|If enabling <code>readCompacted</code>, a consumer reads messages from a compacted topic rather than reading a full message backlog of [...]
 <p>You can configure parameters if you do not want to use the default configuration. For a full list, see the Javadoc for the <a href="https://pulsar.incubator.apache.org/api/client/2.7.0-SNAPSHOT/org/apache/pulsar/client/api/ConsumerBuilder">ConsumerBuilder</a>
  class.</p>
diff --git a/content/docs/ko/2.5.1/client-libraries-java/index.html b/content/docs/ko/2.5.1/client-libraries-java/index.html
index f97d26c..302b2c2 100644
--- a/content/docs/ko/2.5.1/client-libraries-java/index.html
+++ b/content/docs/ko/2.5.1/client-libraries-java/index.html
@@ -242,7 +242,7 @@ stringProducer.send(<span class="hljs-string">"My message"</span>);
 <h3><a class="anchor" aria-hidden="true" id="configure-consumer"></a><a href="#configure-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- [...]
 <p>If you instantiate a <code>Consumer</code> object by specifying only a topic and subscription name as in the example above, the consumer uses the default configuration.</p>
 <p>When you create a consumer, you can use the <code>loadConf</code> configuration. The following parameters are available in <code>loadConf</code>.</p>
-<p>Type | Name| <div style="width:300px">Description</div>|  Default |---|---|---|--- Set&lt;String&gt;|  <code>topicNames</code>|   Topic name| Sets.newTreeSet() Pattern|   <code>topicsPattern</code>| Topic pattern   |None String| <code>subscriptionName</code>| Subscription name|  None SubscriptionType| <code>subscriptionType</code>|   Subscription type <br/><br/>Three subscription types are available:<li>Exclusive</li><li>Failover</li><li>Shared</li>|SubscriptionType.Exclusive int | <c [...]
+<p>Type | Name| <div style="width:300px">Description</div>|  Default |---|---|---|--- Set&lt;String&gt;|  <code>topicNames</code>|   Topic name| Sets.newTreeSet() Pattern|   <code>topicsPattern</code>| Topic pattern   |None String| <code>subscriptionName</code>| Subscription name|  None SubscriptionType| <code>subscriptionType</code>|   Subscription type <br/><br/>Four subscription types are available:<li>Exclusive</li><li>Failover</li><li>Shared</li><li>키 공유 모드</li>|SubscriptionType.Exc [...]
 SortedMap&lt;String, String&gt;|<code>properties</code>|A name or value property of this consumer.<br/><br/><code>properties</code> is application defined metadata attached to a consumer. <br/><br/>When getting a topic stats, associate this metadata with the consumer stats for easier identification.|new TreeMap&lt;&gt;() boolean|<code>readCompacted</code>|If enabling <code>readCompacted</code>, a consumer reads messages from a compacted topic rather than reading a full message backlog of [...]
 <p>You can configure parameters if you do not want to use the default configuration. For a full list, see the Javadoc for the <a href="https://pulsar.incubator.apache.org/api/client/2.7.0-SNAPSHOT/org/apache/pulsar/client/api/ConsumerBuilder">ConsumerBuilder</a>
  class.</p>
diff --git a/content/docs/ko/2.5.1/client-libraries-node.html b/content/docs/ko/2.5.1/client-libraries-node.html
index cf9bd35..41699bc 100644
--- a/content/docs/ko/2.5.1/client-libraries-node.html
+++ b/content/docs/ko/2.5.1/client-libraries-node.html
@@ -266,7 +266,7 @@ In this example, using await operator instead of executor function.</p>
 <tbody>
 <tr><td style="text-align:left"><code>토픽</code></td><td style="text-align:left">The Pulsar <a href="/docs/ko/2.5.1/reference-terminology#topic">topic</a> on which the consumer will establish a subscription and listen for messages.</td><td style="text-align:left"></td></tr>
 <tr><td style="text-align:left"><code>subscription</code></td><td style="text-align:left">The subscription name for this consumer.</td><td style="text-align:left"></td></tr>
-<tr><td style="text-align:left"><code>subscriptionType</code></td><td style="text-align:left">Available options are <code>Exclusive</code>, <code>Shared</code>, and <code>Failover</code>.</td><td style="text-align:left"><code>Exclusive</code></td></tr>
+<tr><td style="text-align:left"><code>subscriptionType</code></td><td style="text-align:left">Available options are <code>Exclusive</code>, <code>Shared</code>, <code>Key_Shared</code>, and <code>Failover</code>.</td><td style="text-align:left"><code>Exclusive</code></td></tr>
 <tr><td style="text-align:left"><code>ackTimeoutMs</code></td><td style="text-align:left">Acknowledge timeout in milliseconds.</td><td style="text-align:left">0</td></tr>
 <tr><td style="text-align:left"><code>receiverQueueSize</code></td><td style="text-align:left">Sets the size of the consumer's receiver queue, i.e. the number of messages that can be accumulated by the consumer before the application calls <code>receive</code>. A value higher than the default of 1000 could increase consumer throughput, though at the expense of more memory utilization.</td><td style="text-align:left">1000</td></tr>
 <tr><td style="text-align:left"><code>receiverQueueSizeAcrossPartitions</code></td><td style="text-align:left">Set the max total receiver queue size across partitions. This setting will be used to reduce the receiver queue size for individual partitions if the total exceeds this value.</td><td style="text-align:left">50000</td></tr>
diff --git a/content/docs/ko/2.5.1/client-libraries-node/index.html b/content/docs/ko/2.5.1/client-libraries-node/index.html
index cf9bd35..41699bc 100644
--- a/content/docs/ko/2.5.1/client-libraries-node/index.html
+++ b/content/docs/ko/2.5.1/client-libraries-node/index.html
@@ -266,7 +266,7 @@ In this example, using await operator instead of executor function.</p>
 <tbody>
 <tr><td style="text-align:left"><code>토픽</code></td><td style="text-align:left">The Pulsar <a href="/docs/ko/2.5.1/reference-terminology#topic">topic</a> on which the consumer will establish a subscription and listen for messages.</td><td style="text-align:left"></td></tr>
 <tr><td style="text-align:left"><code>subscription</code></td><td style="text-align:left">The subscription name for this consumer.</td><td style="text-align:left"></td></tr>
-<tr><td style="text-align:left"><code>subscriptionType</code></td><td style="text-align:left">Available options are <code>Exclusive</code>, <code>Shared</code>, and <code>Failover</code>.</td><td style="text-align:left"><code>Exclusive</code></td></tr>
+<tr><td style="text-align:left"><code>subscriptionType</code></td><td style="text-align:left">Available options are <code>Exclusive</code>, <code>Shared</code>, <code>Key_Shared</code>, and <code>Failover</code>.</td><td style="text-align:left"><code>Exclusive</code></td></tr>
 <tr><td style="text-align:left"><code>ackTimeoutMs</code></td><td style="text-align:left">Acknowledge timeout in milliseconds.</td><td style="text-align:left">0</td></tr>
 <tr><td style="text-align:left"><code>receiverQueueSize</code></td><td style="text-align:left">Sets the size of the consumer's receiver queue, i.e. the number of messages that can be accumulated by the consumer before the application calls <code>receive</code>. A value higher than the default of 1000 could increase consumer throughput, though at the expense of more memory utilization.</td><td style="text-align:left">1000</td></tr>
 <tr><td style="text-align:left"><code>receiverQueueSizeAcrossPartitions</code></td><td style="text-align:left">Set the max total receiver queue size across partitions. This setting will be used to reduce the receiver queue size for individual partitions if the total exceeds this value.</td><td style="text-align:left">50000</td></tr>
diff --git a/content/docs/ko/2.5.1/reference-metrics.html b/content/docs/ko/2.5.1/reference-metrics.html
index 463e522..b913e7e 100644
--- a/content/docs/ko/2.5.1/reference-metrics.html
+++ b/content/docs/ko/2.5.1/reference-metrics.html
@@ -131,8 +131,8 @@
 <tr><td>bookkeeper_server_READ_ENTRY_count</td><td>Counter</td><td>The total number of READ_ENTRY requests received at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
 <tr><td>bookie_WRITE_BYTES</td><td>Counter</td><td>The total number of bytes written to the bookie.</td></tr>
 <tr><td>bookie_READ_BYTES</td><td>Counter</td><td>The total number of bytes read from the bookie.</td></tr>
-<tr><td>bookkeeper_server_ADD_ENTRY_REQUEST</td><td>Histogram</td><td>The histogram of request latency of ADD_ENTRY requests at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
-<tr><td>bookkeeper_server_READ_ENTRY_REQUEST</td><td>Histogram</td><td>The histogram of request latency of READ_ENTRY requests at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
+<tr><td>bookkeeper_server_ADD_ENTRY_REQUEST</td><td>Summary</td><td>The summary of request latency of ADD_ENTRY requests at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
+<tr><td>bookkeeper_server_READ_ENTRY_REQUEST</td><td>Summary</td><td>The summary of request latency of READ_ENTRY requests at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
 </tbody>
 </table>
 <h3><a class="anchor" aria-hidden="true" id="journal-metrics"></a><a href="#journal-metrics" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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  [...]
@@ -145,8 +145,8 @@
 <tr><td>bookie_journal_JOURNAL_QUEUE_SIZE</td><td>Gauge</td><td>The total number of requests pending in the journal queue.</td></tr>
 <tr><td>bookie_journal_JOURNAL_FORCE_WRITE_QUEUE_SIZE</td><td>Gauge</td><td>The total number of force write (fsync) requests pending in the force-write queue.</td></tr>
 <tr><td>bookie_journal_JOURNAL_CB_QUEUE_SIZE</td><td>Gauge</td><td>The total number of callbacks pending in the callback queue.</td></tr>
-<tr><td>bookie_journal_JOURNAL_ADD_ENTRY</td><td>Histogram</td><td>The histogram of request latency of adding entries to the journal.</td></tr>
-<tr><td>bookie_journal_JOURNAL_SYNC</td><td>Histogram</td><td>The histogram of fsync latency of syncing data to the journal disk.</td></tr>
+<tr><td>bookie_journal_JOURNAL_ADD_ENTRY</td><td>Summary</td><td>The summary of request latency of adding entries to the journal.</td></tr>
+<tr><td>bookie_journal_JOURNAL_SYNC</td><td>Summary</td><td>The summary of fsync latency of syncing data to the journal disk.</td></tr>
 </tbody>
 </table>
 <h3><a class="anchor" aria-hidden="true" id="storage-metrics"></a><a href="#storage-metrics" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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  [...]
diff --git a/content/docs/ko/2.5.1/reference-metrics/index.html b/content/docs/ko/2.5.1/reference-metrics/index.html
index 463e522..b913e7e 100644
--- a/content/docs/ko/2.5.1/reference-metrics/index.html
+++ b/content/docs/ko/2.5.1/reference-metrics/index.html
@@ -131,8 +131,8 @@
 <tr><td>bookkeeper_server_READ_ENTRY_count</td><td>Counter</td><td>The total number of READ_ENTRY requests received at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
 <tr><td>bookie_WRITE_BYTES</td><td>Counter</td><td>The total number of bytes written to the bookie.</td></tr>
 <tr><td>bookie_READ_BYTES</td><td>Counter</td><td>The total number of bytes read from the bookie.</td></tr>
-<tr><td>bookkeeper_server_ADD_ENTRY_REQUEST</td><td>Histogram</td><td>The histogram of request latency of ADD_ENTRY requests at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
-<tr><td>bookkeeper_server_READ_ENTRY_REQUEST</td><td>Histogram</td><td>The histogram of request latency of READ_ENTRY requests at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
+<tr><td>bookkeeper_server_ADD_ENTRY_REQUEST</td><td>Summary</td><td>The summary of request latency of ADD_ENTRY requests at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
+<tr><td>bookkeeper_server_READ_ENTRY_REQUEST</td><td>Summary</td><td>The summary of request latency of READ_ENTRY requests at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
 </tbody>
 </table>
 <h3><a class="anchor" aria-hidden="true" id="journal-metrics"></a><a href="#journal-metrics" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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  [...]
@@ -145,8 +145,8 @@
 <tr><td>bookie_journal_JOURNAL_QUEUE_SIZE</td><td>Gauge</td><td>The total number of requests pending in the journal queue.</td></tr>
 <tr><td>bookie_journal_JOURNAL_FORCE_WRITE_QUEUE_SIZE</td><td>Gauge</td><td>The total number of force write (fsync) requests pending in the force-write queue.</td></tr>
 <tr><td>bookie_journal_JOURNAL_CB_QUEUE_SIZE</td><td>Gauge</td><td>The total number of callbacks pending in the callback queue.</td></tr>
-<tr><td>bookie_journal_JOURNAL_ADD_ENTRY</td><td>Histogram</td><td>The histogram of request latency of adding entries to the journal.</td></tr>
-<tr><td>bookie_journal_JOURNAL_SYNC</td><td>Histogram</td><td>The histogram of fsync latency of syncing data to the journal disk.</td></tr>
+<tr><td>bookie_journal_JOURNAL_ADD_ENTRY</td><td>Summary</td><td>The summary of request latency of adding entries to the journal.</td></tr>
+<tr><td>bookie_journal_JOURNAL_SYNC</td><td>Summary</td><td>The summary of fsync latency of syncing data to the journal disk.</td></tr>
 </tbody>
 </table>
 <h3><a class="anchor" aria-hidden="true" id="storage-metrics"></a><a href="#storage-metrics" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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  [...]
diff --git a/content/docs/ko/2.5.2/client-libraries-java.html b/content/docs/ko/2.5.2/client-libraries-java.html
index 0951549..8cdf2b4 100644
--- a/content/docs/ko/2.5.2/client-libraries-java.html
+++ b/content/docs/ko/2.5.2/client-libraries-java.html
@@ -256,7 +256,7 @@ producer.closeAsync()
 <h3><a class="anchor" aria-hidden="true" id="configure-consumer"></a><a href="#configure-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- [...]
 <p>If you instantiate a <code>Consumer</code> object by specifying only a topic and subscription name as in the example above, the consumer uses the default configuration.</p>
 <p>When you create a consumer, you can use the <code>loadConf</code> configuration. The following parameters are available in <code>loadConf</code>.</p>
-<p>Type | Name| <div style="width:300px">Description</div>|  Default |---|---|---|--- Set&lt;String&gt;|  <code>topicNames</code>|   Topic name| Sets.newTreeSet() Pattern|   <code>topicsPattern</code>| Topic pattern   |None String| <code>subscriptionName</code>| Subscription name|  None SubscriptionType| <code>subscriptionType</code>|   Subscription type <br/><br/>Three subscription types are available:<li>Exclusive</li><li>Failover</li><li>Shared</li>|SubscriptionType.Exclusive int | <c [...]
+<p>Type | Name| <div style="width:300px">Description</div>|  Default |---|---|---|--- Set&lt;String&gt;|  <code>topicNames</code>|   Topic name| Sets.newTreeSet() Pattern|   <code>topicsPattern</code>| Topic pattern   |None String| <code>subscriptionName</code>| Subscription name|  None SubscriptionType| <code>subscriptionType</code>|   Subscription type <br/><br/>Four subscription types are available:<li>Exclusive</li><li>Failover</li><li>Shared</li><li>키 공유 모드</li>|SubscriptionType.Exc [...]
 SortedMap&lt;String, String&gt;|<code>properties</code>|A name or value property of this consumer.<br/><br/><code>properties</code> is application defined metadata attached to a consumer. <br/><br/>When getting a topic stats, associate this metadata with the consumer stats for easier identification.|new TreeMap&lt;&gt;() boolean|<code>readCompacted</code>|If enabling <code>readCompacted</code>, a consumer reads messages from a compacted topic rather than reading a full message backlog of [...]
 <p>You can configure parameters if you do not want to use the default configuration. For a full list, see the Javadoc for the <a href="https://pulsar.incubator.apache.org/api/client/2.7.0-SNAPSHOT/org/apache/pulsar/client/api/ConsumerBuilder">ConsumerBuilder</a>
  class.</p>
diff --git a/content/docs/ko/2.5.2/client-libraries-java/index.html b/content/docs/ko/2.5.2/client-libraries-java/index.html
index 0951549..8cdf2b4 100644
--- a/content/docs/ko/2.5.2/client-libraries-java/index.html
+++ b/content/docs/ko/2.5.2/client-libraries-java/index.html
@@ -256,7 +256,7 @@ producer.closeAsync()
 <h3><a class="anchor" aria-hidden="true" id="configure-consumer"></a><a href="#configure-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- [...]
 <p>If you instantiate a <code>Consumer</code> object by specifying only a topic and subscription name as in the example above, the consumer uses the default configuration.</p>
 <p>When you create a consumer, you can use the <code>loadConf</code> configuration. The following parameters are available in <code>loadConf</code>.</p>
-<p>Type | Name| <div style="width:300px">Description</div>|  Default |---|---|---|--- Set&lt;String&gt;|  <code>topicNames</code>|   Topic name| Sets.newTreeSet() Pattern|   <code>topicsPattern</code>| Topic pattern   |None String| <code>subscriptionName</code>| Subscription name|  None SubscriptionType| <code>subscriptionType</code>|   Subscription type <br/><br/>Three subscription types are available:<li>Exclusive</li><li>Failover</li><li>Shared</li>|SubscriptionType.Exclusive int | <c [...]
+<p>Type | Name| <div style="width:300px">Description</div>|  Default |---|---|---|--- Set&lt;String&gt;|  <code>topicNames</code>|   Topic name| Sets.newTreeSet() Pattern|   <code>topicsPattern</code>| Topic pattern   |None String| <code>subscriptionName</code>| Subscription name|  None SubscriptionType| <code>subscriptionType</code>|   Subscription type <br/><br/>Four subscription types are available:<li>Exclusive</li><li>Failover</li><li>Shared</li><li>키 공유 모드</li>|SubscriptionType.Exc [...]
 SortedMap&lt;String, String&gt;|<code>properties</code>|A name or value property of this consumer.<br/><br/><code>properties</code> is application defined metadata attached to a consumer. <br/><br/>When getting a topic stats, associate this metadata with the consumer stats for easier identification.|new TreeMap&lt;&gt;() boolean|<code>readCompacted</code>|If enabling <code>readCompacted</code>, a consumer reads messages from a compacted topic rather than reading a full message backlog of [...]
 <p>You can configure parameters if you do not want to use the default configuration. For a full list, see the Javadoc for the <a href="https://pulsar.incubator.apache.org/api/client/2.7.0-SNAPSHOT/org/apache/pulsar/client/api/ConsumerBuilder">ConsumerBuilder</a>
  class.</p>
diff --git a/content/docs/ko/2.5.2/client-libraries-node.html b/content/docs/ko/2.5.2/client-libraries-node.html
index ef7953d..6d7399c 100644
--- a/content/docs/ko/2.5.2/client-libraries-node.html
+++ b/content/docs/ko/2.5.2/client-libraries-node.html
@@ -266,7 +266,7 @@ In this example, using await operator instead of executor function.</p>
 <tbody>
 <tr><td style="text-align:left"><code>토픽</code></td><td style="text-align:left">The Pulsar <a href="/docs/ko/2.5.2/reference-terminology#topic">topic</a> on which the consumer will establish a subscription and listen for messages.</td><td style="text-align:left"></td></tr>
 <tr><td style="text-align:left"><code>subscription</code></td><td style="text-align:left">The subscription name for this consumer.</td><td style="text-align:left"></td></tr>
-<tr><td style="text-align:left"><code>subscriptionType</code></td><td style="text-align:left">Available options are <code>Exclusive</code>, <code>Shared</code>, and <code>Failover</code>.</td><td style="text-align:left"><code>Exclusive</code></td></tr>
+<tr><td style="text-align:left"><code>subscriptionType</code></td><td style="text-align:left">Available options are <code>Exclusive</code>, <code>Shared</code>, <code>Key_Shared</code>, and <code>Failover</code>.</td><td style="text-align:left"><code>Exclusive</code></td></tr>
 <tr><td style="text-align:left"><code>ackTimeoutMs</code></td><td style="text-align:left">Acknowledge timeout in milliseconds.</td><td style="text-align:left">0</td></tr>
 <tr><td style="text-align:left"><code>receiverQueueSize</code></td><td style="text-align:left">Sets the size of the consumer's receiver queue, i.e. the number of messages that can be accumulated by the consumer before the application calls <code>receive</code>. A value higher than the default of 1000 could increase consumer throughput, though at the expense of more memory utilization.</td><td style="text-align:left">1000</td></tr>
 <tr><td style="text-align:left"><code>receiverQueueSizeAcrossPartitions</code></td><td style="text-align:left">Set the max total receiver queue size across partitions. This setting will be used to reduce the receiver queue size for individual partitions if the total exceeds this value.</td><td style="text-align:left">50000</td></tr>
diff --git a/content/docs/ko/2.5.2/client-libraries-node/index.html b/content/docs/ko/2.5.2/client-libraries-node/index.html
index ef7953d..6d7399c 100644
--- a/content/docs/ko/2.5.2/client-libraries-node/index.html
+++ b/content/docs/ko/2.5.2/client-libraries-node/index.html
@@ -266,7 +266,7 @@ In this example, using await operator instead of executor function.</p>
 <tbody>
 <tr><td style="text-align:left"><code>토픽</code></td><td style="text-align:left">The Pulsar <a href="/docs/ko/2.5.2/reference-terminology#topic">topic</a> on which the consumer will establish a subscription and listen for messages.</td><td style="text-align:left"></td></tr>
 <tr><td style="text-align:left"><code>subscription</code></td><td style="text-align:left">The subscription name for this consumer.</td><td style="text-align:left"></td></tr>
-<tr><td style="text-align:left"><code>subscriptionType</code></td><td style="text-align:left">Available options are <code>Exclusive</code>, <code>Shared</code>, and <code>Failover</code>.</td><td style="text-align:left"><code>Exclusive</code></td></tr>
+<tr><td style="text-align:left"><code>subscriptionType</code></td><td style="text-align:left">Available options are <code>Exclusive</code>, <code>Shared</code>, <code>Key_Shared</code>, and <code>Failover</code>.</td><td style="text-align:left"><code>Exclusive</code></td></tr>
 <tr><td style="text-align:left"><code>ackTimeoutMs</code></td><td style="text-align:left">Acknowledge timeout in milliseconds.</td><td style="text-align:left">0</td></tr>
 <tr><td style="text-align:left"><code>receiverQueueSize</code></td><td style="text-align:left">Sets the size of the consumer's receiver queue, i.e. the number of messages that can be accumulated by the consumer before the application calls <code>receive</code>. A value higher than the default of 1000 could increase consumer throughput, though at the expense of more memory utilization.</td><td style="text-align:left">1000</td></tr>
 <tr><td style="text-align:left"><code>receiverQueueSizeAcrossPartitions</code></td><td style="text-align:left">Set the max total receiver queue size across partitions. This setting will be used to reduce the receiver queue size for individual partitions if the total exceeds this value.</td><td style="text-align:left">50000</td></tr>
diff --git a/content/docs/ko/2.5.2/reference-metrics.html b/content/docs/ko/2.5.2/reference-metrics.html
index 1015e71..3736694 100644
--- a/content/docs/ko/2.5.2/reference-metrics.html
+++ b/content/docs/ko/2.5.2/reference-metrics.html
@@ -131,8 +131,8 @@
 <tr><td>bookkeeper_server_READ_ENTRY_count</td><td>Counter</td><td>The total number of READ_ENTRY requests received at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
 <tr><td>bookie_WRITE_BYTES</td><td>Counter</td><td>The total number of bytes written to the bookie.</td></tr>
 <tr><td>bookie_READ_BYTES</td><td>Counter</td><td>The total number of bytes read from the bookie.</td></tr>
-<tr><td>bookkeeper_server_ADD_ENTRY_REQUEST</td><td>Histogram</td><td>The histogram of request latency of ADD_ENTRY requests at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
-<tr><td>bookkeeper_server_READ_ENTRY_REQUEST</td><td>Histogram</td><td>The histogram of request latency of READ_ENTRY requests at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
+<tr><td>bookkeeper_server_ADD_ENTRY_REQUEST</td><td>Summary</td><td>The summary of request latency of ADD_ENTRY requests at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
+<tr><td>bookkeeper_server_READ_ENTRY_REQUEST</td><td>Summary</td><td>The summary of request latency of READ_ENTRY requests at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
 </tbody>
 </table>
 <h3><a class="anchor" aria-hidden="true" id="journal-metrics"></a><a href="#journal-metrics" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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  [...]
@@ -145,8 +145,8 @@
 <tr><td>bookie_journal_JOURNAL_QUEUE_SIZE</td><td>Gauge</td><td>The total number of requests pending in the journal queue.</td></tr>
 <tr><td>bookie_journal_JOURNAL_FORCE_WRITE_QUEUE_SIZE</td><td>Gauge</td><td>The total number of force write (fsync) requests pending in the force-write queue.</td></tr>
 <tr><td>bookie_journal_JOURNAL_CB_QUEUE_SIZE</td><td>Gauge</td><td>The total number of callbacks pending in the callback queue.</td></tr>
-<tr><td>bookie_journal_JOURNAL_ADD_ENTRY</td><td>Histogram</td><td>The histogram of request latency of adding entries to the journal.</td></tr>
-<tr><td>bookie_journal_JOURNAL_SYNC</td><td>Histogram</td><td>The histogram of fsync latency of syncing data to the journal disk.</td></tr>
+<tr><td>bookie_journal_JOURNAL_ADD_ENTRY</td><td>Summary</td><td>The summary of request latency of adding entries to the journal.</td></tr>
+<tr><td>bookie_journal_JOURNAL_SYNC</td><td>Summary</td><td>The summary of fsync latency of syncing data to the journal disk.</td></tr>
 </tbody>
 </table>
 <h3><a class="anchor" aria-hidden="true" id="storage-metrics"></a><a href="#storage-metrics" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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  [...]
diff --git a/content/docs/ko/2.5.2/reference-metrics/index.html b/content/docs/ko/2.5.2/reference-metrics/index.html
index 1015e71..3736694 100644
--- a/content/docs/ko/2.5.2/reference-metrics/index.html
+++ b/content/docs/ko/2.5.2/reference-metrics/index.html
@@ -131,8 +131,8 @@
 <tr><td>bookkeeper_server_READ_ENTRY_count</td><td>Counter</td><td>The total number of READ_ENTRY requests received at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
 <tr><td>bookie_WRITE_BYTES</td><td>Counter</td><td>The total number of bytes written to the bookie.</td></tr>
 <tr><td>bookie_READ_BYTES</td><td>Counter</td><td>The total number of bytes read from the bookie.</td></tr>
-<tr><td>bookkeeper_server_ADD_ENTRY_REQUEST</td><td>Histogram</td><td>The histogram of request latency of ADD_ENTRY requests at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
-<tr><td>bookkeeper_server_READ_ENTRY_REQUEST</td><td>Histogram</td><td>The histogram of request latency of READ_ENTRY requests at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
+<tr><td>bookkeeper_server_ADD_ENTRY_REQUEST</td><td>Summary</td><td>The summary of request latency of ADD_ENTRY requests at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
+<tr><td>bookkeeper_server_READ_ENTRY_REQUEST</td><td>Summary</td><td>The summary of request latency of READ_ENTRY requests at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
 </tbody>
 </table>
 <h3><a class="anchor" aria-hidden="true" id="journal-metrics"></a><a href="#journal-metrics" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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  [...]
@@ -145,8 +145,8 @@
 <tr><td>bookie_journal_JOURNAL_QUEUE_SIZE</td><td>Gauge</td><td>The total number of requests pending in the journal queue.</td></tr>
 <tr><td>bookie_journal_JOURNAL_FORCE_WRITE_QUEUE_SIZE</td><td>Gauge</td><td>The total number of force write (fsync) requests pending in the force-write queue.</td></tr>
 <tr><td>bookie_journal_JOURNAL_CB_QUEUE_SIZE</td><td>Gauge</td><td>The total number of callbacks pending in the callback queue.</td></tr>
-<tr><td>bookie_journal_JOURNAL_ADD_ENTRY</td><td>Histogram</td><td>The histogram of request latency of adding entries to the journal.</td></tr>
-<tr><td>bookie_journal_JOURNAL_SYNC</td><td>Histogram</td><td>The histogram of fsync latency of syncing data to the journal disk.</td></tr>
+<tr><td>bookie_journal_JOURNAL_ADD_ENTRY</td><td>Summary</td><td>The summary of request latency of adding entries to the journal.</td></tr>
+<tr><td>bookie_journal_JOURNAL_SYNC</td><td>Summary</td><td>The summary of fsync latency of syncing data to the journal disk.</td></tr>
 </tbody>
 </table>
 <h3><a class="anchor" aria-hidden="true" id="storage-metrics"></a><a href="#storage-metrics" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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  [...]
diff --git a/content/docs/ko/2.6.0/client-libraries-java.html b/content/docs/ko/2.6.0/client-libraries-java.html
index c9646a9..c192c08 100644
--- a/content/docs/ko/2.6.0/client-libraries-java.html
+++ b/content/docs/ko/2.6.0/client-libraries-java.html
@@ -256,7 +256,7 @@ producer.closeAsync()
 <h3><a class="anchor" aria-hidden="true" id="configure-consumer"></a><a href="#configure-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- [...]
 <p>If you instantiate a <code>Consumer</code> object by specifying only a topic and subscription name as in the example above, the consumer uses the default configuration.</p>
 <p>When you create a consumer, you can use the <code>loadConf</code> configuration. The following parameters are available in <code>loadConf</code>.</p>
-<p>Type | Name| <div style="width:300px">Description</div>|  Default |---|---|---|--- Set&lt;String&gt;|  <code>topicNames</code>|   Topic name| Sets.newTreeSet() Pattern|   <code>topicsPattern</code>| Topic pattern   |None String| <code>subscriptionName</code>| Subscription name|  None SubscriptionType| <code>subscriptionType</code>|   Subscription type <br/><br/>Three subscription types are available:<li>Exclusive</li><li>Failover</li><li>Shared</li>|SubscriptionType.Exclusive int | <c [...]
+<p>Type | Name| <div style="width:300px">Description</div>|  Default |---|---|---|--- Set&lt;String&gt;|  <code>topicNames</code>|   Topic name| Sets.newTreeSet() Pattern|   <code>topicsPattern</code>| Topic pattern   |None String| <code>subscriptionName</code>| Subscription name|  None SubscriptionType| <code>subscriptionType</code>|   Subscription type <br/><br/>Four subscription types are available:<li>Exclusive</li><li>Failover</li><li>Shared</li><li>키 공유 모드</li>|SubscriptionType.Exc [...]
 SortedMap&lt;String, String&gt;|<code>properties</code>|A name or value property of this consumer.<br/><br/><code>properties</code> is application defined metadata attached to a consumer. <br/><br/>When getting a topic stats, associate this metadata with the consumer stats for easier identification.|new TreeMap&lt;&gt;() boolean|<code>readCompacted</code>|If enabling <code>readCompacted</code>, a consumer reads messages from a compacted topic rather than reading a full message backlog of [...]
 <p>You can configure parameters if you do not want to use the default configuration. For a full list, see the Javadoc for the <a href="https://pulsar.incubator.apache.org/api/client/2.7.0-SNAPSHOT/org/apache/pulsar/client/api/ConsumerBuilder">ConsumerBuilder</a>
  class.</p>
diff --git a/content/docs/ko/2.6.0/client-libraries-java/index.html b/content/docs/ko/2.6.0/client-libraries-java/index.html
index c9646a9..c192c08 100644
--- a/content/docs/ko/2.6.0/client-libraries-java/index.html
+++ b/content/docs/ko/2.6.0/client-libraries-java/index.html
@@ -256,7 +256,7 @@ producer.closeAsync()
 <h3><a class="anchor" aria-hidden="true" id="configure-consumer"></a><a href="#configure-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- [...]
 <p>If you instantiate a <code>Consumer</code> object by specifying only a topic and subscription name as in the example above, the consumer uses the default configuration.</p>
 <p>When you create a consumer, you can use the <code>loadConf</code> configuration. The following parameters are available in <code>loadConf</code>.</p>
-<p>Type | Name| <div style="width:300px">Description</div>|  Default |---|---|---|--- Set&lt;String&gt;|  <code>topicNames</code>|   Topic name| Sets.newTreeSet() Pattern|   <code>topicsPattern</code>| Topic pattern   |None String| <code>subscriptionName</code>| Subscription name|  None SubscriptionType| <code>subscriptionType</code>|   Subscription type <br/><br/>Three subscription types are available:<li>Exclusive</li><li>Failover</li><li>Shared</li>|SubscriptionType.Exclusive int | <c [...]
+<p>Type | Name| <div style="width:300px">Description</div>|  Default |---|---|---|--- Set&lt;String&gt;|  <code>topicNames</code>|   Topic name| Sets.newTreeSet() Pattern|   <code>topicsPattern</code>| Topic pattern   |None String| <code>subscriptionName</code>| Subscription name|  None SubscriptionType| <code>subscriptionType</code>|   Subscription type <br/><br/>Four subscription types are available:<li>Exclusive</li><li>Failover</li><li>Shared</li><li>키 공유 모드</li>|SubscriptionType.Exc [...]
 SortedMap&lt;String, String&gt;|<code>properties</code>|A name or value property of this consumer.<br/><br/><code>properties</code> is application defined metadata attached to a consumer. <br/><br/>When getting a topic stats, associate this metadata with the consumer stats for easier identification.|new TreeMap&lt;&gt;() boolean|<code>readCompacted</code>|If enabling <code>readCompacted</code>, a consumer reads messages from a compacted topic rather than reading a full message backlog of [...]
 <p>You can configure parameters if you do not want to use the default configuration. For a full list, see the Javadoc for the <a href="https://pulsar.incubator.apache.org/api/client/2.7.0-SNAPSHOT/org/apache/pulsar/client/api/ConsumerBuilder">ConsumerBuilder</a>
  class.</p>
diff --git a/content/docs/ko/2.6.0/client-libraries-node.html b/content/docs/ko/2.6.0/client-libraries-node.html
index 539d5e7..c45499e 100644
--- a/content/docs/ko/2.6.0/client-libraries-node.html
+++ b/content/docs/ko/2.6.0/client-libraries-node.html
@@ -266,7 +266,7 @@ In this example, using await operator instead of executor function.</p>
 <tbody>
 <tr><td style="text-align:left"><code>토픽</code></td><td style="text-align:left">The Pulsar <a href="/docs/ko/2.6.0/reference-terminology#topic">topic</a> on which the consumer will establish a subscription and listen for messages.</td><td style="text-align:left"></td></tr>
 <tr><td style="text-align:left"><code>subscription</code></td><td style="text-align:left">The subscription name for this consumer.</td><td style="text-align:left"></td></tr>
-<tr><td style="text-align:left"><code>subscriptionType</code></td><td style="text-align:left">Available options are <code>Exclusive</code>, <code>Shared</code>, and <code>Failover</code>.</td><td style="text-align:left"><code>Exclusive</code></td></tr>
+<tr><td style="text-align:left"><code>subscriptionType</code></td><td style="text-align:left">Available options are <code>Exclusive</code>, <code>Shared</code>, <code>Key_Shared</code>, and <code>Failover</code>.</td><td style="text-align:left"><code>Exclusive</code></td></tr>
 <tr><td style="text-align:left"><code>ackTimeoutMs</code></td><td style="text-align:left">Acknowledge timeout in milliseconds.</td><td style="text-align:left">0</td></tr>
 <tr><td style="text-align:left"><code>receiverQueueSize</code></td><td style="text-align:left">Sets the size of the consumer's receiver queue, i.e. the number of messages that can be accumulated by the consumer before the application calls <code>receive</code>. A value higher than the default of 1000 could increase consumer throughput, though at the expense of more memory utilization.</td><td style="text-align:left">1000</td></tr>
 <tr><td style="text-align:left"><code>receiverQueueSizeAcrossPartitions</code></td><td style="text-align:left">Set the max total receiver queue size across partitions. This setting will be used to reduce the receiver queue size for individual partitions if the total exceeds this value.</td><td style="text-align:left">50000</td></tr>
diff --git a/content/docs/ko/2.6.0/client-libraries-node/index.html b/content/docs/ko/2.6.0/client-libraries-node/index.html
index 539d5e7..c45499e 100644
--- a/content/docs/ko/2.6.0/client-libraries-node/index.html
+++ b/content/docs/ko/2.6.0/client-libraries-node/index.html
@@ -266,7 +266,7 @@ In this example, using await operator instead of executor function.</p>
 <tbody>
 <tr><td style="text-align:left"><code>토픽</code></td><td style="text-align:left">The Pulsar <a href="/docs/ko/2.6.0/reference-terminology#topic">topic</a> on which the consumer will establish a subscription and listen for messages.</td><td style="text-align:left"></td></tr>
 <tr><td style="text-align:left"><code>subscription</code></td><td style="text-align:left">The subscription name for this consumer.</td><td style="text-align:left"></td></tr>
-<tr><td style="text-align:left"><code>subscriptionType</code></td><td style="text-align:left">Available options are <code>Exclusive</code>, <code>Shared</code>, and <code>Failover</code>.</td><td style="text-align:left"><code>Exclusive</code></td></tr>
+<tr><td style="text-align:left"><code>subscriptionType</code></td><td style="text-align:left">Available options are <code>Exclusive</code>, <code>Shared</code>, <code>Key_Shared</code>, and <code>Failover</code>.</td><td style="text-align:left"><code>Exclusive</code></td></tr>
 <tr><td style="text-align:left"><code>ackTimeoutMs</code></td><td style="text-align:left">Acknowledge timeout in milliseconds.</td><td style="text-align:left">0</td></tr>
 <tr><td style="text-align:left"><code>receiverQueueSize</code></td><td style="text-align:left">Sets the size of the consumer's receiver queue, i.e. the number of messages that can be accumulated by the consumer before the application calls <code>receive</code>. A value higher than the default of 1000 could increase consumer throughput, though at the expense of more memory utilization.</td><td style="text-align:left">1000</td></tr>
 <tr><td style="text-align:left"><code>receiverQueueSizeAcrossPartitions</code></td><td style="text-align:left">Set the max total receiver queue size across partitions. This setting will be used to reduce the receiver queue size for individual partitions if the total exceeds this value.</td><td style="text-align:left">50000</td></tr>
diff --git a/content/docs/ko/2.6.0/client-libraries-websocket.html b/content/docs/ko/2.6.0/client-libraries-websocket.html
index cff8701..0358bbc 100644
--- a/content/docs/ko/2.6.0/client-libraries-websocket.html
+++ b/content/docs/ko/2.6.0/client-libraries-websocket.html
@@ -184,7 +184,7 @@
 </thead>
 <tbody>
 <tr><td style="text-align:left"><code>ackTimeoutMillis</code></td><td style="text-align:left">long</td><td style="text-align:left">no</td><td style="text-align:left">Set the timeout for unacked messages (default: 0)</td></tr>
-<tr><td style="text-align:left"><code>subscriptionType</code></td><td style="text-align:left">string</td><td style="text-align:left">no</td><td style="text-align:left"><a href="https://pulsar.apache.org/api/client/2.7.0-SNAPSHOT/index.html?org/apache/pulsar/client/api/SubscriptionType.html">Subscription type</a>: <code>Exclusive</code>, <code>Failover</code>, <code>Shared</code></td></tr>
+<tr><td style="text-align:left"><code>subscriptionType</code></td><td style="text-align:left">string</td><td style="text-align:left">no</td><td style="text-align:left"><a href="https://pulsar.apache.org/api/client/2.7.0-SNAPSHOT/index.html?org/apache/pulsar/client/api/SubscriptionType.html">Subscription type</a>: <code>Exclusive</code>, <code>Failover</code>, <code>Shared</code>, <code>Key_Shared</code></td></tr>
 <tr><td style="text-align:left"><code>receiverQueueSize</code></td><td style="text-align:left">int</td><td style="text-align:left">no</td><td style="text-align:left">Size of the consumer receive queue (default: 1000)</td></tr>
 <tr><td style="text-align:left"><code>consumerName</code></td><td style="text-align:left">string</td><td style="text-align:left">no</td><td style="text-align:left">Consumer name</td></tr>
 <tr><td style="text-align:left"><code>priorityLevel</code></td><td style="text-align:left">int</td><td style="text-align:left">no</td><td style="text-align:left">Define a <a href="http://pulsar.apache.org/api/client/2.7.0-SNAPSHOT/org/apache/pulsar/client/api/ConsumerConfiguration.html#setPriorityLevel-int-">priority</a> for the consumer</td></tr>
diff --git a/content/docs/ko/2.6.0/client-libraries-websocket/index.html b/content/docs/ko/2.6.0/client-libraries-websocket/index.html
index cff8701..0358bbc 100644
--- a/content/docs/ko/2.6.0/client-libraries-websocket/index.html
+++ b/content/docs/ko/2.6.0/client-libraries-websocket/index.html
@@ -184,7 +184,7 @@
 </thead>
 <tbody>
 <tr><td style="text-align:left"><code>ackTimeoutMillis</code></td><td style="text-align:left">long</td><td style="text-align:left">no</td><td style="text-align:left">Set the timeout for unacked messages (default: 0)</td></tr>
-<tr><td style="text-align:left"><code>subscriptionType</code></td><td style="text-align:left">string</td><td style="text-align:left">no</td><td style="text-align:left"><a href="https://pulsar.apache.org/api/client/2.7.0-SNAPSHOT/index.html?org/apache/pulsar/client/api/SubscriptionType.html">Subscription type</a>: <code>Exclusive</code>, <code>Failover</code>, <code>Shared</code></td></tr>
+<tr><td style="text-align:left"><code>subscriptionType</code></td><td style="text-align:left">string</td><td style="text-align:left">no</td><td style="text-align:left"><a href="https://pulsar.apache.org/api/client/2.7.0-SNAPSHOT/index.html?org/apache/pulsar/client/api/SubscriptionType.html">Subscription type</a>: <code>Exclusive</code>, <code>Failover</code>, <code>Shared</code>, <code>Key_Shared</code></td></tr>
 <tr><td style="text-align:left"><code>receiverQueueSize</code></td><td style="text-align:left">int</td><td style="text-align:left">no</td><td style="text-align:left">Size of the consumer receive queue (default: 1000)</td></tr>
 <tr><td style="text-align:left"><code>consumerName</code></td><td style="text-align:left">string</td><td style="text-align:left">no</td><td style="text-align:left">Consumer name</td></tr>
 <tr><td style="text-align:left"><code>priorityLevel</code></td><td style="text-align:left">int</td><td style="text-align:left">no</td><td style="text-align:left">Define a <a href="http://pulsar.apache.org/api/client/2.7.0-SNAPSHOT/org/apache/pulsar/client/api/ConsumerConfiguration.html#setPriorityLevel-int-">priority</a> for the consumer</td></tr>
diff --git a/content/docs/ko/2.6.0/reference-metrics.html b/content/docs/ko/2.6.0/reference-metrics.html
index 8f2f63a..90a0cd2 100644
--- a/content/docs/ko/2.6.0/reference-metrics.html
+++ b/content/docs/ko/2.6.0/reference-metrics.html
@@ -134,8 +134,8 @@
 <tr><td>bookkeeper_server_READ_ENTRY_count</td><td>Counter</td><td>The total number of READ_ENTRY requests received at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
 <tr><td>bookie_WRITE_BYTES</td><td>Counter</td><td>The total number of bytes written to the bookie.</td></tr>
 <tr><td>bookie_READ_BYTES</td><td>Counter</td><td>The total number of bytes read from the bookie.</td></tr>
-<tr><td>bookkeeper_server_ADD_ENTRY_REQUEST</td><td>Histogram</td><td>The histogram of request latency of ADD_ENTRY requests at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
-<tr><td>bookkeeper_server_READ_ENTRY_REQUEST</td><td>Histogram</td><td>The histogram of request latency of READ_ENTRY requests at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
+<tr><td>bookkeeper_server_ADD_ENTRY_REQUEST</td><td>Summary</td><td>The summary of request latency of ADD_ENTRY requests at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
+<tr><td>bookkeeper_server_READ_ENTRY_REQUEST</td><td>Summary</td><td>The summary of request latency of READ_ENTRY requests at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
 </tbody>
 </table>
 <h3><a class="anchor" aria-hidden="true" id="journal-metrics"></a><a href="#journal-metrics" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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  [...]
@@ -148,8 +148,8 @@
 <tr><td>bookie_journal_JOURNAL_QUEUE_SIZE</td><td>Gauge</td><td>The total number of requests pending in the journal queue.</td></tr>
 <tr><td>bookie_journal_JOURNAL_FORCE_WRITE_QUEUE_SIZE</td><td>Gauge</td><td>The total number of force write (fsync) requests pending in the force-write queue.</td></tr>
 <tr><td>bookie_journal_JOURNAL_CB_QUEUE_SIZE</td><td>Gauge</td><td>The total number of callbacks pending in the callback queue.</td></tr>
-<tr><td>bookie_journal_JOURNAL_ADD_ENTRY</td><td>Histogram</td><td>The histogram of request latency of adding entries to the journal.</td></tr>
-<tr><td>bookie_journal_JOURNAL_SYNC</td><td>Histogram</td><td>The histogram of fsync latency of syncing data to the journal disk.</td></tr>
+<tr><td>bookie_journal_JOURNAL_ADD_ENTRY</td><td>Summary</td><td>The summary of request latency of adding entries to the journal.</td></tr>
+<tr><td>bookie_journal_JOURNAL_SYNC</td><td>Summary</td><td>The summary of fsync latency of syncing data to the journal disk.</td></tr>
 </tbody>
 </table>
 <h3><a class="anchor" aria-hidden="true" id="storage-metrics"></a><a href="#storage-metrics" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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  [...]
diff --git a/content/docs/ko/2.6.0/reference-metrics/index.html b/content/docs/ko/2.6.0/reference-metrics/index.html
index 8f2f63a..90a0cd2 100644
--- a/content/docs/ko/2.6.0/reference-metrics/index.html
+++ b/content/docs/ko/2.6.0/reference-metrics/index.html
@@ -134,8 +134,8 @@
 <tr><td>bookkeeper_server_READ_ENTRY_count</td><td>Counter</td><td>The total number of READ_ENTRY requests received at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
 <tr><td>bookie_WRITE_BYTES</td><td>Counter</td><td>The total number of bytes written to the bookie.</td></tr>
 <tr><td>bookie_READ_BYTES</td><td>Counter</td><td>The total number of bytes read from the bookie.</td></tr>
-<tr><td>bookkeeper_server_ADD_ENTRY_REQUEST</td><td>Histogram</td><td>The histogram of request latency of ADD_ENTRY requests at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
-<tr><td>bookkeeper_server_READ_ENTRY_REQUEST</td><td>Histogram</td><td>The histogram of request latency of READ_ENTRY requests at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
+<tr><td>bookkeeper_server_ADD_ENTRY_REQUEST</td><td>Summary</td><td>The summary of request latency of ADD_ENTRY requests at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
+<tr><td>bookkeeper_server_READ_ENTRY_REQUEST</td><td>Summary</td><td>The summary of request latency of READ_ENTRY requests at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
 </tbody>
 </table>
 <h3><a class="anchor" aria-hidden="true" id="journal-metrics"></a><a href="#journal-metrics" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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  [...]
@@ -148,8 +148,8 @@
 <tr><td>bookie_journal_JOURNAL_QUEUE_SIZE</td><td>Gauge</td><td>The total number of requests pending in the journal queue.</td></tr>
 <tr><td>bookie_journal_JOURNAL_FORCE_WRITE_QUEUE_SIZE</td><td>Gauge</td><td>The total number of force write (fsync) requests pending in the force-write queue.</td></tr>
 <tr><td>bookie_journal_JOURNAL_CB_QUEUE_SIZE</td><td>Gauge</td><td>The total number of callbacks pending in the callback queue.</td></tr>
-<tr><td>bookie_journal_JOURNAL_ADD_ENTRY</td><td>Histogram</td><td>The histogram of request latency of adding entries to the journal.</td></tr>
-<tr><td>bookie_journal_JOURNAL_SYNC</td><td>Histogram</td><td>The histogram of fsync latency of syncing data to the journal disk.</td></tr>
+<tr><td>bookie_journal_JOURNAL_ADD_ENTRY</td><td>Summary</td><td>The summary of request latency of adding entries to the journal.</td></tr>
+<tr><td>bookie_journal_JOURNAL_SYNC</td><td>Summary</td><td>The summary of fsync latency of syncing data to the journal disk.</td></tr>
 </tbody>
 </table>
 <h3><a class="anchor" aria-hidden="true" id="storage-metrics"></a><a href="#storage-metrics" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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  [...]
diff --git a/content/docs/ko/2.6.1/client-libraries-java.html b/content/docs/ko/2.6.1/client-libraries-java.html
index 068f0c2..5c140eb 100644
--- a/content/docs/ko/2.6.1/client-libraries-java.html
+++ b/content/docs/ko/2.6.1/client-libraries-java.html
@@ -256,7 +256,7 @@ producer.closeAsync()
 <h3><a class="anchor" aria-hidden="true" id="configure-consumer"></a><a href="#configure-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- [...]
 <p>If you instantiate a <code>Consumer</code> object by specifying only a topic and subscription name as in the example above, the consumer uses the default configuration.</p>
 <p>When you create a consumer, you can use the <code>loadConf</code> configuration. The following parameters are available in <code>loadConf</code>.</p>
-<p>Type | Name| <div style="width:300px">Description</div>|  Default |---|---|---|--- Set&lt;String&gt;|  <code>topicNames</code>|   Topic name| Sets.newTreeSet() Pattern|   <code>topicsPattern</code>| Topic pattern   |None String| <code>subscriptionName</code>| Subscription name|  None SubscriptionType| <code>subscriptionType</code>|   Subscription type <br/><br/>Three subscription types are available:<li>Exclusive</li><li>Failover</li><li>Shared</li>|SubscriptionType.Exclusive int | <c [...]
+<p>Type | Name| <div style="width:300px">Description</div>|  Default |---|---|---|--- Set&lt;String&gt;|  <code>topicNames</code>|   Topic name| Sets.newTreeSet() Pattern|   <code>topicsPattern</code>| Topic pattern   |None String| <code>subscriptionName</code>| Subscription name|  None SubscriptionType| <code>subscriptionType</code>|   Subscription type <br/><br/>Four subscription types are available:<li>Exclusive</li><li>Failover</li><li>Shared</li><li>키 공유 모드</li>|SubscriptionType.Exc [...]
 SortedMap&lt;String, String&gt;|<code>properties</code>|A name or value property of this consumer.<br/><br/><code>properties</code> is application defined metadata attached to a consumer. <br/><br/>When getting a topic stats, associate this metadata with the consumer stats for easier identification.|new TreeMap&lt;&gt;() boolean|<code>readCompacted</code>|If enabling <code>readCompacted</code>, a consumer reads messages from a compacted topic rather than reading a full message backlog of [...]
 <p>You can configure parameters if you do not want to use the default configuration. For a full list, see the Javadoc for the <a href="https://pulsar.incubator.apache.org/api/client/2.7.0-SNAPSHOT/org/apache/pulsar/client/api/ConsumerBuilder">ConsumerBuilder</a>
  class.</p>
diff --git a/content/docs/ko/2.6.1/client-libraries-java/index.html b/content/docs/ko/2.6.1/client-libraries-java/index.html
index 068f0c2..5c140eb 100644
--- a/content/docs/ko/2.6.1/client-libraries-java/index.html
+++ b/content/docs/ko/2.6.1/client-libraries-java/index.html
@@ -256,7 +256,7 @@ producer.closeAsync()
 <h3><a class="anchor" aria-hidden="true" id="configure-consumer"></a><a href="#configure-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- [...]
 <p>If you instantiate a <code>Consumer</code> object by specifying only a topic and subscription name as in the example above, the consumer uses the default configuration.</p>
 <p>When you create a consumer, you can use the <code>loadConf</code> configuration. The following parameters are available in <code>loadConf</code>.</p>
-<p>Type | Name| <div style="width:300px">Description</div>|  Default |---|---|---|--- Set&lt;String&gt;|  <code>topicNames</code>|   Topic name| Sets.newTreeSet() Pattern|   <code>topicsPattern</code>| Topic pattern   |None String| <code>subscriptionName</code>| Subscription name|  None SubscriptionType| <code>subscriptionType</code>|   Subscription type <br/><br/>Three subscription types are available:<li>Exclusive</li><li>Failover</li><li>Shared</li>|SubscriptionType.Exclusive int | <c [...]
+<p>Type | Name| <div style="width:300px">Description</div>|  Default |---|---|---|--- Set&lt;String&gt;|  <code>topicNames</code>|   Topic name| Sets.newTreeSet() Pattern|   <code>topicsPattern</code>| Topic pattern   |None String| <code>subscriptionName</code>| Subscription name|  None SubscriptionType| <code>subscriptionType</code>|   Subscription type <br/><br/>Four subscription types are available:<li>Exclusive</li><li>Failover</li><li>Shared</li><li>키 공유 모드</li>|SubscriptionType.Exc [...]
 SortedMap&lt;String, String&gt;|<code>properties</code>|A name or value property of this consumer.<br/><br/><code>properties</code> is application defined metadata attached to a consumer. <br/><br/>When getting a topic stats, associate this metadata with the consumer stats for easier identification.|new TreeMap&lt;&gt;() boolean|<code>readCompacted</code>|If enabling <code>readCompacted</code>, a consumer reads messages from a compacted topic rather than reading a full message backlog of [...]
 <p>You can configure parameters if you do not want to use the default configuration. For a full list, see the Javadoc for the <a href="https://pulsar.incubator.apache.org/api/client/2.7.0-SNAPSHOT/org/apache/pulsar/client/api/ConsumerBuilder">ConsumerBuilder</a>
  class.</p>
diff --git a/content/docs/ko/2.6.1/client-libraries-node.html b/content/docs/ko/2.6.1/client-libraries-node.html
index 4e7b13a..9a09168 100644
--- a/content/docs/ko/2.6.1/client-libraries-node.html
+++ b/content/docs/ko/2.6.1/client-libraries-node.html
@@ -266,7 +266,7 @@ In this example, using await operator instead of executor function.</p>
 <tbody>
 <tr><td style="text-align:left"><code>토픽</code></td><td style="text-align:left">The Pulsar <a href="/docs/ko/2.6.1/reference-terminology#topic">topic</a> on which the consumer will establish a subscription and listen for messages.</td><td style="text-align:left"></td></tr>
 <tr><td style="text-align:left"><code>subscription</code></td><td style="text-align:left">The subscription name for this consumer.</td><td style="text-align:left"></td></tr>
-<tr><td style="text-align:left"><code>subscriptionType</code></td><td style="text-align:left">Available options are <code>Exclusive</code>, <code>Shared</code>, and <code>Failover</code>.</td><td style="text-align:left"><code>Exclusive</code></td></tr>
+<tr><td style="text-align:left"><code>subscriptionType</code></td><td style="text-align:left">Available options are <code>Exclusive</code>, <code>Shared</code>, <code>Key_Shared</code>, and <code>Failover</code>.</td><td style="text-align:left"><code>Exclusive</code></td></tr>
 <tr><td style="text-align:left"><code>ackTimeoutMs</code></td><td style="text-align:left">Acknowledge timeout in milliseconds.</td><td style="text-align:left">0</td></tr>
 <tr><td style="text-align:left"><code>receiverQueueSize</code></td><td style="text-align:left">Sets the size of the consumer's receiver queue, i.e. the number of messages that can be accumulated by the consumer before the application calls <code>receive</code>. A value higher than the default of 1000 could increase consumer throughput, though at the expense of more memory utilization.</td><td style="text-align:left">1000</td></tr>
 <tr><td style="text-align:left"><code>receiverQueueSizeAcrossPartitions</code></td><td style="text-align:left">Set the max total receiver queue size across partitions. This setting will be used to reduce the receiver queue size for individual partitions if the total exceeds this value.</td><td style="text-align:left">50000</td></tr>
diff --git a/content/docs/ko/2.6.1/client-libraries-node/index.html b/content/docs/ko/2.6.1/client-libraries-node/index.html
index 4e7b13a..9a09168 100644
--- a/content/docs/ko/2.6.1/client-libraries-node/index.html
+++ b/content/docs/ko/2.6.1/client-libraries-node/index.html
@@ -266,7 +266,7 @@ In this example, using await operator instead of executor function.</p>
 <tbody>
 <tr><td style="text-align:left"><code>토픽</code></td><td style="text-align:left">The Pulsar <a href="/docs/ko/2.6.1/reference-terminology#topic">topic</a> on which the consumer will establish a subscription and listen for messages.</td><td style="text-align:left"></td></tr>
 <tr><td style="text-align:left"><code>subscription</code></td><td style="text-align:left">The subscription name for this consumer.</td><td style="text-align:left"></td></tr>
-<tr><td style="text-align:left"><code>subscriptionType</code></td><td style="text-align:left">Available options are <code>Exclusive</code>, <code>Shared</code>, and <code>Failover</code>.</td><td style="text-align:left"><code>Exclusive</code></td></tr>
+<tr><td style="text-align:left"><code>subscriptionType</code></td><td style="text-align:left">Available options are <code>Exclusive</code>, <code>Shared</code>, <code>Key_Shared</code>, and <code>Failover</code>.</td><td style="text-align:left"><code>Exclusive</code></td></tr>
 <tr><td style="text-align:left"><code>ackTimeoutMs</code></td><td style="text-align:left">Acknowledge timeout in milliseconds.</td><td style="text-align:left">0</td></tr>
 <tr><td style="text-align:left"><code>receiverQueueSize</code></td><td style="text-align:left">Sets the size of the consumer's receiver queue, i.e. the number of messages that can be accumulated by the consumer before the application calls <code>receive</code>. A value higher than the default of 1000 could increase consumer throughput, though at the expense of more memory utilization.</td><td style="text-align:left">1000</td></tr>
 <tr><td style="text-align:left"><code>receiverQueueSizeAcrossPartitions</code></td><td style="text-align:left">Set the max total receiver queue size across partitions. This setting will be used to reduce the receiver queue size for individual partitions if the total exceeds this value.</td><td style="text-align:left">50000</td></tr>
diff --git a/content/docs/ko/2.6.1/client-libraries-websocket.html b/content/docs/ko/2.6.1/client-libraries-websocket.html
index b367fc4..4ea97cc 100644
--- a/content/docs/ko/2.6.1/client-libraries-websocket.html
+++ b/content/docs/ko/2.6.1/client-libraries-websocket.html
@@ -184,7 +184,7 @@
 </thead>
 <tbody>
 <tr><td style="text-align:left"><code>ackTimeoutMillis</code></td><td style="text-align:left">long</td><td style="text-align:left">no</td><td style="text-align:left">Set the timeout for unacked messages (default: 0)</td></tr>
-<tr><td style="text-align:left"><code>subscriptionType</code></td><td style="text-align:left">string</td><td style="text-align:left">no</td><td style="text-align:left"><a href="https://pulsar.apache.org/api/client/2.7.0-SNAPSHOT/index.html?org/apache/pulsar/client/api/SubscriptionType.html">Subscription type</a>: <code>Exclusive</code>, <code>Failover</code>, <code>Shared</code></td></tr>
+<tr><td style="text-align:left"><code>subscriptionType</code></td><td style="text-align:left">string</td><td style="text-align:left">no</td><td style="text-align:left"><a href="https://pulsar.apache.org/api/client/2.7.0-SNAPSHOT/index.html?org/apache/pulsar/client/api/SubscriptionType.html">Subscription type</a>: <code>Exclusive</code>, <code>Failover</code>, <code>Shared</code>, <code>Key_Shared</code></td></tr>
 <tr><td style="text-align:left"><code>receiverQueueSize</code></td><td style="text-align:left">int</td><td style="text-align:left">no</td><td style="text-align:left">Size of the consumer receive queue (default: 1000)</td></tr>
 <tr><td style="text-align:left"><code>consumerName</code></td><td style="text-align:left">string</td><td style="text-align:left">no</td><td style="text-align:left">Consumer name</td></tr>
 <tr><td style="text-align:left"><code>priorityLevel</code></td><td style="text-align:left">int</td><td style="text-align:left">no</td><td style="text-align:left">Define a <a href="http://pulsar.apache.org/api/client/2.7.0-SNAPSHOT/org/apache/pulsar/client/api/ConsumerConfiguration.html#setPriorityLevel-int-">priority</a> for the consumer</td></tr>
diff --git a/content/docs/ko/2.6.1/client-libraries-websocket/index.html b/content/docs/ko/2.6.1/client-libraries-websocket/index.html
index b367fc4..4ea97cc 100644
--- a/content/docs/ko/2.6.1/client-libraries-websocket/index.html
+++ b/content/docs/ko/2.6.1/client-libraries-websocket/index.html
@@ -184,7 +184,7 @@
 </thead>
 <tbody>
 <tr><td style="text-align:left"><code>ackTimeoutMillis</code></td><td style="text-align:left">long</td><td style="text-align:left">no</td><td style="text-align:left">Set the timeout for unacked messages (default: 0)</td></tr>
-<tr><td style="text-align:left"><code>subscriptionType</code></td><td style="text-align:left">string</td><td style="text-align:left">no</td><td style="text-align:left"><a href="https://pulsar.apache.org/api/client/2.7.0-SNAPSHOT/index.html?org/apache/pulsar/client/api/SubscriptionType.html">Subscription type</a>: <code>Exclusive</code>, <code>Failover</code>, <code>Shared</code></td></tr>
+<tr><td style="text-align:left"><code>subscriptionType</code></td><td style="text-align:left">string</td><td style="text-align:left">no</td><td style="text-align:left"><a href="https://pulsar.apache.org/api/client/2.7.0-SNAPSHOT/index.html?org/apache/pulsar/client/api/SubscriptionType.html">Subscription type</a>: <code>Exclusive</code>, <code>Failover</code>, <code>Shared</code>, <code>Key_Shared</code></td></tr>
 <tr><td style="text-align:left"><code>receiverQueueSize</code></td><td style="text-align:left">int</td><td style="text-align:left">no</td><td style="text-align:left">Size of the consumer receive queue (default: 1000)</td></tr>
 <tr><td style="text-align:left"><code>consumerName</code></td><td style="text-align:left">string</td><td style="text-align:left">no</td><td style="text-align:left">Consumer name</td></tr>
 <tr><td style="text-align:left"><code>priorityLevel</code></td><td style="text-align:left">int</td><td style="text-align:left">no</td><td style="text-align:left">Define a <a href="http://pulsar.apache.org/api/client/2.7.0-SNAPSHOT/org/apache/pulsar/client/api/ConsumerConfiguration.html#setPriorityLevel-int-">priority</a> for the consumer</td></tr>
diff --git a/content/docs/ko/2.6.1/reference-metrics.html b/content/docs/ko/2.6.1/reference-metrics.html
index 367ab1e..f12bbb9 100644
--- a/content/docs/ko/2.6.1/reference-metrics.html
+++ b/content/docs/ko/2.6.1/reference-metrics.html
@@ -134,8 +134,8 @@
 <tr><td>bookkeeper_server_READ_ENTRY_count</td><td>Counter</td><td>The total number of READ_ENTRY requests received at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
 <tr><td>bookie_WRITE_BYTES</td><td>Counter</td><td>The total number of bytes written to the bookie.</td></tr>
 <tr><td>bookie_READ_BYTES</td><td>Counter</td><td>The total number of bytes read from the bookie.</td></tr>
-<tr><td>bookkeeper_server_ADD_ENTRY_REQUEST</td><td>Histogram</td><td>The histogram of request latency of ADD_ENTRY requests at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
-<tr><td>bookkeeper_server_READ_ENTRY_REQUEST</td><td>Histogram</td><td>The histogram of request latency of READ_ENTRY requests at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
+<tr><td>bookkeeper_server_ADD_ENTRY_REQUEST</td><td>Summary</td><td>The summary of request latency of ADD_ENTRY requests at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
+<tr><td>bookkeeper_server_READ_ENTRY_REQUEST</td><td>Summary</td><td>The summary of request latency of READ_ENTRY requests at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
 </tbody>
 </table>
 <h3><a class="anchor" aria-hidden="true" id="journal-metrics"></a><a href="#journal-metrics" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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  [...]
@@ -148,8 +148,8 @@
 <tr><td>bookie_journal_JOURNAL_QUEUE_SIZE</td><td>Gauge</td><td>The total number of requests pending in the journal queue.</td></tr>
 <tr><td>bookie_journal_JOURNAL_FORCE_WRITE_QUEUE_SIZE</td><td>Gauge</td><td>The total number of force write (fsync) requests pending in the force-write queue.</td></tr>
 <tr><td>bookie_journal_JOURNAL_CB_QUEUE_SIZE</td><td>Gauge</td><td>The total number of callbacks pending in the callback queue.</td></tr>
-<tr><td>bookie_journal_JOURNAL_ADD_ENTRY</td><td>Histogram</td><td>The histogram of request latency of adding entries to the journal.</td></tr>
-<tr><td>bookie_journal_JOURNAL_SYNC</td><td>Histogram</td><td>The histogram of fsync latency of syncing data to the journal disk.</td></tr>
+<tr><td>bookie_journal_JOURNAL_ADD_ENTRY</td><td>Summary</td><td>The summary of request latency of adding entries to the journal.</td></tr>
+<tr><td>bookie_journal_JOURNAL_SYNC</td><td>Summary</td><td>The summary of fsync latency of syncing data to the journal disk.</td></tr>
 </tbody>
 </table>
 <h3><a class="anchor" aria-hidden="true" id="storage-metrics"></a><a href="#storage-metrics" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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  [...]
diff --git a/content/docs/ko/2.6.1/reference-metrics/index.html b/content/docs/ko/2.6.1/reference-metrics/index.html
index 367ab1e..f12bbb9 100644
--- a/content/docs/ko/2.6.1/reference-metrics/index.html
+++ b/content/docs/ko/2.6.1/reference-metrics/index.html
@@ -134,8 +134,8 @@
 <tr><td>bookkeeper_server_READ_ENTRY_count</td><td>Counter</td><td>The total number of READ_ENTRY requests received at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
 <tr><td>bookie_WRITE_BYTES</td><td>Counter</td><td>The total number of bytes written to the bookie.</td></tr>
 <tr><td>bookie_READ_BYTES</td><td>Counter</td><td>The total number of bytes read from the bookie.</td></tr>
-<tr><td>bookkeeper_server_ADD_ENTRY_REQUEST</td><td>Histogram</td><td>The histogram of request latency of ADD_ENTRY requests at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
-<tr><td>bookkeeper_server_READ_ENTRY_REQUEST</td><td>Histogram</td><td>The histogram of request latency of READ_ENTRY requests at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
+<tr><td>bookkeeper_server_ADD_ENTRY_REQUEST</td><td>Summary</td><td>The summary of request latency of ADD_ENTRY requests at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
+<tr><td>bookkeeper_server_READ_ENTRY_REQUEST</td><td>Summary</td><td>The summary of request latency of READ_ENTRY requests at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
 </tbody>
 </table>
 <h3><a class="anchor" aria-hidden="true" id="journal-metrics"></a><a href="#journal-metrics" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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  [...]
@@ -148,8 +148,8 @@
 <tr><td>bookie_journal_JOURNAL_QUEUE_SIZE</td><td>Gauge</td><td>The total number of requests pending in the journal queue.</td></tr>
 <tr><td>bookie_journal_JOURNAL_FORCE_WRITE_QUEUE_SIZE</td><td>Gauge</td><td>The total number of force write (fsync) requests pending in the force-write queue.</td></tr>
 <tr><td>bookie_journal_JOURNAL_CB_QUEUE_SIZE</td><td>Gauge</td><td>The total number of callbacks pending in the callback queue.</td></tr>
-<tr><td>bookie_journal_JOURNAL_ADD_ENTRY</td><td>Histogram</td><td>The histogram of request latency of adding entries to the journal.</td></tr>
-<tr><td>bookie_journal_JOURNAL_SYNC</td><td>Histogram</td><td>The histogram of fsync latency of syncing data to the journal disk.</td></tr>
+<tr><td>bookie_journal_JOURNAL_ADD_ENTRY</td><td>Summary</td><td>The summary of request latency of adding entries to the journal.</td></tr>
+<tr><td>bookie_journal_JOURNAL_SYNC</td><td>Summary</td><td>The summary of fsync latency of syncing data to the journal disk.</td></tr>
 </tbody>
 </table>
 <h3><a class="anchor" aria-hidden="true" id="storage-metrics"></a><a href="#storage-metrics" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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  [...]
diff --git a/content/docs/ko/2.6.2/client-libraries-java.html b/content/docs/ko/2.6.2/client-libraries-java.html
index be5c1a8..1c5ef03 100644
--- a/content/docs/ko/2.6.2/client-libraries-java.html
+++ b/content/docs/ko/2.6.2/client-libraries-java.html
@@ -256,7 +256,7 @@ producer.closeAsync()
 <h3><a class="anchor" aria-hidden="true" id="configure-consumer"></a><a href="#configure-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- [...]
 <p>If you instantiate a <code>Consumer</code> object by specifying only a topic and subscription name as in the example above, the consumer uses the default configuration.</p>
 <p>When you create a consumer, you can use the <code>loadConf</code> configuration. The following parameters are available in <code>loadConf</code>.</p>
-<p>Type | Name| <div style="width:300px">Description</div>|  Default |---|---|---|--- Set&lt;String&gt;|  <code>topicNames</code>|   Topic name| Sets.newTreeSet() Pattern|   <code>topicsPattern</code>| Topic pattern   |None String| <code>subscriptionName</code>| Subscription name|  None SubscriptionType| <code>subscriptionType</code>|   Subscription type <br/><br/>Three subscription types are available:<li>Exclusive</li><li>Failover</li><li>Shared</li>|SubscriptionType.Exclusive int | <c [...]
+<p>Type | Name| <div style="width:300px">Description</div>|  Default |---|---|---|--- Set&lt;String&gt;|  <code>topicNames</code>|   Topic name| Sets.newTreeSet() Pattern|   <code>topicsPattern</code>| Topic pattern   |None String| <code>subscriptionName</code>| Subscription name|  None SubscriptionType| <code>subscriptionType</code>|   Subscription type <br/><br/>Four subscription types are available:<li>Exclusive</li><li>Failover</li><li>Shared</li><li>키 공유 모드</li>|SubscriptionType.Exc [...]
 SortedMap&lt;String, String&gt;|<code>properties</code>|A name or value property of this consumer.<br/><br/><code>properties</code> is application defined metadata attached to a consumer. <br/><br/>When getting a topic stats, associate this metadata with the consumer stats for easier identification.|new TreeMap&lt;&gt;() boolean|<code>readCompacted</code>|If enabling <code>readCompacted</code>, a consumer reads messages from a compacted topic rather than reading a full message backlog of [...]
 <p>You can configure parameters if you do not want to use the default configuration. For a full list, see the Javadoc for the <a href="https://pulsar.incubator.apache.org/api/client/2.7.0-SNAPSHOT/org/apache/pulsar/client/api/ConsumerBuilder">ConsumerBuilder</a>
  class.</p>
diff --git a/content/docs/ko/2.6.2/client-libraries-java/index.html b/content/docs/ko/2.6.2/client-libraries-java/index.html
index be5c1a8..1c5ef03 100644
--- a/content/docs/ko/2.6.2/client-libraries-java/index.html
+++ b/content/docs/ko/2.6.2/client-libraries-java/index.html
@@ -256,7 +256,7 @@ producer.closeAsync()
 <h3><a class="anchor" aria-hidden="true" id="configure-consumer"></a><a href="#configure-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- [...]
 <p>If you instantiate a <code>Consumer</code> object by specifying only a topic and subscription name as in the example above, the consumer uses the default configuration.</p>
 <p>When you create a consumer, you can use the <code>loadConf</code> configuration. The following parameters are available in <code>loadConf</code>.</p>
-<p>Type | Name| <div style="width:300px">Description</div>|  Default |---|---|---|--- Set&lt;String&gt;|  <code>topicNames</code>|   Topic name| Sets.newTreeSet() Pattern|   <code>topicsPattern</code>| Topic pattern   |None String| <code>subscriptionName</code>| Subscription name|  None SubscriptionType| <code>subscriptionType</code>|   Subscription type <br/><br/>Three subscription types are available:<li>Exclusive</li><li>Failover</li><li>Shared</li>|SubscriptionType.Exclusive int | <c [...]
+<p>Type | Name| <div style="width:300px">Description</div>|  Default |---|---|---|--- Set&lt;String&gt;|  <code>topicNames</code>|   Topic name| Sets.newTreeSet() Pattern|   <code>topicsPattern</code>| Topic pattern   |None String| <code>subscriptionName</code>| Subscription name|  None SubscriptionType| <code>subscriptionType</code>|   Subscription type <br/><br/>Four subscription types are available:<li>Exclusive</li><li>Failover</li><li>Shared</li><li>키 공유 모드</li>|SubscriptionType.Exc [...]
 SortedMap&lt;String, String&gt;|<code>properties</code>|A name or value property of this consumer.<br/><br/><code>properties</code> is application defined metadata attached to a consumer. <br/><br/>When getting a topic stats, associate this metadata with the consumer stats for easier identification.|new TreeMap&lt;&gt;() boolean|<code>readCompacted</code>|If enabling <code>readCompacted</code>, a consumer reads messages from a compacted topic rather than reading a full message backlog of [...]
 <p>You can configure parameters if you do not want to use the default configuration. For a full list, see the Javadoc for the <a href="https://pulsar.incubator.apache.org/api/client/2.7.0-SNAPSHOT/org/apache/pulsar/client/api/ConsumerBuilder">ConsumerBuilder</a>
  class.</p>
diff --git a/content/docs/ko/2.6.2/client-libraries-node.html b/content/docs/ko/2.6.2/client-libraries-node.html
index 36b8b12..2e71651 100644
--- a/content/docs/ko/2.6.2/client-libraries-node.html
+++ b/content/docs/ko/2.6.2/client-libraries-node.html
@@ -266,7 +266,7 @@ In this example, using await operator instead of executor function.</p>
 <tbody>
 <tr><td style="text-align:left"><code>토픽</code></td><td style="text-align:left">The Pulsar <a href="/docs/ko/2.6.2/reference-terminology#topic">topic</a> on which the consumer will establish a subscription and listen for messages.</td><td style="text-align:left"></td></tr>
 <tr><td style="text-align:left"><code>subscription</code></td><td style="text-align:left">The subscription name for this consumer.</td><td style="text-align:left"></td></tr>
-<tr><td style="text-align:left"><code>subscriptionType</code></td><td style="text-align:left">Available options are <code>Exclusive</code>, <code>Shared</code>, and <code>Failover</code>.</td><td style="text-align:left"><code>Exclusive</code></td></tr>
+<tr><td style="text-align:left"><code>subscriptionType</code></td><td style="text-align:left">Available options are <code>Exclusive</code>, <code>Shared</code>, <code>Key_Shared</code>, and <code>Failover</code>.</td><td style="text-align:left"><code>Exclusive</code></td></tr>
 <tr><td style="text-align:left"><code>ackTimeoutMs</code></td><td style="text-align:left">Acknowledge timeout in milliseconds.</td><td style="text-align:left">0</td></tr>
 <tr><td style="text-align:left"><code>receiverQueueSize</code></td><td style="text-align:left">Sets the size of the consumer's receiver queue, i.e. the number of messages that can be accumulated by the consumer before the application calls <code>receive</code>. A value higher than the default of 1000 could increase consumer throughput, though at the expense of more memory utilization.</td><td style="text-align:left">1000</td></tr>
 <tr><td style="text-align:left"><code>receiverQueueSizeAcrossPartitions</code></td><td style="text-align:left">Set the max total receiver queue size across partitions. This setting will be used to reduce the receiver queue size for individual partitions if the total exceeds this value.</td><td style="text-align:left">50000</td></tr>
diff --git a/content/docs/ko/2.6.2/client-libraries-node/index.html b/content/docs/ko/2.6.2/client-libraries-node/index.html
index 36b8b12..2e71651 100644
--- a/content/docs/ko/2.6.2/client-libraries-node/index.html
+++ b/content/docs/ko/2.6.2/client-libraries-node/index.html
@@ -266,7 +266,7 @@ In this example, using await operator instead of executor function.</p>
 <tbody>
 <tr><td style="text-align:left"><code>토픽</code></td><td style="text-align:left">The Pulsar <a href="/docs/ko/2.6.2/reference-terminology#topic">topic</a> on which the consumer will establish a subscription and listen for messages.</td><td style="text-align:left"></td></tr>
 <tr><td style="text-align:left"><code>subscription</code></td><td style="text-align:left">The subscription name for this consumer.</td><td style="text-align:left"></td></tr>
-<tr><td style="text-align:left"><code>subscriptionType</code></td><td style="text-align:left">Available options are <code>Exclusive</code>, <code>Shared</code>, and <code>Failover</code>.</td><td style="text-align:left"><code>Exclusive</code></td></tr>
+<tr><td style="text-align:left"><code>subscriptionType</code></td><td style="text-align:left">Available options are <code>Exclusive</code>, <code>Shared</code>, <code>Key_Shared</code>, and <code>Failover</code>.</td><td style="text-align:left"><code>Exclusive</code></td></tr>
 <tr><td style="text-align:left"><code>ackTimeoutMs</code></td><td style="text-align:left">Acknowledge timeout in milliseconds.</td><td style="text-align:left">0</td></tr>
 <tr><td style="text-align:left"><code>receiverQueueSize</code></td><td style="text-align:left">Sets the size of the consumer's receiver queue, i.e. the number of messages that can be accumulated by the consumer before the application calls <code>receive</code>. A value higher than the default of 1000 could increase consumer throughput, though at the expense of more memory utilization.</td><td style="text-align:left">1000</td></tr>
 <tr><td style="text-align:left"><code>receiverQueueSizeAcrossPartitions</code></td><td style="text-align:left">Set the max total receiver queue size across partitions. This setting will be used to reduce the receiver queue size for individual partitions if the total exceeds this value.</td><td style="text-align:left">50000</td></tr>
diff --git a/content/docs/ko/2.6.2/client-libraries-websocket.html b/content/docs/ko/2.6.2/client-libraries-websocket.html
index 691fe1b..4fc0fb9 100644
--- a/content/docs/ko/2.6.2/client-libraries-websocket.html
+++ b/content/docs/ko/2.6.2/client-libraries-websocket.html
@@ -184,7 +184,7 @@
 </thead>
 <tbody>
 <tr><td style="text-align:left"><code>ackTimeoutMillis</code></td><td style="text-align:left">long</td><td style="text-align:left">no</td><td style="text-align:left">Set the timeout for unacked messages (default: 0)</td></tr>
-<tr><td style="text-align:left"><code>subscriptionType</code></td><td style="text-align:left">string</td><td style="text-align:left">no</td><td style="text-align:left"><a href="https://pulsar.apache.org/api/client/2.7.0-SNAPSHOT/index.html?org/apache/pulsar/client/api/SubscriptionType.html">Subscription type</a>: <code>Exclusive</code>, <code>Failover</code>, <code>Shared</code></td></tr>
+<tr><td style="text-align:left"><code>subscriptionType</code></td><td style="text-align:left">string</td><td style="text-align:left">no</td><td style="text-align:left"><a href="https://pulsar.apache.org/api/client/2.7.0-SNAPSHOT/index.html?org/apache/pulsar/client/api/SubscriptionType.html">Subscription type</a>: <code>Exclusive</code>, <code>Failover</code>, <code>Shared</code>, <code>Key_Shared</code></td></tr>
 <tr><td style="text-align:left"><code>receiverQueueSize</code></td><td style="text-align:left">int</td><td style="text-align:left">no</td><td style="text-align:left">Size of the consumer receive queue (default: 1000)</td></tr>
 <tr><td style="text-align:left"><code>consumerName</code></td><td style="text-align:left">string</td><td style="text-align:left">no</td><td style="text-align:left">Consumer name</td></tr>
 <tr><td style="text-align:left"><code>priorityLevel</code></td><td style="text-align:left">int</td><td style="text-align:left">no</td><td style="text-align:left">Define a <a href="http://pulsar.apache.org/api/client/2.7.0-SNAPSHOT/org/apache/pulsar/client/api/ConsumerConfiguration.html#setPriorityLevel-int-">priority</a> for the consumer</td></tr>
diff --git a/content/docs/ko/2.6.2/client-libraries-websocket/index.html b/content/docs/ko/2.6.2/client-libraries-websocket/index.html
index 691fe1b..4fc0fb9 100644
--- a/content/docs/ko/2.6.2/client-libraries-websocket/index.html
+++ b/content/docs/ko/2.6.2/client-libraries-websocket/index.html
@@ -184,7 +184,7 @@
 </thead>
 <tbody>
 <tr><td style="text-align:left"><code>ackTimeoutMillis</code></td><td style="text-align:left">long</td><td style="text-align:left">no</td><td style="text-align:left">Set the timeout for unacked messages (default: 0)</td></tr>
-<tr><td style="text-align:left"><code>subscriptionType</code></td><td style="text-align:left">string</td><td style="text-align:left">no</td><td style="text-align:left"><a href="https://pulsar.apache.org/api/client/2.7.0-SNAPSHOT/index.html?org/apache/pulsar/client/api/SubscriptionType.html">Subscription type</a>: <code>Exclusive</code>, <code>Failover</code>, <code>Shared</code></td></tr>
+<tr><td style="text-align:left"><code>subscriptionType</code></td><td style="text-align:left">string</td><td style="text-align:left">no</td><td style="text-align:left"><a href="https://pulsar.apache.org/api/client/2.7.0-SNAPSHOT/index.html?org/apache/pulsar/client/api/SubscriptionType.html">Subscription type</a>: <code>Exclusive</code>, <code>Failover</code>, <code>Shared</code>, <code>Key_Shared</code></td></tr>
 <tr><td style="text-align:left"><code>receiverQueueSize</code></td><td style="text-align:left">int</td><td style="text-align:left">no</td><td style="text-align:left">Size of the consumer receive queue (default: 1000)</td></tr>
 <tr><td style="text-align:left"><code>consumerName</code></td><td style="text-align:left">string</td><td style="text-align:left">no</td><td style="text-align:left">Consumer name</td></tr>
 <tr><td style="text-align:left"><code>priorityLevel</code></td><td style="text-align:left">int</td><td style="text-align:left">no</td><td style="text-align:left">Define a <a href="http://pulsar.apache.org/api/client/2.7.0-SNAPSHOT/org/apache/pulsar/client/api/ConsumerConfiguration.html#setPriorityLevel-int-">priority</a> for the consumer</td></tr>
diff --git a/content/docs/ko/2.6.2/reference-metrics.html b/content/docs/ko/2.6.2/reference-metrics.html
index 07c37d4..79751bd 100644
--- a/content/docs/ko/2.6.2/reference-metrics.html
+++ b/content/docs/ko/2.6.2/reference-metrics.html
@@ -134,8 +134,8 @@
 <tr><td>bookkeeper_server_READ_ENTRY_count</td><td>Counter</td><td>The total number of READ_ENTRY requests received at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
 <tr><td>bookie_WRITE_BYTES</td><td>Counter</td><td>The total number of bytes written to the bookie.</td></tr>
 <tr><td>bookie_READ_BYTES</td><td>Counter</td><td>The total number of bytes read from the bookie.</td></tr>
-<tr><td>bookkeeper_server_ADD_ENTRY_REQUEST</td><td>Histogram</td><td>The histogram of request latency of ADD_ENTRY requests at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
-<tr><td>bookkeeper_server_READ_ENTRY_REQUEST</td><td>Histogram</td><td>The histogram of request latency of READ_ENTRY requests at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
+<tr><td>bookkeeper_server_ADD_ENTRY_REQUEST</td><td>Summary</td><td>The summary of request latency of ADD_ENTRY requests at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
+<tr><td>bookkeeper_server_READ_ENTRY_REQUEST</td><td>Summary</td><td>The summary of request latency of READ_ENTRY requests at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
 </tbody>
 </table>
 <h3><a class="anchor" aria-hidden="true" id="journal-metrics"></a><a href="#journal-metrics" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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  [...]
@@ -148,8 +148,8 @@
 <tr><td>bookie_journal_JOURNAL_QUEUE_SIZE</td><td>Gauge</td><td>The total number of requests pending in the journal queue.</td></tr>
 <tr><td>bookie_journal_JOURNAL_FORCE_WRITE_QUEUE_SIZE</td><td>Gauge</td><td>The total number of force write (fsync) requests pending in the force-write queue.</td></tr>
 <tr><td>bookie_journal_JOURNAL_CB_QUEUE_SIZE</td><td>Gauge</td><td>The total number of callbacks pending in the callback queue.</td></tr>
-<tr><td>bookie_journal_JOURNAL_ADD_ENTRY</td><td>Histogram</td><td>The histogram of request latency of adding entries to the journal.</td></tr>
-<tr><td>bookie_journal_JOURNAL_SYNC</td><td>Histogram</td><td>The histogram of fsync latency of syncing data to the journal disk.</td></tr>
+<tr><td>bookie_journal_JOURNAL_ADD_ENTRY</td><td>Summary</td><td>The summary of request latency of adding entries to the journal.</td></tr>
+<tr><td>bookie_journal_JOURNAL_SYNC</td><td>Summary</td><td>The summary of fsync latency of syncing data to the journal disk.</td></tr>
 </tbody>
 </table>
 <h3><a class="anchor" aria-hidden="true" id="storage-metrics"></a><a href="#storage-metrics" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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  [...]
diff --git a/content/docs/ko/2.6.2/reference-metrics/index.html b/content/docs/ko/2.6.2/reference-metrics/index.html
index 07c37d4..79751bd 100644
--- a/content/docs/ko/2.6.2/reference-metrics/index.html
+++ b/content/docs/ko/2.6.2/reference-metrics/index.html
@@ -134,8 +134,8 @@
 <tr><td>bookkeeper_server_READ_ENTRY_count</td><td>Counter</td><td>The total number of READ_ENTRY requests received at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
 <tr><td>bookie_WRITE_BYTES</td><td>Counter</td><td>The total number of bytes written to the bookie.</td></tr>
 <tr><td>bookie_READ_BYTES</td><td>Counter</td><td>The total number of bytes read from the bookie.</td></tr>
-<tr><td>bookkeeper_server_ADD_ENTRY_REQUEST</td><td>Histogram</td><td>The histogram of request latency of ADD_ENTRY requests at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
-<tr><td>bookkeeper_server_READ_ENTRY_REQUEST</td><td>Histogram</td><td>The histogram of request latency of READ_ENTRY requests at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
+<tr><td>bookkeeper_server_ADD_ENTRY_REQUEST</td><td>Summary</td><td>The summary of request latency of ADD_ENTRY requests at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
+<tr><td>bookkeeper_server_READ_ENTRY_REQUEST</td><td>Summary</td><td>The summary of request latency of READ_ENTRY requests at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
 </tbody>
 </table>
 <h3><a class="anchor" aria-hidden="true" id="journal-metrics"></a><a href="#journal-metrics" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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  [...]
@@ -148,8 +148,8 @@
 <tr><td>bookie_journal_JOURNAL_QUEUE_SIZE</td><td>Gauge</td><td>The total number of requests pending in the journal queue.</td></tr>
 <tr><td>bookie_journal_JOURNAL_FORCE_WRITE_QUEUE_SIZE</td><td>Gauge</td><td>The total number of force write (fsync) requests pending in the force-write queue.</td></tr>
 <tr><td>bookie_journal_JOURNAL_CB_QUEUE_SIZE</td><td>Gauge</td><td>The total number of callbacks pending in the callback queue.</td></tr>
-<tr><td>bookie_journal_JOURNAL_ADD_ENTRY</td><td>Histogram</td><td>The histogram of request latency of adding entries to the journal.</td></tr>
-<tr><td>bookie_journal_JOURNAL_SYNC</td><td>Histogram</td><td>The histogram of fsync latency of syncing data to the journal disk.</td></tr>
+<tr><td>bookie_journal_JOURNAL_ADD_ENTRY</td><td>Summary</td><td>The summary of request latency of adding entries to the journal.</td></tr>
+<tr><td>bookie_journal_JOURNAL_SYNC</td><td>Summary</td><td>The summary of fsync latency of syncing data to the journal disk.</td></tr>
 </tbody>
 </table>
 <h3><a class="anchor" aria-hidden="true" id="storage-metrics"></a><a href="#storage-metrics" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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  [...]
diff --git a/content/docs/ko/2.6.3/client-libraries-java.html b/content/docs/ko/2.6.3/client-libraries-java.html
index 7cc0a7c..40d415a 100644
--- a/content/docs/ko/2.6.3/client-libraries-java.html
+++ b/content/docs/ko/2.6.3/client-libraries-java.html
@@ -256,7 +256,7 @@ producer.closeAsync()
 <h3><a class="anchor" aria-hidden="true" id="configure-consumer"></a><a href="#configure-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- [...]
 <p>If you instantiate a <code>Consumer</code> object by specifying only a topic and subscription name as in the example above, the consumer uses the default configuration.</p>
 <p>When you create a consumer, you can use the <code>loadConf</code> configuration. The following parameters are available in <code>loadConf</code>.</p>
-<p>Type | Name| <div style="width:300px">Description</div>|  Default |---|---|---|--- Set&lt;String&gt;|  <code>topicNames</code>|   Topic name| Sets.newTreeSet() Pattern|   <code>topicsPattern</code>| Topic pattern   |None String| <code>subscriptionName</code>| Subscription name|  None SubscriptionType| <code>subscriptionType</code>|   Subscription type <br/><br/>Three subscription types are available:<li>Exclusive</li><li>Failover</li><li>Shared</li>|SubscriptionType.Exclusive int | <c [...]
+<p>Type | Name| <div style="width:300px">Description</div>|  Default |---|---|---|--- Set&lt;String&gt;|  <code>topicNames</code>|   Topic name| Sets.newTreeSet() Pattern|   <code>topicsPattern</code>| Topic pattern   |None String| <code>subscriptionName</code>| Subscription name|  None SubscriptionType| <code>subscriptionType</code>|   Subscription type <br/><br/>Four subscription types are available:<li>Exclusive</li><li>Failover</li><li>Shared</li><li>키 공유 모드</li>|SubscriptionType.Exc [...]
 SortedMap&lt;String, String&gt;|<code>properties</code>|A name or value property of this consumer.<br/><br/><code>properties</code> is application defined metadata attached to a consumer. <br/><br/>When getting a topic stats, associate this metadata with the consumer stats for easier identification.|new TreeMap&lt;&gt;() boolean|<code>readCompacted</code>|If enabling <code>readCompacted</code>, a consumer reads messages from a compacted topic rather than reading a full message backlog of [...]
 <p>You can configure parameters if you do not want to use the default configuration. For a full list, see the Javadoc for the <a href="https://pulsar.incubator.apache.org/api/client/2.7.0-SNAPSHOT/org/apache/pulsar/client/api/ConsumerBuilder">ConsumerBuilder</a>
  class.</p>
diff --git a/content/docs/ko/2.6.3/client-libraries-java/index.html b/content/docs/ko/2.6.3/client-libraries-java/index.html
index 7cc0a7c..40d415a 100644
--- a/content/docs/ko/2.6.3/client-libraries-java/index.html
+++ b/content/docs/ko/2.6.3/client-libraries-java/index.html
@@ -256,7 +256,7 @@ producer.closeAsync()
 <h3><a class="anchor" aria-hidden="true" id="configure-consumer"></a><a href="#configure-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- [...]
 <p>If you instantiate a <code>Consumer</code> object by specifying only a topic and subscription name as in the example above, the consumer uses the default configuration.</p>
 <p>When you create a consumer, you can use the <code>loadConf</code> configuration. The following parameters are available in <code>loadConf</code>.</p>
-<p>Type | Name| <div style="width:300px">Description</div>|  Default |---|---|---|--- Set&lt;String&gt;|  <code>topicNames</code>|   Topic name| Sets.newTreeSet() Pattern|   <code>topicsPattern</code>| Topic pattern   |None String| <code>subscriptionName</code>| Subscription name|  None SubscriptionType| <code>subscriptionType</code>|   Subscription type <br/><br/>Three subscription types are available:<li>Exclusive</li><li>Failover</li><li>Shared</li>|SubscriptionType.Exclusive int | <c [...]
+<p>Type | Name| <div style="width:300px">Description</div>|  Default |---|---|---|--- Set&lt;String&gt;|  <code>topicNames</code>|   Topic name| Sets.newTreeSet() Pattern|   <code>topicsPattern</code>| Topic pattern   |None String| <code>subscriptionName</code>| Subscription name|  None SubscriptionType| <code>subscriptionType</code>|   Subscription type <br/><br/>Four subscription types are available:<li>Exclusive</li><li>Failover</li><li>Shared</li><li>키 공유 모드</li>|SubscriptionType.Exc [...]
 SortedMap&lt;String, String&gt;|<code>properties</code>|A name or value property of this consumer.<br/><br/><code>properties</code> is application defined metadata attached to a consumer. <br/><br/>When getting a topic stats, associate this metadata with the consumer stats for easier identification.|new TreeMap&lt;&gt;() boolean|<code>readCompacted</code>|If enabling <code>readCompacted</code>, a consumer reads messages from a compacted topic rather than reading a full message backlog of [...]
 <p>You can configure parameters if you do not want to use the default configuration. For a full list, see the Javadoc for the <a href="https://pulsar.incubator.apache.org/api/client/2.7.0-SNAPSHOT/org/apache/pulsar/client/api/ConsumerBuilder">ConsumerBuilder</a>
  class.</p>
diff --git a/content/docs/ko/2.6.3/client-libraries-node.html b/content/docs/ko/2.6.3/client-libraries-node.html
index 6814599..0444faf 100644
--- a/content/docs/ko/2.6.3/client-libraries-node.html
+++ b/content/docs/ko/2.6.3/client-libraries-node.html
@@ -266,7 +266,7 @@ In this example, using await operator instead of executor function.</p>
 <tbody>
 <tr><td style="text-align:left"><code>토픽</code></td><td style="text-align:left">The Pulsar <a href="/docs/ko/2.6.3/reference-terminology#topic">topic</a> on which the consumer will establish a subscription and listen for messages.</td><td style="text-align:left"></td></tr>
 <tr><td style="text-align:left"><code>subscription</code></td><td style="text-align:left">The subscription name for this consumer.</td><td style="text-align:left"></td></tr>
-<tr><td style="text-align:left"><code>subscriptionType</code></td><td style="text-align:left">Available options are <code>Exclusive</code>, <code>Shared</code>, and <code>Failover</code>.</td><td style="text-align:left"><code>Exclusive</code></td></tr>
+<tr><td style="text-align:left"><code>subscriptionType</code></td><td style="text-align:left">Available options are <code>Exclusive</code>, <code>Shared</code>, <code>Key_Shared</code>, and <code>Failover</code>.</td><td style="text-align:left"><code>Exclusive</code></td></tr>
 <tr><td style="text-align:left"><code>ackTimeoutMs</code></td><td style="text-align:left">Acknowledge timeout in milliseconds.</td><td style="text-align:left">0</td></tr>
 <tr><td style="text-align:left"><code>receiverQueueSize</code></td><td style="text-align:left">Sets the size of the consumer's receiver queue, i.e. the number of messages that can be accumulated by the consumer before the application calls <code>receive</code>. A value higher than the default of 1000 could increase consumer throughput, though at the expense of more memory utilization.</td><td style="text-align:left">1000</td></tr>
 <tr><td style="text-align:left"><code>receiverQueueSizeAcrossPartitions</code></td><td style="text-align:left">Set the max total receiver queue size across partitions. This setting will be used to reduce the receiver queue size for individual partitions if the total exceeds this value.</td><td style="text-align:left">50000</td></tr>
diff --git a/content/docs/ko/2.6.3/client-libraries-node/index.html b/content/docs/ko/2.6.3/client-libraries-node/index.html
index 6814599..0444faf 100644
--- a/content/docs/ko/2.6.3/client-libraries-node/index.html
+++ b/content/docs/ko/2.6.3/client-libraries-node/index.html
@@ -266,7 +266,7 @@ In this example, using await operator instead of executor function.</p>
 <tbody>
 <tr><td style="text-align:left"><code>토픽</code></td><td style="text-align:left">The Pulsar <a href="/docs/ko/2.6.3/reference-terminology#topic">topic</a> on which the consumer will establish a subscription and listen for messages.</td><td style="text-align:left"></td></tr>
 <tr><td style="text-align:left"><code>subscription</code></td><td style="text-align:left">The subscription name for this consumer.</td><td style="text-align:left"></td></tr>
-<tr><td style="text-align:left"><code>subscriptionType</code></td><td style="text-align:left">Available options are <code>Exclusive</code>, <code>Shared</code>, and <code>Failover</code>.</td><td style="text-align:left"><code>Exclusive</code></td></tr>
+<tr><td style="text-align:left"><code>subscriptionType</code></td><td style="text-align:left">Available options are <code>Exclusive</code>, <code>Shared</code>, <code>Key_Shared</code>, and <code>Failover</code>.</td><td style="text-align:left"><code>Exclusive</code></td></tr>
 <tr><td style="text-align:left"><code>ackTimeoutMs</code></td><td style="text-align:left">Acknowledge timeout in milliseconds.</td><td style="text-align:left">0</td></tr>
 <tr><td style="text-align:left"><code>receiverQueueSize</code></td><td style="text-align:left">Sets the size of the consumer's receiver queue, i.e. the number of messages that can be accumulated by the consumer before the application calls <code>receive</code>. A value higher than the default of 1000 could increase consumer throughput, though at the expense of more memory utilization.</td><td style="text-align:left">1000</td></tr>
 <tr><td style="text-align:left"><code>receiverQueueSizeAcrossPartitions</code></td><td style="text-align:left">Set the max total receiver queue size across partitions. This setting will be used to reduce the receiver queue size for individual partitions if the total exceeds this value.</td><td style="text-align:left">50000</td></tr>
diff --git a/content/docs/ko/2.6.3/client-libraries-websocket.html b/content/docs/ko/2.6.3/client-libraries-websocket.html
index ef37395..5e6818e 100644
--- a/content/docs/ko/2.6.3/client-libraries-websocket.html
+++ b/content/docs/ko/2.6.3/client-libraries-websocket.html
@@ -184,7 +184,7 @@
 </thead>
 <tbody>
 <tr><td style="text-align:left"><code>ackTimeoutMillis</code></td><td style="text-align:left">long</td><td style="text-align:left">no</td><td style="text-align:left">Set the timeout for unacked messages (default: 0)</td></tr>
-<tr><td style="text-align:left"><code>subscriptionType</code></td><td style="text-align:left">string</td><td style="text-align:left">no</td><td style="text-align:left"><a href="https://pulsar.apache.org/api/client/2.7.0-SNAPSHOT/index.html?org/apache/pulsar/client/api/SubscriptionType.html">Subscription type</a>: <code>Exclusive</code>, <code>Failover</code>, <code>Shared</code></td></tr>
+<tr><td style="text-align:left"><code>subscriptionType</code></td><td style="text-align:left">string</td><td style="text-align:left">no</td><td style="text-align:left"><a href="https://pulsar.apache.org/api/client/2.7.0-SNAPSHOT/index.html?org/apache/pulsar/client/api/SubscriptionType.html">Subscription type</a>: <code>Exclusive</code>, <code>Failover</code>, <code>Shared</code>, <code>Key_Shared</code></td></tr>
 <tr><td style="text-align:left"><code>receiverQueueSize</code></td><td style="text-align:left">int</td><td style="text-align:left">no</td><td style="text-align:left">Size of the consumer receive queue (default: 1000)</td></tr>
 <tr><td style="text-align:left"><code>consumerName</code></td><td style="text-align:left">string</td><td style="text-align:left">no</td><td style="text-align:left">Consumer name</td></tr>
 <tr><td style="text-align:left"><code>priorityLevel</code></td><td style="text-align:left">int</td><td style="text-align:left">no</td><td style="text-align:left">Define a <a href="http://pulsar.apache.org/api/client/2.7.0-SNAPSHOT/org/apache/pulsar/client/api/ConsumerConfiguration.html#setPriorityLevel-int-">priority</a> for the consumer</td></tr>
diff --git a/content/docs/ko/2.6.3/client-libraries-websocket/index.html b/content/docs/ko/2.6.3/client-libraries-websocket/index.html
index ef37395..5e6818e 100644
--- a/content/docs/ko/2.6.3/client-libraries-websocket/index.html
+++ b/content/docs/ko/2.6.3/client-libraries-websocket/index.html
@@ -184,7 +184,7 @@
 </thead>
 <tbody>
 <tr><td style="text-align:left"><code>ackTimeoutMillis</code></td><td style="text-align:left">long</td><td style="text-align:left">no</td><td style="text-align:left">Set the timeout for unacked messages (default: 0)</td></tr>
-<tr><td style="text-align:left"><code>subscriptionType</code></td><td style="text-align:left">string</td><td style="text-align:left">no</td><td style="text-align:left"><a href="https://pulsar.apache.org/api/client/2.7.0-SNAPSHOT/index.html?org/apache/pulsar/client/api/SubscriptionType.html">Subscription type</a>: <code>Exclusive</code>, <code>Failover</code>, <code>Shared</code></td></tr>
+<tr><td style="text-align:left"><code>subscriptionType</code></td><td style="text-align:left">string</td><td style="text-align:left">no</td><td style="text-align:left"><a href="https://pulsar.apache.org/api/client/2.7.0-SNAPSHOT/index.html?org/apache/pulsar/client/api/SubscriptionType.html">Subscription type</a>: <code>Exclusive</code>, <code>Failover</code>, <code>Shared</code>, <code>Key_Shared</code></td></tr>
 <tr><td style="text-align:left"><code>receiverQueueSize</code></td><td style="text-align:left">int</td><td style="text-align:left">no</td><td style="text-align:left">Size of the consumer receive queue (default: 1000)</td></tr>
 <tr><td style="text-align:left"><code>consumerName</code></td><td style="text-align:left">string</td><td style="text-align:left">no</td><td style="text-align:left">Consumer name</td></tr>
 <tr><td style="text-align:left"><code>priorityLevel</code></td><td style="text-align:left">int</td><td style="text-align:left">no</td><td style="text-align:left">Define a <a href="http://pulsar.apache.org/api/client/2.7.0-SNAPSHOT/org/apache/pulsar/client/api/ConsumerConfiguration.html#setPriorityLevel-int-">priority</a> for the consumer</td></tr>
diff --git a/content/docs/ko/2.6.3/reference-metrics.html b/content/docs/ko/2.6.3/reference-metrics.html
index fe45c06..eb689f2 100644
--- a/content/docs/ko/2.6.3/reference-metrics.html
+++ b/content/docs/ko/2.6.3/reference-metrics.html
@@ -134,8 +134,8 @@
 <tr><td>bookkeeper_server_READ_ENTRY_count</td><td>Counter</td><td>The total number of READ_ENTRY requests received at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
 <tr><td>bookie_WRITE_BYTES</td><td>Counter</td><td>The total number of bytes written to the bookie.</td></tr>
 <tr><td>bookie_READ_BYTES</td><td>Counter</td><td>The total number of bytes read from the bookie.</td></tr>
-<tr><td>bookkeeper_server_ADD_ENTRY_REQUEST</td><td>Histogram</td><td>The histogram of request latency of ADD_ENTRY requests at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
-<tr><td>bookkeeper_server_READ_ENTRY_REQUEST</td><td>Histogram</td><td>The histogram of request latency of READ_ENTRY requests at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
+<tr><td>bookkeeper_server_ADD_ENTRY_REQUEST</td><td>Summary</td><td>The summary of request latency of ADD_ENTRY requests at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
+<tr><td>bookkeeper_server_READ_ENTRY_REQUEST</td><td>Summary</td><td>The summary of request latency of READ_ENTRY requests at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
 </tbody>
 </table>
 <h3><a class="anchor" aria-hidden="true" id="journal-metrics"></a><a href="#journal-metrics" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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  [...]
@@ -148,8 +148,8 @@
 <tr><td>bookie_journal_JOURNAL_QUEUE_SIZE</td><td>Gauge</td><td>The total number of requests pending in the journal queue.</td></tr>
 <tr><td>bookie_journal_JOURNAL_FORCE_WRITE_QUEUE_SIZE</td><td>Gauge</td><td>The total number of force write (fsync) requests pending in the force-write queue.</td></tr>
 <tr><td>bookie_journal_JOURNAL_CB_QUEUE_SIZE</td><td>Gauge</td><td>The total number of callbacks pending in the callback queue.</td></tr>
-<tr><td>bookie_journal_JOURNAL_ADD_ENTRY</td><td>Histogram</td><td>The histogram of request latency of adding entries to the journal.</td></tr>
-<tr><td>bookie_journal_JOURNAL_SYNC</td><td>Histogram</td><td>The histogram of fsync latency of syncing data to the journal disk.</td></tr>
+<tr><td>bookie_journal_JOURNAL_ADD_ENTRY</td><td>Summary</td><td>The summary of request latency of adding entries to the journal.</td></tr>
+<tr><td>bookie_journal_JOURNAL_SYNC</td><td>Summary</td><td>The summary of fsync latency of syncing data to the journal disk.</td></tr>
 </tbody>
 </table>
 <h3><a class="anchor" aria-hidden="true" id="storage-metrics"></a><a href="#storage-metrics" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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  [...]
diff --git a/content/docs/ko/2.6.3/reference-metrics/index.html b/content/docs/ko/2.6.3/reference-metrics/index.html
index fe45c06..eb689f2 100644
--- a/content/docs/ko/2.6.3/reference-metrics/index.html
+++ b/content/docs/ko/2.6.3/reference-metrics/index.html
@@ -134,8 +134,8 @@
 <tr><td>bookkeeper_server_READ_ENTRY_count</td><td>Counter</td><td>The total number of READ_ENTRY requests received at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
 <tr><td>bookie_WRITE_BYTES</td><td>Counter</td><td>The total number of bytes written to the bookie.</td></tr>
 <tr><td>bookie_READ_BYTES</td><td>Counter</td><td>The total number of bytes read from the bookie.</td></tr>
-<tr><td>bookkeeper_server_ADD_ENTRY_REQUEST</td><td>Histogram</td><td>The histogram of request latency of ADD_ENTRY requests at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
-<tr><td>bookkeeper_server_READ_ENTRY_REQUEST</td><td>Histogram</td><td>The histogram of request latency of READ_ENTRY requests at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
+<tr><td>bookkeeper_server_ADD_ENTRY_REQUEST</td><td>Summary</td><td>The summary of request latency of ADD_ENTRY requests at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
+<tr><td>bookkeeper_server_READ_ENTRY_REQUEST</td><td>Summary</td><td>The summary of request latency of READ_ENTRY requests at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
 </tbody>
 </table>
 <h3><a class="anchor" aria-hidden="true" id="journal-metrics"></a><a href="#journal-metrics" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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  [...]
@@ -148,8 +148,8 @@
 <tr><td>bookie_journal_JOURNAL_QUEUE_SIZE</td><td>Gauge</td><td>The total number of requests pending in the journal queue.</td></tr>
 <tr><td>bookie_journal_JOURNAL_FORCE_WRITE_QUEUE_SIZE</td><td>Gauge</td><td>The total number of force write (fsync) requests pending in the force-write queue.</td></tr>
 <tr><td>bookie_journal_JOURNAL_CB_QUEUE_SIZE</td><td>Gauge</td><td>The total number of callbacks pending in the callback queue.</td></tr>
-<tr><td>bookie_journal_JOURNAL_ADD_ENTRY</td><td>Histogram</td><td>The histogram of request latency of adding entries to the journal.</td></tr>
-<tr><td>bookie_journal_JOURNAL_SYNC</td><td>Histogram</td><td>The histogram of fsync latency of syncing data to the journal disk.</td></tr>
+<tr><td>bookie_journal_JOURNAL_ADD_ENTRY</td><td>Summary</td><td>The summary of request latency of adding entries to the journal.</td></tr>
+<tr><td>bookie_journal_JOURNAL_SYNC</td><td>Summary</td><td>The summary of fsync latency of syncing data to the journal disk.</td></tr>
 </tbody>
 </table>
 <h3><a class="anchor" aria-hidden="true" id="storage-metrics"></a><a href="#storage-metrics" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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  [...]
diff --git a/content/docs/ko/client-libraries-java.html b/content/docs/ko/client-libraries-java.html
index 6ce13f4..d3fb653 100644
--- a/content/docs/ko/client-libraries-java.html
+++ b/content/docs/ko/client-libraries-java.html
@@ -256,7 +256,7 @@ producer.closeAsync()
 <h3><a class="anchor" aria-hidden="true" id="configure-consumer"></a><a href="#configure-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- [...]
 <p>If you instantiate a <code>Consumer</code> object by specifying only a topic and subscription name as in the example above, the consumer uses the default configuration.</p>
 <p>When you create a consumer, you can use the <code>loadConf</code> configuration. The following parameters are available in <code>loadConf</code>.</p>
-<p>Type | Name| <div style="width:300px">Description</div>|  Default |---|---|---|--- Set&lt;String&gt;|  <code>topicNames</code>|   Topic name| Sets.newTreeSet() Pattern|   <code>topicsPattern</code>| Topic pattern   |None String| <code>subscriptionName</code>| Subscription name|  None SubscriptionType| <code>subscriptionType</code>|   Subscription type <br/><br/>Three subscription types are available:<li>Exclusive</li><li>Failover</li><li>Shared</li>|SubscriptionType.Exclusive int | <c [...]
+<p>Type | Name| <div style="width:300px">Description</div>|  Default |---|---|---|--- Set&lt;String&gt;|  <code>topicNames</code>|   Topic name| Sets.newTreeSet() Pattern|   <code>topicsPattern</code>| Topic pattern   |None String| <code>subscriptionName</code>| Subscription name|  None SubscriptionType| <code>subscriptionType</code>|   Subscription type <br/><br/>Four subscription types are available:<li>Exclusive</li><li>Failover</li><li>Shared</li><li>키 공유 모드</li>|SubscriptionType.Exc [...]
 SortedMap&lt;String, String&gt;|<code>properties</code>|A name or value property of this consumer.<br/><br/><code>properties</code> is application defined metadata attached to a consumer. <br/><br/>When getting a topic stats, associate this metadata with the consumer stats for easier identification.|new TreeMap&lt;&gt;() boolean|<code>readCompacted</code>|If enabling <code>readCompacted</code>, a consumer reads messages from a compacted topic rather than reading a full message backlog of [...]
 <p>You can configure parameters if you do not want to use the default configuration. For a full list, see the Javadoc for the <a href="https://pulsar.incubator.apache.org/api/client/2.7.0-SNAPSHOT/org/apache/pulsar/client/api/ConsumerBuilder">ConsumerBuilder</a>
  class.</p>
diff --git a/content/docs/ko/client-libraries-java/index.html b/content/docs/ko/client-libraries-java/index.html
index 6ce13f4..d3fb653 100644
--- a/content/docs/ko/client-libraries-java/index.html
+++ b/content/docs/ko/client-libraries-java/index.html
@@ -256,7 +256,7 @@ producer.closeAsync()
 <h3><a class="anchor" aria-hidden="true" id="configure-consumer"></a><a href="#configure-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- [...]
 <p>If you instantiate a <code>Consumer</code> object by specifying only a topic and subscription name as in the example above, the consumer uses the default configuration.</p>
 <p>When you create a consumer, you can use the <code>loadConf</code> configuration. The following parameters are available in <code>loadConf</code>.</p>
-<p>Type | Name| <div style="width:300px">Description</div>|  Default |---|---|---|--- Set&lt;String&gt;|  <code>topicNames</code>|   Topic name| Sets.newTreeSet() Pattern|   <code>topicsPattern</code>| Topic pattern   |None String| <code>subscriptionName</code>| Subscription name|  None SubscriptionType| <code>subscriptionType</code>|   Subscription type <br/><br/>Three subscription types are available:<li>Exclusive</li><li>Failover</li><li>Shared</li>|SubscriptionType.Exclusive int | <c [...]
+<p>Type | Name| <div style="width:300px">Description</div>|  Default |---|---|---|--- Set&lt;String&gt;|  <code>topicNames</code>|   Topic name| Sets.newTreeSet() Pattern|   <code>topicsPattern</code>| Topic pattern   |None String| <code>subscriptionName</code>| Subscription name|  None SubscriptionType| <code>subscriptionType</code>|   Subscription type <br/><br/>Four subscription types are available:<li>Exclusive</li><li>Failover</li><li>Shared</li><li>키 공유 모드</li>|SubscriptionType.Exc [...]
 SortedMap&lt;String, String&gt;|<code>properties</code>|A name or value property of this consumer.<br/><br/><code>properties</code> is application defined metadata attached to a consumer. <br/><br/>When getting a topic stats, associate this metadata with the consumer stats for easier identification.|new TreeMap&lt;&gt;() boolean|<code>readCompacted</code>|If enabling <code>readCompacted</code>, a consumer reads messages from a compacted topic rather than reading a full message backlog of [...]
 <p>You can configure parameters if you do not want to use the default configuration. For a full list, see the Javadoc for the <a href="https://pulsar.incubator.apache.org/api/client/2.7.0-SNAPSHOT/org/apache/pulsar/client/api/ConsumerBuilder">ConsumerBuilder</a>
  class.</p>
diff --git a/content/docs/ko/client-libraries-node.html b/content/docs/ko/client-libraries-node.html
index 66ded77..273c035 100644
--- a/content/docs/ko/client-libraries-node.html
+++ b/content/docs/ko/client-libraries-node.html
@@ -271,7 +271,7 @@ In this example, using await operator instead of executor function.</p>
 <tbody>
 <tr><td style="text-align:left"><code>토픽</code></td><td style="text-align:left">The Pulsar <a href="/docs/ko/reference-terminology#topic">topic</a> on which the consumer will establish a subscription and listen for messages.</td><td style="text-align:left"></td></tr>
 <tr><td style="text-align:left"><code>subscription</code></td><td style="text-align:left">The subscription name for this consumer.</td><td style="text-align:left"></td></tr>
-<tr><td style="text-align:left"><code>subscriptionType</code></td><td style="text-align:left">Available options are <code>Exclusive</code>, <code>Shared</code>, and <code>Failover</code>.</td><td style="text-align:left"><code>Exclusive</code></td></tr>
+<tr><td style="text-align:left"><code>subscriptionType</code></td><td style="text-align:left">Available options are <code>Exclusive</code>, <code>Shared</code>, <code>Key_Shared</code>, and <code>Failover</code>.</td><td style="text-align:left"><code>Exclusive</code></td></tr>
 <tr><td style="text-align:left"><code>subscriptionInitialPosition</code></td><td style="text-align:left">Initial position at which to set cursor when subscribing to a topic at first time.</td><td style="text-align:left"><code>SubscriptionInitialPosition.Latest</code></td></tr>
 <tr><td style="text-align:left"><code>ackTimeoutMs</code></td><td style="text-align:left">Acknowledge timeout in milliseconds.</td><td style="text-align:left">0</td></tr>
 <tr><td style="text-align:left"><code>nAckRedeliverTimeoutMs</code></td><td style="text-align:left">Delay to wait before redelivering messages that failed to be processed.</td><td style="text-align:left">60000</td></tr>
diff --git a/content/docs/ko/client-libraries-node/index.html b/content/docs/ko/client-libraries-node/index.html
index 66ded77..273c035 100644
--- a/content/docs/ko/client-libraries-node/index.html
+++ b/content/docs/ko/client-libraries-node/index.html
@@ -271,7 +271,7 @@ In this example, using await operator instead of executor function.</p>
 <tbody>
 <tr><td style="text-align:left"><code>토픽</code></td><td style="text-align:left">The Pulsar <a href="/docs/ko/reference-terminology#topic">topic</a> on which the consumer will establish a subscription and listen for messages.</td><td style="text-align:left"></td></tr>
 <tr><td style="text-align:left"><code>subscription</code></td><td style="text-align:left">The subscription name for this consumer.</td><td style="text-align:left"></td></tr>
-<tr><td style="text-align:left"><code>subscriptionType</code></td><td style="text-align:left">Available options are <code>Exclusive</code>, <code>Shared</code>, and <code>Failover</code>.</td><td style="text-align:left"><code>Exclusive</code></td></tr>
+<tr><td style="text-align:left"><code>subscriptionType</code></td><td style="text-align:left">Available options are <code>Exclusive</code>, <code>Shared</code>, <code>Key_Shared</code>, and <code>Failover</code>.</td><td style="text-align:left"><code>Exclusive</code></td></tr>
 <tr><td style="text-align:left"><code>subscriptionInitialPosition</code></td><td style="text-align:left">Initial position at which to set cursor when subscribing to a topic at first time.</td><td style="text-align:left"><code>SubscriptionInitialPosition.Latest</code></td></tr>
 <tr><td style="text-align:left"><code>ackTimeoutMs</code></td><td style="text-align:left">Acknowledge timeout in milliseconds.</td><td style="text-align:left">0</td></tr>
 <tr><td style="text-align:left"><code>nAckRedeliverTimeoutMs</code></td><td style="text-align:left">Delay to wait before redelivering messages that failed to be processed.</td><td style="text-align:left">60000</td></tr>
diff --git a/content/docs/ko/client-libraries-websocket.html b/content/docs/ko/client-libraries-websocket.html
index 509e928..3f43b0d 100644
--- a/content/docs/ko/client-libraries-websocket.html
+++ b/content/docs/ko/client-libraries-websocket.html
@@ -184,7 +184,7 @@
 </thead>
 <tbody>
 <tr><td style="text-align:left"><code>ackTimeoutMillis</code></td><td style="text-align:left">long</td><td style="text-align:left">no</td><td style="text-align:left">Set the timeout for unacked messages (default: 0)</td></tr>
-<tr><td style="text-align:left"><code>subscriptionType</code></td><td style="text-align:left">string</td><td style="text-align:left">no</td><td style="text-align:left"><a href="https://pulsar.apache.org/api/client/2.7.0-SNAPSHOT/index.html?org/apache/pulsar/client/api/SubscriptionType.html">Subscription type</a>: <code>Exclusive</code>, <code>Failover</code>, <code>Shared</code></td></tr>
+<tr><td style="text-align:left"><code>subscriptionType</code></td><td style="text-align:left">string</td><td style="text-align:left">no</td><td style="text-align:left"><a href="https://pulsar.apache.org/api/client/2.7.0-SNAPSHOT/index.html?org/apache/pulsar/client/api/SubscriptionType.html">Subscription type</a>: <code>Exclusive</code>, <code>Failover</code>, <code>Shared</code>, <code>Key_Shared</code></td></tr>
 <tr><td style="text-align:left"><code>receiverQueueSize</code></td><td style="text-align:left">int</td><td style="text-align:left">no</td><td style="text-align:left">Size of the consumer receive queue (default: 1000)</td></tr>
 <tr><td style="text-align:left"><code>consumerName</code></td><td style="text-align:left">string</td><td style="text-align:left">no</td><td style="text-align:left">Consumer name</td></tr>
 <tr><td style="text-align:left"><code>priorityLevel</code></td><td style="text-align:left">int</td><td style="text-align:left">no</td><td style="text-align:left">Define a <a href="http://pulsar.apache.org/api/client/2.7.0-SNAPSHOT/org/apache/pulsar/client/api/ConsumerConfiguration.html#setPriorityLevel-int-">priority</a> for the consumer</td></tr>
diff --git a/content/docs/ko/client-libraries-websocket/index.html b/content/docs/ko/client-libraries-websocket/index.html
index 509e928..3f43b0d 100644
--- a/content/docs/ko/client-libraries-websocket/index.html
+++ b/content/docs/ko/client-libraries-websocket/index.html
@@ -184,7 +184,7 @@
 </thead>
 <tbody>
 <tr><td style="text-align:left"><code>ackTimeoutMillis</code></td><td style="text-align:left">long</td><td style="text-align:left">no</td><td style="text-align:left">Set the timeout for unacked messages (default: 0)</td></tr>
-<tr><td style="text-align:left"><code>subscriptionType</code></td><td style="text-align:left">string</td><td style="text-align:left">no</td><td style="text-align:left"><a href="https://pulsar.apache.org/api/client/2.7.0-SNAPSHOT/index.html?org/apache/pulsar/client/api/SubscriptionType.html">Subscription type</a>: <code>Exclusive</code>, <code>Failover</code>, <code>Shared</code></td></tr>
+<tr><td style="text-align:left"><code>subscriptionType</code></td><td style="text-align:left">string</td><td style="text-align:left">no</td><td style="text-align:left"><a href="https://pulsar.apache.org/api/client/2.7.0-SNAPSHOT/index.html?org/apache/pulsar/client/api/SubscriptionType.html">Subscription type</a>: <code>Exclusive</code>, <code>Failover</code>, <code>Shared</code>, <code>Key_Shared</code></td></tr>
 <tr><td style="text-align:left"><code>receiverQueueSize</code></td><td style="text-align:left">int</td><td style="text-align:left">no</td><td style="text-align:left">Size of the consumer receive queue (default: 1000)</td></tr>
 <tr><td style="text-align:left"><code>consumerName</code></td><td style="text-align:left">string</td><td style="text-align:left">no</td><td style="text-align:left">Consumer name</td></tr>
 <tr><td style="text-align:left"><code>priorityLevel</code></td><td style="text-align:left">int</td><td style="text-align:left">no</td><td style="text-align:left">Define a <a href="http://pulsar.apache.org/api/client/2.7.0-SNAPSHOT/org/apache/pulsar/client/api/ConsumerConfiguration.html#setPriorityLevel-int-">priority</a> for the consumer</td></tr>
diff --git a/content/docs/ko/next/adaptors-kafka.html b/content/docs/ko/next/adaptors-kafka.html
index ba64b24..b3fc362 100644
--- a/content/docs/ko/next/adaptors-kafka.html
+++ b/content/docs/ko/next/adaptors-kafka.html
@@ -145,10 +145,10 @@ consumer.subscribe(Arrays.asList(topic));
 }
 </code></pre>
 <h2><a class="anchor" aria-hidden="true" id="complete-examples"></a><a href="#complete-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.22-2- [...]
-<p><a href="https://github.com/apache/pulsar/tree/master/pulsar-client-kafka-compat/pulsar-client-kafka-tests/src/test/java/org/apache/pulsar/client/kafka/compat/examples">여기</a>, 완전한 프로듀서 및 컨슈머 예제가 있습니다.</p>
+<p>You can find the complete producer and consumer examples <a href="https://github.com/apache/pulsar-adapters/tree/master/pulsar-client-kafka-compat/pulsar-client-kafka-tests/src/test/java/org/apache/pulsar/client/kafka/compat/examples">here</a>.</p>
 <h2><a class="anchor" aria-hidden="true" id="compatibility-matrix"></a><a href="#compatibility-matrix" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>현재 Pulsar Kafka 래퍼는 Kafka API에서 제공하는 대부분의 작업을 지원합니다.</p>
-<h4><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  [...]
+<h3><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>APIs:</p>
 <table>
 <thead>
@@ -197,7 +197,7 @@ consumer.subscribe(Arrays.asList(topic));
 <tr><td style="text-align:left"><code>value.serializer</code></td><td style="text-align:left">Yes</td><td style="text-align:left"></td></tr>
 </tbody>
 </table>
-<h4><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  [...]
+<h3><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>다음 표는 컨슈머 API입니다.</p>
 <table>
 <thead>
@@ -315,7 +315,7 @@ consumer.subscribe(Arrays.asList(topic));
 <tr><td style="text-align:left"><a href="http://pulsar.apache.org/api/client/2.7.0-SNAPSHOT/org/apache/pulsar/client/api/ConsumerBuilder.html#subscriptionTopicsMode-Mode-"><code>pulsar.consumer.subscription.topics.mode</code></a></td><td style="text-align:left">PersistentOnly</td><td style="text-align:left">컨슈머들의 topic 구독 모드를 설정합니다.</td></tr>
 </tbody>
 </table>
-</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/ko/next/admin-api-packages"><span class="arrow-prev">← </span><span>Packages</span></a><a class="docs-next button" href="/docs/ko/next/adaptors-spark"><span>Apache Spark</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#pulsar-kafka-호환성-래퍼-사용">Pulsar Kafka 호환성 래퍼 사용</a></li><li><a href="#pulsar-kafka-호환성-래퍼를-기존-kafka-클라이 [...]
+</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/ko/next/admin-api-packages"><span class="arrow-prev">← </span><span>Packages</span></a><a class="docs-next button" href="/docs/ko/next/adaptors-spark"><span>Apache Spark</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#pulsar-kafka-호환성-래퍼-사용">Pulsar Kafka 호환성 래퍼 사용</a></li><li><a href="#pulsar-kafka-호환성-래퍼를-기존-kafka-클라이 [...]
       const community = document.querySelector("a[href='#community']").parentNode;
       const communityMenu =
         '<li>' +
diff --git a/content/docs/ko/next/adaptors-kafka/index.html b/content/docs/ko/next/adaptors-kafka/index.html
index ba64b24..b3fc362 100644
--- a/content/docs/ko/next/adaptors-kafka/index.html
+++ b/content/docs/ko/next/adaptors-kafka/index.html
@@ -145,10 +145,10 @@ consumer.subscribe(Arrays.asList(topic));
 }
 </code></pre>
 <h2><a class="anchor" aria-hidden="true" id="complete-examples"></a><a href="#complete-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.22-2- [...]
-<p><a href="https://github.com/apache/pulsar/tree/master/pulsar-client-kafka-compat/pulsar-client-kafka-tests/src/test/java/org/apache/pulsar/client/kafka/compat/examples">여기</a>, 완전한 프로듀서 및 컨슈머 예제가 있습니다.</p>
+<p>You can find the complete producer and consumer examples <a href="https://github.com/apache/pulsar-adapters/tree/master/pulsar-client-kafka-compat/pulsar-client-kafka-tests/src/test/java/org/apache/pulsar/client/kafka/compat/examples">here</a>.</p>
 <h2><a class="anchor" aria-hidden="true" id="compatibility-matrix"></a><a href="#compatibility-matrix" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>현재 Pulsar Kafka 래퍼는 Kafka API에서 제공하는 대부분의 작업을 지원합니다.</p>
-<h4><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  [...]
+<h3><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>APIs:</p>
 <table>
 <thead>
@@ -197,7 +197,7 @@ consumer.subscribe(Arrays.asList(topic));
 <tr><td style="text-align:left"><code>value.serializer</code></td><td style="text-align:left">Yes</td><td style="text-align:left"></td></tr>
 </tbody>
 </table>
-<h4><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  [...]
+<h3><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>다음 표는 컨슈머 API입니다.</p>
 <table>
 <thead>
@@ -315,7 +315,7 @@ consumer.subscribe(Arrays.asList(topic));
 <tr><td style="text-align:left"><a href="http://pulsar.apache.org/api/client/2.7.0-SNAPSHOT/org/apache/pulsar/client/api/ConsumerBuilder.html#subscriptionTopicsMode-Mode-"><code>pulsar.consumer.subscription.topics.mode</code></a></td><td style="text-align:left">PersistentOnly</td><td style="text-align:left">컨슈머들의 topic 구독 모드를 설정합니다.</td></tr>
 </tbody>
 </table>
-</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/ko/next/admin-api-packages"><span class="arrow-prev">← </span><span>Packages</span></a><a class="docs-next button" href="/docs/ko/next/adaptors-spark"><span>Apache Spark</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#pulsar-kafka-호환성-래퍼-사용">Pulsar Kafka 호환성 래퍼 사용</a></li><li><a href="#pulsar-kafka-호환성-래퍼를-기존-kafka-클라이 [...]
+</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/ko/next/admin-api-packages"><span class="arrow-prev">← </span><span>Packages</span></a><a class="docs-next button" href="/docs/ko/next/adaptors-spark"><span>Apache Spark</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#pulsar-kafka-호환성-래퍼-사용">Pulsar Kafka 호환성 래퍼 사용</a></li><li><a href="#pulsar-kafka-호환성-래퍼를-기존-kafka-클라이 [...]
       const community = document.querySelector("a[href='#community']").parentNode;
       const communityMenu =
         '<li>' +
diff --git a/content/docs/ko/next/adaptors-spark.html b/content/docs/ko/next/adaptors-spark.html
index 5d9e1bf..4645b6d 100644
--- a/content/docs/ko/next/adaptors-spark.html
+++ b/content/docs/ko/next/adaptors-spark.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="ko"><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="Pulsar 용 Spark Streaming 수신기는 Apache [Spark Streaming](https://spark.apache.org/streaming/)이 Pulsar로부터 데이터를 수신 할 수 있도록하는 사용자 정의 수신기입니다."/><meta name="docsearch:version" content="next"/> [...]
+<!DOCTYPE html><html lang="ko"><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="## Spark structured streaming connector"/><meta name="docsearch:version" content="next"/><meta name="docsearch:language" content="ko"/><meta property="og:title" content="Pulsar adaptor  [...]
               (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
               (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
               m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
@@ -74,11 +74,14 @@
                 };
               }
             });
-        </script></nav></div><div class="container mainContainer docsContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://crowdin.com/project/apache-pulsar/ko" target="_blank" rel="noreferrer noopener">Translate</a><h1 id="__docusaurus" class="postHeaderTitle">Pulsar adaptor for Apache Spark</h1></header><article><div><span><p>Pulsar 용 Spark Streaming 수신기는 Apache <a href="https://spark.apache.org/streaming/">Spark Str [...]
+        </script></nav></div><div class="container mainContainer docsContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://crowdin.com/project/apache-pulsar/ko" target="_blank" rel="noreferrer noopener">Translate</a><h1 id="__docusaurus" class="postHeaderTitle">Pulsar adaptor for Apache Spark</h1></header><article><div><span><h2><a class="anchor" aria-hidden="true" id="spark-structured-streaming-connector"></a><a href= [...]
+<p>Pulsar Spark Connector is an integration of Apache Pulsar and Apache Spark (data processing engine), which allows Spark reading data from Pulsar and writing data to Pulsar using Spark structured streaming and Spark SQL and provides exactly-once source semantics and at-least-once sink semantics. For details, refer to <a href="https://hub.streamnative.io/">Pulsar Spark Connector in StreamNative Hub</a>.</p>
+<h2><a class="anchor" aria-hidden="true" id="spark-streaming-connector"></a><a href="#spark-streaming-connector" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>Pulsar 용 Spark Streaming 수신기는 Apache <a href="https://spark.apache.org/streaming/">Spark Streaming</a>이 Pulsar로부터 데이터를 수신 할 수 있도록하는 사용자 정의 수신기입니다.</p>
 <p>애플리케이션은 Spark Streaming Pulsar 수신기를 통해 <a href="https://spark.apache.org/docs/latest/programming-guide.html#resilient-distributed-datasets-rdds">Resilient Distributed Dataset</a> (Resilient Distributed Dataset) 형식의 데이터를 수신하고 다양한 방식으로 처리 할 수 ​​있습니다.</p>
-<h2><a class="anchor" aria-hidden="true" id="전제-조건"></a><a href="#전제-조건" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09 [...]
+<h3><a class="anchor" aria-hidden="true" id="전제-조건"></a><a href="#전제-조건" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09 [...]
 <p>수신자를 사용하려면 Java 구성에서 <code>pulsar-spark 라이브러리</code>에 대한 디펜던시을 포함하십시오.</p>
-<h3><a class="anchor" aria-hidden="true" id="maven"></a><a href="#maven" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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 [...]
+<h4><a class="anchor" aria-hidden="true" id="maven"></a><a href="#maven" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>Maven을 사용하는 경우, 이 <code>pom.xml</code>을 추가하십시오.</p>
 <pre><code class="hljs css language-xml"><span class="hljs-comment">&lt;!-- in your &lt;properties&gt; block --&gt;</span>
 <span class="hljs-tag">&lt;<span class="hljs-name">pulsar.version</span>&gt;</span>2.7.0<span class="hljs-tag">&lt;/<span class="hljs-name">pulsar.version</span>&gt;</span>
@@ -90,7 +93,7 @@
   <span class="hljs-tag">&lt;<span class="hljs-name">version</span>&gt;</span>${pulsar.version}<span class="hljs-tag">&lt;/<span class="hljs-name">version</span>&gt;</span>
 <span class="hljs-tag">&lt;/<span class="hljs-name">dependency</span>&gt;</span>
 </code></pre>
-<h3><a class="anchor" aria-hidden="true" id="gradle"></a><a href="#gradle" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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="gradle"></a><a href="#gradle" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>Gradle을 사용하는 경우, 이 <code>build.gradle</code> 파일을 추가 하십시오.</p>
 <pre><code class="hljs css language-groovy"><span class="hljs-keyword">def</span> pulsarVersion = <span class="hljs-string">"2.7.0"</span>
 
@@ -98,7 +101,7 @@ dependencies {
     compile <span class="hljs-string">group:</span> <span class="hljs-string">'org.apache.pulsar'</span>, <span class="hljs-string">name:</span> <span class="hljs-string">'pulsar-spark'</span>, <span class="hljs-string">version:</span> pulsarVersion
 }
 </code></pre>
-<h2><a class="anchor" aria-hidden="true" id="usage"></a><a href="#usage" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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 [...]
+<h3><a class="anchor" aria-hidden="true" id="usage"></a><a href="#usage" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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><code>SparkStreamingPulsarReceiver</code>의 인스턴스를 <code>JavaStreamingContext</code>의 <code>receiverStream</code> 메소드로 전달하십시오.</p>
 <pre><code class="hljs css language-java">    String serviceUrl = <span class="hljs-string">"pulsar://localhost:6650/"</span>;
     String topic = <span class="hljs-string">"persistent://public/default/test_src"</span>;
@@ -123,7 +126,7 @@ dependencies {
     JavaReceiverInputDStream&lt;<span class="hljs-keyword">byte</span>[]&gt; lineDStream = jsc.receiverStream(pulsarReceiver);
 </code></pre>
 <p>For a complete example, click <a href="https://github.com/apache/pulsar-adapters/blob/master/examples/spark/src/main/java/org/apache/spark/streaming/receiver/example/SparkStreamingPulsarReceiverExample.java">here</a>. In this example, the number of messages that contain the string &quot;Pulsar&quot; in received messages is counted.</p>
-</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/ko/next/adaptors-kafka"><span class="arrow-prev">← </span><span>Kafka client wrapper</span></a><a class="docs-next button" href="/docs/ko/next/adaptors-storm"><span>Apache Storm</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#전제-조건">전제 조건</a><ul class="toc-headings"><li><a href="#maven">Maven</a></li><li><a href="#grad [...]
+</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/ko/next/adaptors-kafka"><span class="arrow-prev">← </span><span>Kafka client wrapper</span></a><a class="docs-next button" href="/docs/ko/next/adaptors-storm"><span>Apache Storm</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#spark-structured-streaming-connector">Spark structured streaming connector</a></li><li><a href [...]
       const community = document.querySelector("a[href='#community']").parentNode;
       const communityMenu =
         '<li>' +
diff --git a/content/docs/ko/next/adaptors-spark/index.html b/content/docs/ko/next/adaptors-spark/index.html
index 5d9e1bf..4645b6d 100644
--- a/content/docs/ko/next/adaptors-spark/index.html
+++ b/content/docs/ko/next/adaptors-spark/index.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="ko"><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="Pulsar 용 Spark Streaming 수신기는 Apache [Spark Streaming](https://spark.apache.org/streaming/)이 Pulsar로부터 데이터를 수신 할 수 있도록하는 사용자 정의 수신기입니다."/><meta name="docsearch:version" content="next"/> [...]
+<!DOCTYPE html><html lang="ko"><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="## Spark structured streaming connector"/><meta name="docsearch:version" content="next"/><meta name="docsearch:language" content="ko"/><meta property="og:title" content="Pulsar adaptor  [...]
               (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
               (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
               m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
@@ -74,11 +74,14 @@
                 };
               }
             });
-        </script></nav></div><div class="container mainContainer docsContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://crowdin.com/project/apache-pulsar/ko" target="_blank" rel="noreferrer noopener">Translate</a><h1 id="__docusaurus" class="postHeaderTitle">Pulsar adaptor for Apache Spark</h1></header><article><div><span><p>Pulsar 용 Spark Streaming 수신기는 Apache <a href="https://spark.apache.org/streaming/">Spark Str [...]
+        </script></nav></div><div class="container mainContainer docsContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://crowdin.com/project/apache-pulsar/ko" target="_blank" rel="noreferrer noopener">Translate</a><h1 id="__docusaurus" class="postHeaderTitle">Pulsar adaptor for Apache Spark</h1></header><article><div><span><h2><a class="anchor" aria-hidden="true" id="spark-structured-streaming-connector"></a><a href= [...]
+<p>Pulsar Spark Connector is an integration of Apache Pulsar and Apache Spark (data processing engine), which allows Spark reading data from Pulsar and writing data to Pulsar using Spark structured streaming and Spark SQL and provides exactly-once source semantics and at-least-once sink semantics. For details, refer to <a href="https://hub.streamnative.io/">Pulsar Spark Connector in StreamNative Hub</a>.</p>
+<h2><a class="anchor" aria-hidden="true" id="spark-streaming-connector"></a><a href="#spark-streaming-connector" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>Pulsar 용 Spark Streaming 수신기는 Apache <a href="https://spark.apache.org/streaming/">Spark Streaming</a>이 Pulsar로부터 데이터를 수신 할 수 있도록하는 사용자 정의 수신기입니다.</p>
 <p>애플리케이션은 Spark Streaming Pulsar 수신기를 통해 <a href="https://spark.apache.org/docs/latest/programming-guide.html#resilient-distributed-datasets-rdds">Resilient Distributed Dataset</a> (Resilient Distributed Dataset) 형식의 데이터를 수신하고 다양한 방식으로 처리 할 수 ​​있습니다.</p>
-<h2><a class="anchor" aria-hidden="true" id="전제-조건"></a><a href="#전제-조건" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09 [...]
+<h3><a class="anchor" aria-hidden="true" id="전제-조건"></a><a href="#전제-조건" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09 [...]
 <p>수신자를 사용하려면 Java 구성에서 <code>pulsar-spark 라이브러리</code>에 대한 디펜던시을 포함하십시오.</p>
-<h3><a class="anchor" aria-hidden="true" id="maven"></a><a href="#maven" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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 [...]
+<h4><a class="anchor" aria-hidden="true" id="maven"></a><a href="#maven" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>Maven을 사용하는 경우, 이 <code>pom.xml</code>을 추가하십시오.</p>
 <pre><code class="hljs css language-xml"><span class="hljs-comment">&lt;!-- in your &lt;properties&gt; block --&gt;</span>
 <span class="hljs-tag">&lt;<span class="hljs-name">pulsar.version</span>&gt;</span>2.7.0<span class="hljs-tag">&lt;/<span class="hljs-name">pulsar.version</span>&gt;</span>
@@ -90,7 +93,7 @@
   <span class="hljs-tag">&lt;<span class="hljs-name">version</span>&gt;</span>${pulsar.version}<span class="hljs-tag">&lt;/<span class="hljs-name">version</span>&gt;</span>
 <span class="hljs-tag">&lt;/<span class="hljs-name">dependency</span>&gt;</span>
 </code></pre>
-<h3><a class="anchor" aria-hidden="true" id="gradle"></a><a href="#gradle" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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="gradle"></a><a href="#gradle" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>Gradle을 사용하는 경우, 이 <code>build.gradle</code> 파일을 추가 하십시오.</p>
 <pre><code class="hljs css language-groovy"><span class="hljs-keyword">def</span> pulsarVersion = <span class="hljs-string">"2.7.0"</span>
 
@@ -98,7 +101,7 @@ dependencies {
     compile <span class="hljs-string">group:</span> <span class="hljs-string">'org.apache.pulsar'</span>, <span class="hljs-string">name:</span> <span class="hljs-string">'pulsar-spark'</span>, <span class="hljs-string">version:</span> pulsarVersion
 }
 </code></pre>
-<h2><a class="anchor" aria-hidden="true" id="usage"></a><a href="#usage" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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 [...]
+<h3><a class="anchor" aria-hidden="true" id="usage"></a><a href="#usage" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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><code>SparkStreamingPulsarReceiver</code>의 인스턴스를 <code>JavaStreamingContext</code>의 <code>receiverStream</code> 메소드로 전달하십시오.</p>
 <pre><code class="hljs css language-java">    String serviceUrl = <span class="hljs-string">"pulsar://localhost:6650/"</span>;
     String topic = <span class="hljs-string">"persistent://public/default/test_src"</span>;
@@ -123,7 +126,7 @@ dependencies {
     JavaReceiverInputDStream&lt;<span class="hljs-keyword">byte</span>[]&gt; lineDStream = jsc.receiverStream(pulsarReceiver);
 </code></pre>
 <p>For a complete example, click <a href="https://github.com/apache/pulsar-adapters/blob/master/examples/spark/src/main/java/org/apache/spark/streaming/receiver/example/SparkStreamingPulsarReceiverExample.java">here</a>. In this example, the number of messages that contain the string &quot;Pulsar&quot; in received messages is counted.</p>
-</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/ko/next/adaptors-kafka"><span class="arrow-prev">← </span><span>Kafka client wrapper</span></a><a class="docs-next button" href="/docs/ko/next/adaptors-storm"><span>Apache Storm</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#전제-조건">전제 조건</a><ul class="toc-headings"><li><a href="#maven">Maven</a></li><li><a href="#grad [...]
+</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/ko/next/adaptors-kafka"><span class="arrow-prev">← </span><span>Kafka client wrapper</span></a><a class="docs-next button" href="/docs/ko/next/adaptors-storm"><span>Apache Storm</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#spark-structured-streaming-connector">Spark structured streaming connector</a></li><li><a href [...]
       const community = document.querySelector("a[href='#community']").parentNode;
       const communityMenu =
         '<li>' +
diff --git a/content/docs/ko/next/client-libraries-java.html b/content/docs/ko/next/client-libraries-java.html
index c156315..56409f0 100644
--- a/content/docs/ko/next/client-libraries-java.html
+++ b/content/docs/ko/next/client-libraries-java.html
@@ -321,11 +321,12 @@ You can configure parameters if you do not want to use the default configuration
   &lt;/div&gt;
   | Default |\---|\---|\---|\--- Set&lt;String&gt;| `topicNames`| Topic name| Sets.newTreeSet() Pattern| `topicsPattern`| Topic pattern |None String| `subscriptionName`| Subscription name| None SubscriptionType| `subscriptionType`| Subscription type   
     
-  Three subscription types are available:
+  Four subscription types are available:
   
   * Exclusive
   * Failover
-  * Shared|SubscriptionType.Exclusive int | 
+  * Shared
+  * 키 공유 모드|SubscriptionType.Exclusive int | 
   `receiverQueueSize` | Size of a consumer's receiver queue.   
     
   For example, the number of messages accumulated by a consumer before an application calls `Receive`.   
diff --git a/content/docs/ko/next/client-libraries-java/index.html b/content/docs/ko/next/client-libraries-java/index.html
index c156315..56409f0 100644
--- a/content/docs/ko/next/client-libraries-java/index.html
+++ b/content/docs/ko/next/client-libraries-java/index.html
@@ -321,11 +321,12 @@ You can configure parameters if you do not want to use the default configuration
   &lt;/div&gt;
   | Default |\---|\---|\---|\--- Set&lt;String&gt;| `topicNames`| Topic name| Sets.newTreeSet() Pattern| `topicsPattern`| Topic pattern |None String| `subscriptionName`| Subscription name| None SubscriptionType| `subscriptionType`| Subscription type   
     
-  Three subscription types are available:
+  Four subscription types are available:
   
   * Exclusive
   * Failover
-  * Shared|SubscriptionType.Exclusive int | 
+  * Shared
+  * 키 공유 모드|SubscriptionType.Exclusive int | 
   `receiverQueueSize` | Size of a consumer's receiver queue.   
     
   For example, the number of messages accumulated by a consumer before an application calls `Receive`.   
diff --git a/content/docs/ko/next/client-libraries-node.html b/content/docs/ko/next/client-libraries-node.html
index cac0b0f..67ef661 100644
--- a/content/docs/ko/next/client-libraries-node.html
+++ b/content/docs/ko/next/client-libraries-node.html
@@ -269,7 +269,7 @@ consumer.acknowledge(msg);
 <tbody>
 <tr><td style="text-align:left"><code>토픽</code></td><td style="text-align:left">The Pulsar <a href="/docs/ko/next/reference-terminology#topic">topic</a> on which the consumer will establish a subscription and listen for messages.</td><td style="text-align:left"></td></tr>
 <tr><td style="text-align:left"><code>subscription</code></td><td style="text-align:left">The subscription name for this consumer.</td><td style="text-align:left"></td></tr>
-<tr><td style="text-align:left"><code>subscriptionType</code></td><td style="text-align:left">Available options are <code>Exclusive</code>, <code>Shared</code>, and <code>Failover</code>.</td><td style="text-align:left"><code>Exclusive</code></td></tr>
+<tr><td style="text-align:left"><code>subscriptionType</code></td><td style="text-align:left">Available options are <code>Exclusive</code>, <code>Shared</code>, <code>Key_Shared</code>, and <code>Failover</code>.</td><td style="text-align:left"><code>Exclusive</code></td></tr>
 <tr><td style="text-align:left"><code>subscriptionInitialPosition</code></td><td style="text-align:left">Initial position at which to set cursor when subscribing to a topic at first time.</td><td style="text-align:left"><code>SubscriptionInitialPosition.Latest</code></td></tr>
 <tr><td style="text-align:left"><code>ackTimeoutMs</code></td><td style="text-align:left">Acknowledge timeout in milliseconds.</td><td style="text-align:left">0</td></tr>
 <tr><td style="text-align:left"><code>nAckRedeliverTimeoutMs</code></td><td style="text-align:left">Delay to wait before redelivering messages that failed to be processed.</td><td style="text-align:left">60000</td></tr>
diff --git a/content/docs/ko/next/client-libraries-node/index.html b/content/docs/ko/next/client-libraries-node/index.html
index cac0b0f..67ef661 100644
--- a/content/docs/ko/next/client-libraries-node/index.html
+++ b/content/docs/ko/next/client-libraries-node/index.html
@@ -269,7 +269,7 @@ consumer.acknowledge(msg);
 <tbody>
 <tr><td style="text-align:left"><code>토픽</code></td><td style="text-align:left">The Pulsar <a href="/docs/ko/next/reference-terminology#topic">topic</a> on which the consumer will establish a subscription and listen for messages.</td><td style="text-align:left"></td></tr>
 <tr><td style="text-align:left"><code>subscription</code></td><td style="text-align:left">The subscription name for this consumer.</td><td style="text-align:left"></td></tr>
-<tr><td style="text-align:left"><code>subscriptionType</code></td><td style="text-align:left">Available options are <code>Exclusive</code>, <code>Shared</code>, and <code>Failover</code>.</td><td style="text-align:left"><code>Exclusive</code></td></tr>
+<tr><td style="text-align:left"><code>subscriptionType</code></td><td style="text-align:left">Available options are <code>Exclusive</code>, <code>Shared</code>, <code>Key_Shared</code>, and <code>Failover</code>.</td><td style="text-align:left"><code>Exclusive</code></td></tr>
 <tr><td style="text-align:left"><code>subscriptionInitialPosition</code></td><td style="text-align:left">Initial position at which to set cursor when subscribing to a topic at first time.</td><td style="text-align:left"><code>SubscriptionInitialPosition.Latest</code></td></tr>
 <tr><td style="text-align:left"><code>ackTimeoutMs</code></td><td style="text-align:left">Acknowledge timeout in milliseconds.</td><td style="text-align:left">0</td></tr>
 <tr><td style="text-align:left"><code>nAckRedeliverTimeoutMs</code></td><td style="text-align:left">Delay to wait before redelivering messages that failed to be processed.</td><td style="text-align:left">60000</td></tr>
diff --git a/content/docs/ko/next/client-libraries-websocket.html b/content/docs/ko/next/client-libraries-websocket.html
index 4f86fe5..96b0c8e 100644
--- a/content/docs/ko/next/client-libraries-websocket.html
+++ b/content/docs/ko/next/client-libraries-websocket.html
@@ -192,7 +192,7 @@
 </thead>
 <tbody>
 <tr><td style="text-align:left"><code>ackTimeoutMillis</code></td><td style="text-align:left">long</td><td style="text-align:left">no</td><td style="text-align:left">Set the timeout for unacked messages (default: 0)</td></tr>
-<tr><td style="text-align:left"><code>subscriptionType</code></td><td style="text-align:left">string</td><td style="text-align:left">no</td><td style="text-align:left"><a href="https://pulsar.apache.org/api/client/2.7.0-SNAPSHOT/index.html?org/apache/pulsar/client/api/SubscriptionType.html">Subscription type</a>: <code>Exclusive</code>, <code>Failover</code>, <code>Shared</code></td></tr>
+<tr><td style="text-align:left"><code>subscriptionType</code></td><td style="text-align:left">string</td><td style="text-align:left">no</td><td style="text-align:left"><a href="https://pulsar.apache.org/api/client/2.7.0-SNAPSHOT/index.html?org/apache/pulsar/client/api/SubscriptionType.html">Subscription type</a>: <code>Exclusive</code>, <code>Failover</code>, <code>Shared</code>, <code>Key_Shared</code></td></tr>
 <tr><td style="text-align:left"><code>receiverQueueSize</code></td><td style="text-align:left">int</td><td style="text-align:left">no</td><td style="text-align:left">Size of the consumer receive queue (default: 1000)</td></tr>
 <tr><td style="text-align:left"><code>consumerName</code></td><td style="text-align:left">string</td><td style="text-align:left">no</td><td style="text-align:left">Consumer name</td></tr>
 <tr><td style="text-align:left"><code>priorityLevel</code></td><td style="text-align:left">int</td><td style="text-align:left">no</td><td style="text-align:left">Define a <a href="http://pulsar.apache.org/api/client/2.7.0-SNAPSHOT/org/apache/pulsar/client/api/ConsumerConfiguration.html#setPriorityLevel-int-">priority</a> for the consumer</td></tr>
diff --git a/content/docs/ko/next/client-libraries-websocket/index.html b/content/docs/ko/next/client-libraries-websocket/index.html
index 4f86fe5..96b0c8e 100644
--- a/content/docs/ko/next/client-libraries-websocket/index.html
+++ b/content/docs/ko/next/client-libraries-websocket/index.html
@@ -192,7 +192,7 @@
 </thead>
 <tbody>
 <tr><td style="text-align:left"><code>ackTimeoutMillis</code></td><td style="text-align:left">long</td><td style="text-align:left">no</td><td style="text-align:left">Set the timeout for unacked messages (default: 0)</td></tr>
-<tr><td style="text-align:left"><code>subscriptionType</code></td><td style="text-align:left">string</td><td style="text-align:left">no</td><td style="text-align:left"><a href="https://pulsar.apache.org/api/client/2.7.0-SNAPSHOT/index.html?org/apache/pulsar/client/api/SubscriptionType.html">Subscription type</a>: <code>Exclusive</code>, <code>Failover</code>, <code>Shared</code></td></tr>
+<tr><td style="text-align:left"><code>subscriptionType</code></td><td style="text-align:left">string</td><td style="text-align:left">no</td><td style="text-align:left"><a href="https://pulsar.apache.org/api/client/2.7.0-SNAPSHOT/index.html?org/apache/pulsar/client/api/SubscriptionType.html">Subscription type</a>: <code>Exclusive</code>, <code>Failover</code>, <code>Shared</code>, <code>Key_Shared</code></td></tr>
 <tr><td style="text-align:left"><code>receiverQueueSize</code></td><td style="text-align:left">int</td><td style="text-align:left">no</td><td style="text-align:left">Size of the consumer receive queue (default: 1000)</td></tr>
 <tr><td style="text-align:left"><code>consumerName</code></td><td style="text-align:left">string</td><td style="text-align:left">no</td><td style="text-align:left">Consumer name</td></tr>
 <tr><td style="text-align:left"><code>priorityLevel</code></td><td style="text-align:left">int</td><td style="text-align:left">no</td><td style="text-align:left">Define a <a href="http://pulsar.apache.org/api/client/2.7.0-SNAPSHOT/org/apache/pulsar/client/api/ConsumerConfiguration.html#setPriorityLevel-int-">priority</a> for the consumer</td></tr>
diff --git a/content/docs/ko/next/io-connectors.html b/content/docs/ko/next/io-connectors.html
index 0b03484..1fe16bf 100644
--- a/content/docs/ko/next/io-connectors.html
+++ b/content/docs/ko/next/io-connectors.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="ko"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Built-in connector · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Pulsar distribution includes a set of common connectors that have been packaged and tested with the rest of Apache Pulsar. These connectors import and export data from some of the most commonly used [...]
+<!DOCTYPE html><html lang="ko"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Built-in connector · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Pulsar distribution includes a set of common connectors that have been packaged and tested with the rest of Apache Pulsar. These connectors import and export data from some of the most commonly used [...]
               (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
               (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
               m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
@@ -74,7 +74,7 @@
                 };
               }
             });
-        </script></nav></div><div class="container mainContainer docsContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://crowdin.com/project/apache-pulsar/ko" target="_blank" rel="noreferrer noopener">Translate</a><h1 id="__docusaurus" class="postHeaderTitle">Built-in connector</h1></header><article><div><span><p>Pulsar distribution includes a set of common connectors that have been packaged and tested with the rest  [...]
+        </script></nav></div><div class="container mainContainer docsContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://crowdin.com/project/apache-pulsar/ko" target="_blank" rel="noreferrer noopener">Translate</a><h1 id="__docusaurus" class="postHeaderTitle">Built-in connector</h1></header><article><div><span><p>Pulsar distribution includes a set of common connectors that have been packaged and tested with the rest  [...]
 <p>Using any of these connectors is as easy as writing a simple connector and running the connector locally or submitting the connector to a Pulsar Functions cluster.</p>
 <h2><a class="anchor" aria-hidden="true" id="source-connector"></a><a href="#source-connector" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>Pulsar has various source connectors, which are sorted alphabetically as below.</p>
diff --git a/content/docs/ko/next/io-connectors/index.html b/content/docs/ko/next/io-connectors/index.html
index 0b03484..1fe16bf 100644
--- a/content/docs/ko/next/io-connectors/index.html
+++ b/content/docs/ko/next/io-connectors/index.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="ko"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Built-in connector · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Pulsar distribution includes a set of common connectors that have been packaged and tested with the rest of Apache Pulsar. These connectors import and export data from some of the most commonly used [...]
+<!DOCTYPE html><html lang="ko"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Built-in connector · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Pulsar distribution includes a set of common connectors that have been packaged and tested with the rest of Apache Pulsar. These connectors import and export data from some of the most commonly used [...]
               (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
               (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
               m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
@@ -74,7 +74,7 @@
                 };
               }
             });
-        </script></nav></div><div class="container mainContainer docsContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://crowdin.com/project/apache-pulsar/ko" target="_blank" rel="noreferrer noopener">Translate</a><h1 id="__docusaurus" class="postHeaderTitle">Built-in connector</h1></header><article><div><span><p>Pulsar distribution includes a set of common connectors that have been packaged and tested with the rest  [...]
+        </script></nav></div><div class="container mainContainer docsContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://crowdin.com/project/apache-pulsar/ko" target="_blank" rel="noreferrer noopener">Translate</a><h1 id="__docusaurus" class="postHeaderTitle">Built-in connector</h1></header><article><div><span><p>Pulsar distribution includes a set of common connectors that have been packaged and tested with the rest  [...]
 <p>Using any of these connectors is as easy as writing a simple connector and running the connector locally or submitting the connector to a Pulsar Functions cluster.</p>
 <h2><a class="anchor" aria-hidden="true" id="source-connector"></a><a href="#source-connector" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>Pulsar has various source connectors, which are sorted alphabetically as below.</p>
diff --git a/content/docs/ko/next/performance-pulsar-perf.html b/content/docs/ko/next/performance-pulsar-perf.html
index ca1ee86..a8fefd4 100644
--- a/content/docs/ko/next/performance-pulsar-perf.html
+++ b/content/docs/ko/next/performance-pulsar-perf.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="ko"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Pulsar Perf · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="This document describes how to use the Pulsar Perf for performance testing. For detailed information about performance tuning, see [here](https://streamnative.io/whitepaper/taking-a-deep-dive-into-apache-p [...]
+<!DOCTYPE html><html lang="ko"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Pulsar Perf · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="The Pulsar Perf is a built-in performance test tool for Apache Pulsar. You can use the Pulsar Perf to test message writing or reading performance. For detailed information about performance tuning, see [he [...]
               (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
               (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
               m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
@@ -74,10 +74,8 @@
                 };
               }
             });
-        </script></nav></div><div class="container mainContainer docsContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://crowdin.com/project/apache-pulsar/ko" target="_blank" rel="noreferrer noopener">Translate</a><h1 id="__docusaurus" class="postHeaderTitle">Pulsar Perf</h1></header><article><div><span><p>This document describes how to use the Pulsar Perf for performance testing. For detailed information about perfo [...]
-<h2><a class="anchor" aria-hidden="true" id="pulsar-perf"></a><a href="#pulsar-perf" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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 [...]
-<p>The Pulsar Perf is a built-in performance test tool for Apache Pulsar. You can use the Pulsar Perf to test message writing or reading performance.</p>
-<h3><a class="anchor" aria-hidden="true" id="produce-messages"></a><a href="#produce-messages" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2. [...]
+        </script></nav></div><div class="container mainContainer docsContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://crowdin.com/project/apache-pulsar/ko" target="_blank" rel="noreferrer noopener">Translate</a><h1 id="__docusaurus" class="postHeaderTitle">Pulsar Perf</h1></header><article><div><span><p>The Pulsar Perf is a built-in performance test tool for Apache Pulsar. You can use the Pulsar Perf to test messa [...]
+<h2><a class="anchor" aria-hidden="true" id="produce-messages"></a><a href="#produce-messages" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2. [...]
 <p>This example shows how the Pulsar Perf produces messages with default options. For all configuration options available for the <code>pulsar-perf produce</code> command, see <a href="#configuration-options-for-pulsar-perf-produce">configuration options</a>.</p>
 <pre><code class="hljs">bin/pulsar-perf produce <span class="hljs-keyword">my</span>-topic
 </code></pre>
@@ -96,7 +94,7 @@
 <span class="hljs-number">19</span>:<span class="hljs-number">54</span>:<span class="hljs-number">44.336</span> [Thread<span class="hljs-number">-1</span>] INFO  org.apache.pulsar.testclient.PerformanceProducer - Aggregated latency stats --- Latency: mean:   <span class="hljs-number">3.383</span> ms - med:   <span class="hljs-number">3.293</span> - <span class="hljs-number">95</span>pct:   <span class="hljs-number">4.610</span> - <span class="hljs-number">99</span>pct:   <span class="hlj [...]
 </code></pre>
 <p>From the above test data, you can get the throughput statistics and the write latency statistics. The aggregated statistics is printed when the Pulsar Perf is stopped. You can press <strong>Ctrl</strong>+<strong>C</strong> to stop the Pulsar Perf. After the Pulsar Perf is stopped, the <a href="http://hdrhistogram.github.io/HdrHistogram/">HdrHistogram</a> formatted test result appears under your directory. The document looks like <code>perf-producer-1589370810837.hgrm</code>. You can a [...]
-<h4><a class="anchor" aria-hidden="true" id="configuration-options-for-pulsar-perf-produce"></a><a href="#configuration-options-for-pulsar-perf-produce" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h- [...]
+<h3><a class="anchor" aria-hidden="true" id="configuration-options-for-pulsar-perf-produce"></a><a href="#configuration-options-for-pulsar-perf-produce" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h- [...]
 <p>You can get all options by executing the <code>bin/pulsar-perf produce -h</code> command. Therefore, you can modify these options as required.</p>
 <p>The following table lists configuration options available for the <code>pulsar-perf produce</code> command.</p>
 <table>
@@ -134,7 +132,7 @@
 <tr><td>warmup-time</td><td>Set the warm-up time.</td><td>1s</td></tr>
 </tbody>
 </table>
-<h3><a class="anchor" aria-hidden="true" id="consume-messages"></a><a href="#consume-messages" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2. [...]
+<h2><a class="anchor" aria-hidden="true" id="consume-messages"></a><a href="#consume-messages" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2. [...]
 <p>This example shows how the Pulsar Perf consumes messages with default options.</p>
 <pre><code class="hljs">bin/pulsar-perf consume <span class="hljs-keyword">my</span>-topic
 </code></pre>
@@ -152,7 +150,7 @@
 <span class="hljs-number">20</span>:<span class="hljs-number">36</span>:<span class="hljs-number">42.759</span> [Thread<span class="hljs-number">-1</span>] INFO  org.apache.pulsar.testclient.PerformanceConsumer - Aggregated latency stats --- Latency: mean: <span class="hljs-number">9.422</span> ms - med: <span class="hljs-number">9</span> - <span class="hljs-number">95</span>pct: <span class="hljs-number">15</span> - <span class="hljs-number">99</span>pct: <span class="hljs-number">16</s [...]
 </code></pre>
 <p>From the output test data, you can get the throughput statistics and the end-to-end latency statistics. The aggregated statistics is printed after the Pulsar Perf is stopped. You can press <strong>Ctrl</strong>+<strong>C</strong> to stop the Pulsar Perf.</p>
-<h4><a class="anchor" aria-hidden="true" id="configuration-options-for-pulsar-perf-consume"></a><a href="#configuration-options-for-pulsar-perf-consume" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h- [...]
+<h3><a class="anchor" aria-hidden="true" id="configuration-options-for-pulsar-perf-consume"></a><a href="#configuration-options-for-pulsar-perf-consume" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h- [...]
 <p>You can get all options by executing the <code>bin/pulsar-perf consume -h</code> command. Therefore, you can modify these options as required.</p>
 <p>The following table lists configuration options available for the <code>pulsar-perf consume</code> command.</p>
 <table>
@@ -180,7 +178,7 @@
 <tr><td>trust-cert-file</td><td>Set the path for the trusted TLS certificate file.</td><td><empty string></td></tr>
 </tbody>
 </table>
-<h3><a class="anchor" aria-hidden="true" id="configurations"></a><a href="#configurations" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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- [...]
+<h2><a class="anchor" aria-hidden="true" id="configurations"></a><a href="#configurations" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>By default, the Pulsar Perf uses <code>conf/client.conf</code> as the default configuration and uses <code>conf/log4j2.yaml</code> as the default Log4j configuration. If you want to connect to other Pulsar clusters, you can update the <code>brokerServiceUrl</code> in the client configuration.</p>
 <p>You can use the following commands to change the configuration file and the Log4j configuration file.</p>
 <pre><code class="hljs"><span class="hljs-builtin-name">export</span> <span class="hljs-attribute">PULSAR_CLIENT_CONF</span>=&lt;your-config-file&gt;
@@ -209,7 +207,7 @@
 <li><p>Check the test result through the Graphical User Interface of the HdrHistogram Plotter, as shown blow.</p>
 <p><img src="/docs/assets/perf-produce.png" alt=""></p></li>
 </ol>
-</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/ko/next/security-bouncy-castle"><span class="arrow-prev">← </span><span>Bouncy Castle Providers</span></a><a class="docs-next button" href="/docs/ko/next/client-libraries"><span>Overview</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#pulsar-perf">Pulsar Perf</a><ul class="toc-headings"><li><a href="#produce-messages"> [...]
+</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/ko/next/security-bouncy-castle"><span class="arrow-prev">← </span><span>Bouncy Castle Providers</span></a><a class="docs-next button" href="/docs/ko/next/client-libraries"><span>Overview</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#produce-messages">Produce messages</a><ul class="toc-headings"><li><a href="#configur [...]
       const community = document.querySelector("a[href='#community']").parentNode;
       const communityMenu =
         '<li>' +
diff --git a/content/docs/ko/next/performance-pulsar-perf/index.html b/content/docs/ko/next/performance-pulsar-perf/index.html
index ca1ee86..a8fefd4 100644
--- a/content/docs/ko/next/performance-pulsar-perf/index.html
+++ b/content/docs/ko/next/performance-pulsar-perf/index.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="ko"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Pulsar Perf · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="This document describes how to use the Pulsar Perf for performance testing. For detailed information about performance tuning, see [here](https://streamnative.io/whitepaper/taking-a-deep-dive-into-apache-p [...]
+<!DOCTYPE html><html lang="ko"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Pulsar Perf · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="The Pulsar Perf is a built-in performance test tool for Apache Pulsar. You can use the Pulsar Perf to test message writing or reading performance. For detailed information about performance tuning, see [he [...]
               (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
               (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
               m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
@@ -74,10 +74,8 @@
                 };
               }
             });
-        </script></nav></div><div class="container mainContainer docsContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://crowdin.com/project/apache-pulsar/ko" target="_blank" rel="noreferrer noopener">Translate</a><h1 id="__docusaurus" class="postHeaderTitle">Pulsar Perf</h1></header><article><div><span><p>This document describes how to use the Pulsar Perf for performance testing. For detailed information about perfo [...]
-<h2><a class="anchor" aria-hidden="true" id="pulsar-perf"></a><a href="#pulsar-perf" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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 [...]
-<p>The Pulsar Perf is a built-in performance test tool for Apache Pulsar. You can use the Pulsar Perf to test message writing or reading performance.</p>
-<h3><a class="anchor" aria-hidden="true" id="produce-messages"></a><a href="#produce-messages" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2. [...]
+        </script></nav></div><div class="container mainContainer docsContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://crowdin.com/project/apache-pulsar/ko" target="_blank" rel="noreferrer noopener">Translate</a><h1 id="__docusaurus" class="postHeaderTitle">Pulsar Perf</h1></header><article><div><span><p>The Pulsar Perf is a built-in performance test tool for Apache Pulsar. You can use the Pulsar Perf to test messa [...]
+<h2><a class="anchor" aria-hidden="true" id="produce-messages"></a><a href="#produce-messages" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2. [...]
 <p>This example shows how the Pulsar Perf produces messages with default options. For all configuration options available for the <code>pulsar-perf produce</code> command, see <a href="#configuration-options-for-pulsar-perf-produce">configuration options</a>.</p>
 <pre><code class="hljs">bin/pulsar-perf produce <span class="hljs-keyword">my</span>-topic
 </code></pre>
@@ -96,7 +94,7 @@
 <span class="hljs-number">19</span>:<span class="hljs-number">54</span>:<span class="hljs-number">44.336</span> [Thread<span class="hljs-number">-1</span>] INFO  org.apache.pulsar.testclient.PerformanceProducer - Aggregated latency stats --- Latency: mean:   <span class="hljs-number">3.383</span> ms - med:   <span class="hljs-number">3.293</span> - <span class="hljs-number">95</span>pct:   <span class="hljs-number">4.610</span> - <span class="hljs-number">99</span>pct:   <span class="hlj [...]
 </code></pre>
 <p>From the above test data, you can get the throughput statistics and the write latency statistics. The aggregated statistics is printed when the Pulsar Perf is stopped. You can press <strong>Ctrl</strong>+<strong>C</strong> to stop the Pulsar Perf. After the Pulsar Perf is stopped, the <a href="http://hdrhistogram.github.io/HdrHistogram/">HdrHistogram</a> formatted test result appears under your directory. The document looks like <code>perf-producer-1589370810837.hgrm</code>. You can a [...]
-<h4><a class="anchor" aria-hidden="true" id="configuration-options-for-pulsar-perf-produce"></a><a href="#configuration-options-for-pulsar-perf-produce" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h- [...]
+<h3><a class="anchor" aria-hidden="true" id="configuration-options-for-pulsar-perf-produce"></a><a href="#configuration-options-for-pulsar-perf-produce" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h- [...]
 <p>You can get all options by executing the <code>bin/pulsar-perf produce -h</code> command. Therefore, you can modify these options as required.</p>
 <p>The following table lists configuration options available for the <code>pulsar-perf produce</code> command.</p>
 <table>
@@ -134,7 +132,7 @@
 <tr><td>warmup-time</td><td>Set the warm-up time.</td><td>1s</td></tr>
 </tbody>
 </table>
-<h3><a class="anchor" aria-hidden="true" id="consume-messages"></a><a href="#consume-messages" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2. [...]
+<h2><a class="anchor" aria-hidden="true" id="consume-messages"></a><a href="#consume-messages" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2. [...]
 <p>This example shows how the Pulsar Perf consumes messages with default options.</p>
 <pre><code class="hljs">bin/pulsar-perf consume <span class="hljs-keyword">my</span>-topic
 </code></pre>
@@ -152,7 +150,7 @@
 <span class="hljs-number">20</span>:<span class="hljs-number">36</span>:<span class="hljs-number">42.759</span> [Thread<span class="hljs-number">-1</span>] INFO  org.apache.pulsar.testclient.PerformanceConsumer - Aggregated latency stats --- Latency: mean: <span class="hljs-number">9.422</span> ms - med: <span class="hljs-number">9</span> - <span class="hljs-number">95</span>pct: <span class="hljs-number">15</span> - <span class="hljs-number">99</span>pct: <span class="hljs-number">16</s [...]
 </code></pre>
 <p>From the output test data, you can get the throughput statistics and the end-to-end latency statistics. The aggregated statistics is printed after the Pulsar Perf is stopped. You can press <strong>Ctrl</strong>+<strong>C</strong> to stop the Pulsar Perf.</p>
-<h4><a class="anchor" aria-hidden="true" id="configuration-options-for-pulsar-perf-consume"></a><a href="#configuration-options-for-pulsar-perf-consume" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h- [...]
+<h3><a class="anchor" aria-hidden="true" id="configuration-options-for-pulsar-perf-consume"></a><a href="#configuration-options-for-pulsar-perf-consume" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h- [...]
 <p>You can get all options by executing the <code>bin/pulsar-perf consume -h</code> command. Therefore, you can modify these options as required.</p>
 <p>The following table lists configuration options available for the <code>pulsar-perf consume</code> command.</p>
 <table>
@@ -180,7 +178,7 @@
 <tr><td>trust-cert-file</td><td>Set the path for the trusted TLS certificate file.</td><td><empty string></td></tr>
 </tbody>
 </table>
-<h3><a class="anchor" aria-hidden="true" id="configurations"></a><a href="#configurations" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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- [...]
+<h2><a class="anchor" aria-hidden="true" id="configurations"></a><a href="#configurations" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>By default, the Pulsar Perf uses <code>conf/client.conf</code> as the default configuration and uses <code>conf/log4j2.yaml</code> as the default Log4j configuration. If you want to connect to other Pulsar clusters, you can update the <code>brokerServiceUrl</code> in the client configuration.</p>
 <p>You can use the following commands to change the configuration file and the Log4j configuration file.</p>
 <pre><code class="hljs"><span class="hljs-builtin-name">export</span> <span class="hljs-attribute">PULSAR_CLIENT_CONF</span>=&lt;your-config-file&gt;
@@ -209,7 +207,7 @@
 <li><p>Check the test result through the Graphical User Interface of the HdrHistogram Plotter, as shown blow.</p>
 <p><img src="/docs/assets/perf-produce.png" alt=""></p></li>
 </ol>
-</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/ko/next/security-bouncy-castle"><span class="arrow-prev">← </span><span>Bouncy Castle Providers</span></a><a class="docs-next button" href="/docs/ko/next/client-libraries"><span>Overview</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#pulsar-perf">Pulsar Perf</a><ul class="toc-headings"><li><a href="#produce-messages"> [...]
+</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/ko/next/security-bouncy-castle"><span class="arrow-prev">← </span><span>Bouncy Castle Providers</span></a><a class="docs-next button" href="/docs/ko/next/client-libraries"><span>Overview</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#produce-messages">Produce messages</a><ul class="toc-headings"><li><a href="#configur [...]
       const community = document.querySelector("a[href='#community']").parentNode;
       const communityMenu =
         '<li>' +
diff --git a/content/docs/ko/next/pulsar-admin.html b/content/docs/ko/next/pulsar-admin.html
index d16c1c2..e06139a 100644
--- a/content/docs/ko/next/pulsar-admin.html
+++ b/content/docs/ko/next/pulsar-admin.html
@@ -1515,11 +1515,15 @@
 </tbody>
 </table>
 <h2><a class="anchor" aria-hidden="true" id="topics-1"></a><a href="#topics-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  [...]
-<p>Operations for managing Pulsar topics (both persistent and non persistent)</p>
+<p>Operations for managing Pulsar topics (both persistent and non-persistent).</p>
 <p>Usage</p>
 <pre><code class="hljs css language-bash">$ pulsar-admin topics subcommand
 </code></pre>
-<p>Subcommands * <code>compact</code> * <code>compaction-status</code> * <code>offload</code> * <code>offload-status</code> * <code>create-partitioned-topic</code> * <code>create-missed-partitions</code> * <code>delete-partitioned-topic</code> * <code>create</code> * <code>get-partitioned-topic-metadata</code> * <code>update-partitioned-topic</code> * <code>list-partitioned-topics</code> * <code>list</code> * <code>terminate</code> * <code>permissions</code> * <code>grant-permission</cod [...]
+<p>From Pulsar 2.7.0, some namespace-level policies are available on topic level. To enable topic-level policy in Pulsar, you need to configure the following parameters in the <code>broker.conf</code> file.</p>
+<pre><code class="hljs css language-shell">systemTopicEnabled=true
+topicLevelPoliciesEnabled=true
+</code></pre>
+<p>Subcommands * <code>compact</code> * <code>compaction-status</code> * <code>offload</code> * <code>offload-status</code> * <code>create-partitioned-topic</code> * <code>create-missed-partitions</code> * <code>delete-partitioned-topic</code> * <code>create</code> * <code>get-partitioned-topic-metadata</code> * <code>update-partitioned-topic</code> * <code>list-partitioned-topics</code> * <code>list</code> * <code>terminate</code> * <code>permissions</code> * <code>grant-permission</cod [...]
 <h3><a class="anchor" aria-hidden="true" id="compact"></a><a href="#compact" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>Run compaction on the specified topic (persistent topics only)</p>
 <p>Usage</p>
diff --git a/content/docs/ko/next/pulsar-admin/index.html b/content/docs/ko/next/pulsar-admin/index.html
index d16c1c2..e06139a 100644
--- a/content/docs/ko/next/pulsar-admin/index.html
+++ b/content/docs/ko/next/pulsar-admin/index.html
@@ -1515,11 +1515,15 @@
 </tbody>
 </table>
 <h2><a class="anchor" aria-hidden="true" id="topics-1"></a><a href="#topics-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  [...]
-<p>Operations for managing Pulsar topics (both persistent and non persistent)</p>
+<p>Operations for managing Pulsar topics (both persistent and non-persistent).</p>
 <p>Usage</p>
 <pre><code class="hljs css language-bash">$ pulsar-admin topics subcommand
 </code></pre>
-<p>Subcommands * <code>compact</code> * <code>compaction-status</code> * <code>offload</code> * <code>offload-status</code> * <code>create-partitioned-topic</code> * <code>create-missed-partitions</code> * <code>delete-partitioned-topic</code> * <code>create</code> * <code>get-partitioned-topic-metadata</code> * <code>update-partitioned-topic</code> * <code>list-partitioned-topics</code> * <code>list</code> * <code>terminate</code> * <code>permissions</code> * <code>grant-permission</cod [...]
+<p>From Pulsar 2.7.0, some namespace-level policies are available on topic level. To enable topic-level policy in Pulsar, you need to configure the following parameters in the <code>broker.conf</code> file.</p>
+<pre><code class="hljs css language-shell">systemTopicEnabled=true
+topicLevelPoliciesEnabled=true
+</code></pre>
+<p>Subcommands * <code>compact</code> * <code>compaction-status</code> * <code>offload</code> * <code>offload-status</code> * <code>create-partitioned-topic</code> * <code>create-missed-partitions</code> * <code>delete-partitioned-topic</code> * <code>create</code> * <code>get-partitioned-topic-metadata</code> * <code>update-partitioned-topic</code> * <code>list-partitioned-topics</code> * <code>list</code> * <code>terminate</code> * <code>permissions</code> * <code>grant-permission</cod [...]
 <h3><a class="anchor" aria-hidden="true" id="compact"></a><a href="#compact" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>Run compaction on the specified topic (persistent topics only)</p>
 <p>Usage</p>
diff --git a/content/docs/ko/next/reference-configuration.html b/content/docs/ko/next/reference-configuration.html
index 520b61a..c928582 100644
--- a/content/docs/ko/next/reference-configuration.html
+++ b/content/docs/ko/next/reference-configuration.html
@@ -258,6 +258,7 @@ Instead, you can set a subscription expiration time for each <strong>namespace</
 </tbody>
 </table>
 <h2><a class="anchor" aria-hidden="true" id="log4j"></a><a href="#log4j" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>You can set the log level and configuration in the <a href="https://github.com/apache/pulsar/blob/d557e0aa286866363bc6261dec87790c055db1b0/conf/log4j2.yaml#L155">log4j2.yaml</a> file. The following logging configuration parameters are available.</p>
 <table>
 <thead>
 <tr><th>Name</th><th>Default</th></tr>
@@ -304,7 +305,7 @@ Instead, you can set a subscription expiration time for each <strong>namespace</
 </tbody>
 </table>
 <h2><a class="anchor" aria-hidden="true" id="standalone"></a><a href="#standalone" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>|Name|Description|Default| |---|---|---| |authenticateOriginalAuthData| If this flag is set to <code>true</code>, the broker authenticates the original Auth data; else it just accepts the originalPrincipal and authorizes it (if required). |false| |zookeeperServers| The quorum connection string for local ZooKeeper || |zooKeeperCacheExpirySeconds|ZooKeeper cache expiry time in seconds|300 |configurationStoreServers| Configuration store connection string (as a comma-separated list) || |b [...]
+<p>|Name|Description|Default| |---|---|---| |authenticateOriginalAuthData| If this flag is set to <code>true</code>, the broker authenticates the original Auth data; else it just accepts the originalPrincipal and authorizes it (if required). |false| |zookeeperServers| The quorum connection string for local ZooKeeper || |zooKeeperCacheExpirySeconds|ZooKeeper cache expiry time in seconds|300 |configurationStoreServers| Configuration store connection string (as a comma-separated list) || |b [...]
 <ul>
 <li>JKS
 <ul>
diff --git a/content/docs/ko/next/reference-configuration/index.html b/content/docs/ko/next/reference-configuration/index.html
index 520b61a..c928582 100644
--- a/content/docs/ko/next/reference-configuration/index.html
+++ b/content/docs/ko/next/reference-configuration/index.html
@@ -258,6 +258,7 @@ Instead, you can set a subscription expiration time for each <strong>namespace</
 </tbody>
 </table>
 <h2><a class="anchor" aria-hidden="true" id="log4j"></a><a href="#log4j" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>You can set the log level and configuration in the <a href="https://github.com/apache/pulsar/blob/d557e0aa286866363bc6261dec87790c055db1b0/conf/log4j2.yaml#L155">log4j2.yaml</a> file. The following logging configuration parameters are available.</p>
 <table>
 <thead>
 <tr><th>Name</th><th>Default</th></tr>
@@ -304,7 +305,7 @@ Instead, you can set a subscription expiration time for each <strong>namespace</
 </tbody>
 </table>
 <h2><a class="anchor" aria-hidden="true" id="standalone"></a><a href="#standalone" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>|Name|Description|Default| |---|---|---| |authenticateOriginalAuthData| If this flag is set to <code>true</code>, the broker authenticates the original Auth data; else it just accepts the originalPrincipal and authorizes it (if required). |false| |zookeeperServers| The quorum connection string for local ZooKeeper || |zooKeeperCacheExpirySeconds|ZooKeeper cache expiry time in seconds|300 |configurationStoreServers| Configuration store connection string (as a comma-separated list) || |b [...]
+<p>|Name|Description|Default| |---|---|---| |authenticateOriginalAuthData| If this flag is set to <code>true</code>, the broker authenticates the original Auth data; else it just accepts the originalPrincipal and authorizes it (if required). |false| |zookeeperServers| The quorum connection string for local ZooKeeper || |zooKeeperCacheExpirySeconds|ZooKeeper cache expiry time in seconds|300 |configurationStoreServers| Configuration store connection string (as a comma-separated list) || |b [...]
 <ul>
 <li>JKS
 <ul>
diff --git a/content/docs/ko/next/reference-metrics.html b/content/docs/ko/next/reference-metrics.html
index 7afb11d..4c076eb 100644
--- a/content/docs/ko/next/reference-metrics.html
+++ b/content/docs/ko/next/reference-metrics.html
@@ -141,7 +141,7 @@
 <li>1: the bookie is running in writable mode.</li>
 <li>0: the bookie is running in readonly mode.</li>
 </ul>
-<p>| | bookkeeper_server_ADD_ENTRY_count | Counter | The total number of ADD_ENTRY requests received at the bookie. The <code>success</code> label is used to distinguish successes and failures. | | bookkeeper_server_READ_ENTRY_count | Counter | The total number of READ_ENTRY requests received at the bookie. The <code>success</code> label is used to distinguish successes and failures. | | bookie_WRITE_BYTES | Counter | The total number of bytes written to the bookie. | | bookie_READ_BYTES [...]
+<p>| | bookkeeper_server_ADD_ENTRY_count | Counter | The total number of ADD_ENTRY requests received at the bookie. The <code>success</code> label is used to distinguish successes and failures. | | bookkeeper_server_READ_ENTRY_count | Counter | The total number of READ_ENTRY requests received at the bookie. The <code>success</code> label is used to distinguish successes and failures. | | bookie_WRITE_BYTES | Counter | The total number of bytes written to the bookie. | | bookie_READ_BYTES [...]
 <h3><a class="anchor" aria-hidden="true" id="journal-metrics"></a><a href="#journal-metrics" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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  [...]
 <table>
 <thead>
@@ -152,8 +152,8 @@
 <tr><td>bookie_journal_JOURNAL_QUEUE_SIZE</td><td>Gauge</td><td>The total number of requests pending in the journal queue.</td></tr>
 <tr><td>bookie_journal_JOURNAL_FORCE_WRITE_QUEUE_SIZE</td><td>Gauge</td><td>The total number of force write (fsync) requests pending in the force-write queue.</td></tr>
 <tr><td>bookie_journal_JOURNAL_CB_QUEUE_SIZE</td><td>Gauge</td><td>The total number of callbacks pending in the callback queue.</td></tr>
-<tr><td>bookie_journal_JOURNAL_ADD_ENTRY</td><td>Histogram</td><td>The histogram of request latency of adding entries to the journal.</td></tr>
-<tr><td>bookie_journal_JOURNAL_SYNC</td><td>Histogram</td><td>The histogram of fsync latency of syncing data to the journal disk.</td></tr>
+<tr><td>bookie_journal_JOURNAL_ADD_ENTRY</td><td>Summary</td><td>The summary of request latency of adding entries to the journal.</td></tr>
+<tr><td>bookie_journal_JOURNAL_SYNC</td><td>Summary</td><td>The summary of fsync latency of syncing data to the journal disk.</td></tr>
 </tbody>
 </table>
 <h3><a class="anchor" aria-hidden="true" id="storage-metrics"></a><a href="#storage-metrics" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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  [...]
diff --git a/content/docs/ko/next/reference-metrics/index.html b/content/docs/ko/next/reference-metrics/index.html
index 7afb11d..4c076eb 100644
--- a/content/docs/ko/next/reference-metrics/index.html
+++ b/content/docs/ko/next/reference-metrics/index.html
@@ -141,7 +141,7 @@
 <li>1: the bookie is running in writable mode.</li>
 <li>0: the bookie is running in readonly mode.</li>
 </ul>
-<p>| | bookkeeper_server_ADD_ENTRY_count | Counter | The total number of ADD_ENTRY requests received at the bookie. The <code>success</code> label is used to distinguish successes and failures. | | bookkeeper_server_READ_ENTRY_count | Counter | The total number of READ_ENTRY requests received at the bookie. The <code>success</code> label is used to distinguish successes and failures. | | bookie_WRITE_BYTES | Counter | The total number of bytes written to the bookie. | | bookie_READ_BYTES [...]
+<p>| | bookkeeper_server_ADD_ENTRY_count | Counter | The total number of ADD_ENTRY requests received at the bookie. The <code>success</code> label is used to distinguish successes and failures. | | bookkeeper_server_READ_ENTRY_count | Counter | The total number of READ_ENTRY requests received at the bookie. The <code>success</code> label is used to distinguish successes and failures. | | bookie_WRITE_BYTES | Counter | The total number of bytes written to the bookie. | | bookie_READ_BYTES [...]
 <h3><a class="anchor" aria-hidden="true" id="journal-metrics"></a><a href="#journal-metrics" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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  [...]
 <table>
 <thead>
@@ -152,8 +152,8 @@
 <tr><td>bookie_journal_JOURNAL_QUEUE_SIZE</td><td>Gauge</td><td>The total number of requests pending in the journal queue.</td></tr>
 <tr><td>bookie_journal_JOURNAL_FORCE_WRITE_QUEUE_SIZE</td><td>Gauge</td><td>The total number of force write (fsync) requests pending in the force-write queue.</td></tr>
 <tr><td>bookie_journal_JOURNAL_CB_QUEUE_SIZE</td><td>Gauge</td><td>The total number of callbacks pending in the callback queue.</td></tr>
-<tr><td>bookie_journal_JOURNAL_ADD_ENTRY</td><td>Histogram</td><td>The histogram of request latency of adding entries to the journal.</td></tr>
-<tr><td>bookie_journal_JOURNAL_SYNC</td><td>Histogram</td><td>The histogram of fsync latency of syncing data to the journal disk.</td></tr>
+<tr><td>bookie_journal_JOURNAL_ADD_ENTRY</td><td>Summary</td><td>The summary of request latency of adding entries to the journal.</td></tr>
+<tr><td>bookie_journal_JOURNAL_SYNC</td><td>Summary</td><td>The summary of fsync latency of syncing data to the journal disk.</td></tr>
 </tbody>
 </table>
 <h3><a class="anchor" aria-hidden="true" id="storage-metrics"></a><a href="#storage-metrics" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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  [...]
diff --git a/content/docs/ko/next/tiered-storage-aws.html b/content/docs/ko/next/tiered-storage-aws.html
index 362abbd..319ab0a 100644
--- a/content/docs/ko/next/tiered-storage-aws.html
+++ b/content/docs/ko/next/tiered-storage-aws.html
@@ -127,7 +127,7 @@ tiered-storage-jcloud-2.5.1.nar
 <li><p><strong>Required</strong> configurations are as below.</p>
 <p>Required configuration | Description | Example value |---|---|--- <code>managedLedgerOffloadDriver</code> | Offloader driver name, which is case-insensitive. <br><br><strong>Note</strong>: there is a third driver type, S3, which is identical to AWS S3, though S3 requires that you specify an endpoint URL using <code>s3ManagedLedgerOffloadServiceEndpoint</code>. This is useful if using an S3 compatible data store other than AWS S3. | aws-s3 <code>offloadersDirectory</code> | Offloader d [...]
 <li><p><strong>Optional</strong> configurations are as below.</p>
-<p>Optional | Description | Example value |---|---|--- <code>s3ManagedLedgerOffloadRegion</code> | Bucket region | eu-west-3 <code>s3ManagedLedgerOffloadReadBufferSizeInBytes</code>|Size of block read|1 MB <code>s3ManagedLedgerOffloadMaxBlockSizeInBytes</code>|Size of block write|64 MB <code>managedLedgerMinLedgerRolloverTimeMinutes</code>|Minimum time between ledger rollover for a topic<br><br><strong>Note</strong>: it is not recommended that you set this configuration in the production [...]
+<p>Optional | Description | Example value |---|---|--- <code>s3ManagedLedgerOffloadRegion</code> | Bucket region <br><br><strong>Note</strong>: before specifying a value for this parameter, you need to set the following configurations. Otherwise, you might get an error.<br><br>- Set <a href="https://docs.aws.amazon.com/general/latest/gr/s3.html"><code>s3ManagedLedgerOffloadServiceEndpoint</code></a>.<br><br>Example<br><code>s3ManagedLedgerOffloadServiceEndpoint=https://s3.YOUR_REGION.ama [...]
 </ul>
 <h4><a class="anchor" aria-hidden="true" id="bucket-required"></a><a href="#bucket-required" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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  [...]
 <p>A bucket is a basic container that holds your data. Everything you store in AWS S3 must be contained in a bucket. You can use a bucket to organize your data and control access to your data, but unlike directory and folder, you cannot nest a bucket.</p>
diff --git a/content/docs/ko/next/tiered-storage-aws/index.html b/content/docs/ko/next/tiered-storage-aws/index.html
index 362abbd..319ab0a 100644
--- a/content/docs/ko/next/tiered-storage-aws/index.html
+++ b/content/docs/ko/next/tiered-storage-aws/index.html
@@ -127,7 +127,7 @@ tiered-storage-jcloud-2.5.1.nar
 <li><p><strong>Required</strong> configurations are as below.</p>
 <p>Required configuration | Description | Example value |---|---|--- <code>managedLedgerOffloadDriver</code> | Offloader driver name, which is case-insensitive. <br><br><strong>Note</strong>: there is a third driver type, S3, which is identical to AWS S3, though S3 requires that you specify an endpoint URL using <code>s3ManagedLedgerOffloadServiceEndpoint</code>. This is useful if using an S3 compatible data store other than AWS S3. | aws-s3 <code>offloadersDirectory</code> | Offloader d [...]
 <li><p><strong>Optional</strong> configurations are as below.</p>
-<p>Optional | Description | Example value |---|---|--- <code>s3ManagedLedgerOffloadRegion</code> | Bucket region | eu-west-3 <code>s3ManagedLedgerOffloadReadBufferSizeInBytes</code>|Size of block read|1 MB <code>s3ManagedLedgerOffloadMaxBlockSizeInBytes</code>|Size of block write|64 MB <code>managedLedgerMinLedgerRolloverTimeMinutes</code>|Minimum time between ledger rollover for a topic<br><br><strong>Note</strong>: it is not recommended that you set this configuration in the production [...]
+<p>Optional | Description | Example value |---|---|--- <code>s3ManagedLedgerOffloadRegion</code> | Bucket region <br><br><strong>Note</strong>: before specifying a value for this parameter, you need to set the following configurations. Otherwise, you might get an error.<br><br>- Set <a href="https://docs.aws.amazon.com/general/latest/gr/s3.html"><code>s3ManagedLedgerOffloadServiceEndpoint</code></a>.<br><br>Example<br><code>s3ManagedLedgerOffloadServiceEndpoint=https://s3.YOUR_REGION.ama [...]
 </ul>
 <h4><a class="anchor" aria-hidden="true" id="bucket-required"></a><a href="#bucket-required" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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  [...]
 <p>A bucket is a basic container that holds your data. Everything you store in AWS S3 must be contained in a bucket. You can use a bucket to organize your data and control access to your data, but unlike directory and folder, you cannot nest a bucket.</p>
diff --git a/content/docs/ko/pulsar-admin.html b/content/docs/ko/pulsar-admin.html
index 8ebdb8c..0143b29 100644
--- a/content/docs/ko/pulsar-admin.html
+++ b/content/docs/ko/pulsar-admin.html
@@ -1656,6 +1656,10 @@
 <p>Usage</p>
 <pre><code class="hljs css language-bash">$ pulsar-admin topics subcommand
 </code></pre>
+<p>Some namespace-level policies are available on topic level. To enable topic-level policy in Pulsar, you need to configure the following parameters in the <code>broker.conf</code> file.</p>
+<pre><code class="hljs css language-shell">systemTopicEnabled=true
+topicLevelPoliciesEnabled=true
+</code></pre>
 <p>Subcommands</p>
 <ul>
 <li><code>compact</code></li>
@@ -1706,6 +1710,36 @@
 <li><code>get-deduplication</code></li>
 <li><code>set-deduplication</code></li>
 <li><code>remove-deduplication</code></li>
+<li><code>get-max-producers</code></li>
+<li><code>set-max-producers</code></li>
+<li><code>remove-max-producers</code></li>
+<li><code>get-max-consumers</code></li>
+<li><code>set-max-consumers</code></li>
+<li><code>remove-max-consumers</code></li>
+<li><code>get-retention</code></li>
+<li><code>set-retention</code></li>
+<li><code>remove-retention</code></li>
+<li><code>get-dispatch-rate</code></li>
+<li><code>set-dispatch-rate</code></li>
+<li><code>remove-dispatch-rate</code></li>
+<li><code>get-compaction-threshold</code></li>
+<li><code>set-compaction-threshold</code></li>
+<li><code>remove-compaction-threshold</code></li>
+<li><code>get-offload-policies</code></li>
+<li><code>set-offload-policies</code></li>
+<li><code>remove-offload-policies</code></li>
+<li><code>get-max-unacked-messages-per-subscription</code></li>
+<li><code>set-max-unacked-messages-per-subscription</code></li>
+<li><code>remove-max-unacked-messages-per-subscription</code></li>
+<li><code>get-max-unacked-messages-per-consumer</code></li>
+<li><code>set-max-unacked-messages-per-consumer</code></li>
+<li><code>remove-max-unacked-messages-per-consumer</code></li>
+<li><code>get-delayed-delivery</code></li>
+<li><code>set-delayed-delivery</code></li>
+<li><code>remove-delayed-delivery</code></li>
+<li><code>get-inactive-topic-policies</code></li>
+<li><code>set-inactive-topic-policies</code></li>
+<li><code>remove-inactive-topic-policies</code></li>
 </ul>
 <h3><a class="anchor" aria-hidden="true" id="compact"></a><a href="#compact" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>Run compaction on the specified topic (persistent topics only)</p>
diff --git a/content/docs/ko/pulsar-admin/index.html b/content/docs/ko/pulsar-admin/index.html
index 8ebdb8c..0143b29 100644
--- a/content/docs/ko/pulsar-admin/index.html
+++ b/content/docs/ko/pulsar-admin/index.html
@@ -1656,6 +1656,10 @@
 <p>Usage</p>
 <pre><code class="hljs css language-bash">$ pulsar-admin topics subcommand
 </code></pre>
+<p>Some namespace-level policies are available on topic level. To enable topic-level policy in Pulsar, you need to configure the following parameters in the <code>broker.conf</code> file.</p>
+<pre><code class="hljs css language-shell">systemTopicEnabled=true
+topicLevelPoliciesEnabled=true
+</code></pre>
 <p>Subcommands</p>
 <ul>
 <li><code>compact</code></li>
@@ -1706,6 +1710,36 @@
 <li><code>get-deduplication</code></li>
 <li><code>set-deduplication</code></li>
 <li><code>remove-deduplication</code></li>
+<li><code>get-max-producers</code></li>
+<li><code>set-max-producers</code></li>
+<li><code>remove-max-producers</code></li>
+<li><code>get-max-consumers</code></li>
+<li><code>set-max-consumers</code></li>
+<li><code>remove-max-consumers</code></li>
+<li><code>get-retention</code></li>
+<li><code>set-retention</code></li>
+<li><code>remove-retention</code></li>
+<li><code>get-dispatch-rate</code></li>
+<li><code>set-dispatch-rate</code></li>
+<li><code>remove-dispatch-rate</code></li>
+<li><code>get-compaction-threshold</code></li>
+<li><code>set-compaction-threshold</code></li>
+<li><code>remove-compaction-threshold</code></li>
+<li><code>get-offload-policies</code></li>
+<li><code>set-offload-policies</code></li>
+<li><code>remove-offload-policies</code></li>
+<li><code>get-max-unacked-messages-per-subscription</code></li>
+<li><code>set-max-unacked-messages-per-subscription</code></li>
+<li><code>remove-max-unacked-messages-per-subscription</code></li>
+<li><code>get-max-unacked-messages-per-consumer</code></li>
+<li><code>set-max-unacked-messages-per-consumer</code></li>
+<li><code>remove-max-unacked-messages-per-consumer</code></li>
+<li><code>get-delayed-delivery</code></li>
+<li><code>set-delayed-delivery</code></li>
+<li><code>remove-delayed-delivery</code></li>
+<li><code>get-inactive-topic-policies</code></li>
+<li><code>set-inactive-topic-policies</code></li>
+<li><code>remove-inactive-topic-policies</code></li>
 </ul>
 <h3><a class="anchor" aria-hidden="true" id="compact"></a><a href="#compact" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>Run compaction on the specified topic (persistent topics only)</p>
diff --git a/content/docs/ko/reference-metrics.html b/content/docs/ko/reference-metrics.html
index c38024c..f113e3a 100644
--- a/content/docs/ko/reference-metrics.html
+++ b/content/docs/ko/reference-metrics.html
@@ -133,8 +133,8 @@
 <tr><td>bookkeeper_server_READ_ENTRY_count</td><td>Counter</td><td>The total number of READ_ENTRY requests received at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
 <tr><td>bookie_WRITE_BYTES</td><td>Counter</td><td>The total number of bytes written to the bookie.</td></tr>
 <tr><td>bookie_READ_BYTES</td><td>Counter</td><td>The total number of bytes read from the bookie.</td></tr>
-<tr><td>bookkeeper_server_ADD_ENTRY_REQUEST</td><td>Histogram</td><td>The histogram of request latency of ADD_ENTRY requests at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
-<tr><td>bookkeeper_server_READ_ENTRY_REQUEST</td><td>Histogram</td><td>The histogram of request latency of READ_ENTRY requests at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
+<tr><td>bookkeeper_server_ADD_ENTRY_REQUEST</td><td>Summary</td><td>The summary of request latency of ADD_ENTRY requests at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
+<tr><td>bookkeeper_server_READ_ENTRY_REQUEST</td><td>Summary</td><td>The summary of request latency of READ_ENTRY requests at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
 </tbody>
 </table>
 <h3><a class="anchor" aria-hidden="true" id="journal-metrics"></a><a href="#journal-metrics" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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  [...]
@@ -147,8 +147,8 @@
 <tr><td>bookie_journal_JOURNAL_QUEUE_SIZE</td><td>Gauge</td><td>The total number of requests pending in the journal queue.</td></tr>
 <tr><td>bookie_journal_JOURNAL_FORCE_WRITE_QUEUE_SIZE</td><td>Gauge</td><td>The total number of force write (fsync) requests pending in the force-write queue.</td></tr>
 <tr><td>bookie_journal_JOURNAL_CB_QUEUE_SIZE</td><td>Gauge</td><td>The total number of callbacks pending in the callback queue.</td></tr>
-<tr><td>bookie_journal_JOURNAL_ADD_ENTRY</td><td>Histogram</td><td>The histogram of request latency of adding entries to the journal.</td></tr>
-<tr><td>bookie_journal_JOURNAL_SYNC</td><td>Histogram</td><td>The histogram of fsync latency of syncing data to the journal disk.</td></tr>
+<tr><td>bookie_journal_JOURNAL_ADD_ENTRY</td><td>Summary</td><td>The summary of request latency of adding entries to the journal.</td></tr>
+<tr><td>bookie_journal_JOURNAL_SYNC</td><td>Summary</td><td>The summary of fsync latency of syncing data to the journal disk.</td></tr>
 </tbody>
 </table>
 <h3><a class="anchor" aria-hidden="true" id="storage-metrics"></a><a href="#storage-metrics" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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  [...]
diff --git a/content/docs/ko/reference-metrics/index.html b/content/docs/ko/reference-metrics/index.html
index c38024c..f113e3a 100644
--- a/content/docs/ko/reference-metrics/index.html
+++ b/content/docs/ko/reference-metrics/index.html
@@ -133,8 +133,8 @@
 <tr><td>bookkeeper_server_READ_ENTRY_count</td><td>Counter</td><td>The total number of READ_ENTRY requests received at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
 <tr><td>bookie_WRITE_BYTES</td><td>Counter</td><td>The total number of bytes written to the bookie.</td></tr>
 <tr><td>bookie_READ_BYTES</td><td>Counter</td><td>The total number of bytes read from the bookie.</td></tr>
-<tr><td>bookkeeper_server_ADD_ENTRY_REQUEST</td><td>Histogram</td><td>The histogram of request latency of ADD_ENTRY requests at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
-<tr><td>bookkeeper_server_READ_ENTRY_REQUEST</td><td>Histogram</td><td>The histogram of request latency of READ_ENTRY requests at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
+<tr><td>bookkeeper_server_ADD_ENTRY_REQUEST</td><td>Summary</td><td>The summary of request latency of ADD_ENTRY requests at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
+<tr><td>bookkeeper_server_READ_ENTRY_REQUEST</td><td>Summary</td><td>The summary of request latency of READ_ENTRY requests at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
 </tbody>
 </table>
 <h3><a class="anchor" aria-hidden="true" id="journal-metrics"></a><a href="#journal-metrics" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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  [...]
@@ -147,8 +147,8 @@
 <tr><td>bookie_journal_JOURNAL_QUEUE_SIZE</td><td>Gauge</td><td>The total number of requests pending in the journal queue.</td></tr>
 <tr><td>bookie_journal_JOURNAL_FORCE_WRITE_QUEUE_SIZE</td><td>Gauge</td><td>The total number of force write (fsync) requests pending in the force-write queue.</td></tr>
 <tr><td>bookie_journal_JOURNAL_CB_QUEUE_SIZE</td><td>Gauge</td><td>The total number of callbacks pending in the callback queue.</td></tr>
-<tr><td>bookie_journal_JOURNAL_ADD_ENTRY</td><td>Histogram</td><td>The histogram of request latency of adding entries to the journal.</td></tr>
-<tr><td>bookie_journal_JOURNAL_SYNC</td><td>Histogram</td><td>The histogram of fsync latency of syncing data to the journal disk.</td></tr>
+<tr><td>bookie_journal_JOURNAL_ADD_ENTRY</td><td>Summary</td><td>The summary of request latency of adding entries to the journal.</td></tr>
+<tr><td>bookie_journal_JOURNAL_SYNC</td><td>Summary</td><td>The summary of fsync latency of syncing data to the journal disk.</td></tr>
 </tbody>
 </table>
 <h3><a class="anchor" aria-hidden="true" id="storage-metrics"></a><a href="#storage-metrics" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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  [...]
diff --git a/content/docs/ko/tiered-storage-aws.html b/content/docs/ko/tiered-storage-aws.html
index 3925451..0ed3c3f 100644
--- a/content/docs/ko/tiered-storage-aws.html
+++ b/content/docs/ko/tiered-storage-aws.html
@@ -127,7 +127,7 @@ tiered-storage-jcloud-2.5.1.nar
 <li><p><strong>Required</strong> configurations are as below.</p>
 <p>Required configuration | Description | Example value |---|---|--- <code>managedLedgerOffloadDriver</code> | Offloader driver name, which is case-insensitive. <br><br><strong>Note</strong>: there is a third driver type, S3, which is identical to AWS S3, though S3 requires that you specify an endpoint URL using <code>s3ManagedLedgerOffloadServiceEndpoint</code>. This is useful if using an S3 compatible data store other than AWS S3. | aws-s3 <code>offloadersDirectory</code> | Offloader d [...]
 <li><p><strong>Optional</strong> configurations are as below.</p>
-<p>Optional | Description | Example value |---|---|--- <code>s3ManagedLedgerOffloadRegion</code> | Bucket region | eu-west-3 <code>s3ManagedLedgerOffloadReadBufferSizeInBytes</code>|Size of block read|1 MB <code>s3ManagedLedgerOffloadMaxBlockSizeInBytes</code>|Size of block write|64 MB <code>managedLedgerMinLedgerRolloverTimeMinutes</code>|Minimum time between ledger rollover for a topic<br><br><strong>Note</strong>: it is not recommended that you set this configuration in the production [...]
+<p>Optional | Description | Example value |---|---|--- <code>s3ManagedLedgerOffloadRegion</code> | Bucket region <br><br><strong>Note</strong>: before specifying a value for this parameter, you need to set the following configurations. Otherwise, you might get an error.<br><br>- Set <a href="https://docs.aws.amazon.com/general/latest/gr/s3.html"><code>s3ManagedLedgerOffloadServiceEndpoint</code></a>.<br><br>Example<br><code>s3ManagedLedgerOffloadServiceEndpoint=https://s3.YOUR_REGION.ama [...]
 </ul>
 <h4><a class="anchor" aria-hidden="true" id="bucket-required"></a><a href="#bucket-required" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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  [...]
 <p>A bucket is a basic container that holds your data. Everything you store in AWS S3 must be contained in a bucket. You can use a bucket to organize your data and control access to your data, but unlike directory and folder, you cannot nest a bucket.</p>
diff --git a/content/docs/ko/tiered-storage-aws/index.html b/content/docs/ko/tiered-storage-aws/index.html
index 3925451..0ed3c3f 100644
--- a/content/docs/ko/tiered-storage-aws/index.html
+++ b/content/docs/ko/tiered-storage-aws/index.html
@@ -127,7 +127,7 @@ tiered-storage-jcloud-2.5.1.nar
 <li><p><strong>Required</strong> configurations are as below.</p>
 <p>Required configuration | Description | Example value |---|---|--- <code>managedLedgerOffloadDriver</code> | Offloader driver name, which is case-insensitive. <br><br><strong>Note</strong>: there is a third driver type, S3, which is identical to AWS S3, though S3 requires that you specify an endpoint URL using <code>s3ManagedLedgerOffloadServiceEndpoint</code>. This is useful if using an S3 compatible data store other than AWS S3. | aws-s3 <code>offloadersDirectory</code> | Offloader d [...]
 <li><p><strong>Optional</strong> configurations are as below.</p>
-<p>Optional | Description | Example value |---|---|--- <code>s3ManagedLedgerOffloadRegion</code> | Bucket region | eu-west-3 <code>s3ManagedLedgerOffloadReadBufferSizeInBytes</code>|Size of block read|1 MB <code>s3ManagedLedgerOffloadMaxBlockSizeInBytes</code>|Size of block write|64 MB <code>managedLedgerMinLedgerRolloverTimeMinutes</code>|Minimum time between ledger rollover for a topic<br><br><strong>Note</strong>: it is not recommended that you set this configuration in the production [...]
+<p>Optional | Description | Example value |---|---|--- <code>s3ManagedLedgerOffloadRegion</code> | Bucket region <br><br><strong>Note</strong>: before specifying a value for this parameter, you need to set the following configurations. Otherwise, you might get an error.<br><br>- Set <a href="https://docs.aws.amazon.com/general/latest/gr/s3.html"><code>s3ManagedLedgerOffloadServiceEndpoint</code></a>.<br><br>Example<br><code>s3ManagedLedgerOffloadServiceEndpoint=https://s3.YOUR_REGION.ama [...]
 </ul>
 <h4><a class="anchor" aria-hidden="true" id="bucket-required"></a><a href="#bucket-required" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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  [...]
 <p>A bucket is a basic container that holds your data. Everything you store in AWS S3 must be contained in a bucket. You can use a bucket to organize your data and control access to your data, but unlike directory and folder, you cannot nest a bucket.</p>
diff --git a/content/docs/zh-CN/2.4.0/reference-metrics.html b/content/docs/zh-CN/2.4.0/reference-metrics.html
index 7603cbf..145be79 100644
--- a/content/docs/zh-CN/2.4.0/reference-metrics.html
+++ b/content/docs/zh-CN/2.4.0/reference-metrics.html
@@ -75,8 +75,8 @@
 <tr><td>bookkeeper_server_READ_ENTRY_count</td><td>计数器</td><td>The total number of READ_ENTRY requests received at the bookie. <code>success</code> 标签会被用于区分成功与失败。</td></tr>
 <tr><td>bookie_WRITE_BYTES</td><td>计数器</td><td>The total number of bytes written to the bookie.</td></tr>
 <tr><td>bookie_READ_BYTES</td><td>计数器</td><td>The total number of bytes read from the bookie.</td></tr>
-<tr><td>bookkeeper_server_ADD_ENTRY_REQUEST</td><td>直方图</td><td>The histogram of request latency of ADD_ENTRY requests at the bookie. <code>success</code> 标签会被用于区分成功与失败。</td></tr>
-<tr><td>bookkeeper_server_READ_ENTRY_REQUEST</td><td>直方图</td><td>The histogram of request latency of READ_ENTRY requests at the bookie. <code>success</code> 标签会被用于区分成功与失败。</td></tr>
+<tr><td>bookkeeper_server_ADD_ENTRY_REQUEST</td><td>总结</td><td>The summary of request latency of ADD_ENTRY requests at the bookie. <code>success</code> 标签会被用于区分成功与失败。</td></tr>
+<tr><td>bookkeeper_server_READ_ENTRY_REQUEST</td><td>总结</td><td>The summary of request latency of READ_ENTRY requests at the bookie. <code>success</code> 标签会被用于区分成功与失败。</td></tr>
 </tbody>
 </table>
 <h3><a class="anchor" aria-hidden="true" id="日志度量值"></a><a href="#日志度量值" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09 [...]
@@ -89,8 +89,8 @@
 <tr><td>bookie_journal_JOURNAL_QUEUE_SIZE</td><td>计量表</td><td>日志队列中待处理的请求总数。</td></tr>
 <tr><td>bookie_journal_JOURNAL_FORCE_WRITE_QUEUE_SIZE</td><td>计量表</td><td>在强制写入队列中等待的强制写入 (fsync) 请求总数。</td></tr>
 <tr><td>bookie_journal_JOURNAL_CB_QUEUE_SIZE</td><td>计量表</td><td>回调队列中待处理的回调总数。</td></tr>
-<tr><td>bookie_journal_JOURNAL_ADD_ENTRY</td><td>直方图</td><td>在日志中添加条目的请求延迟的直方图。</td></tr>
-<tr><td>bookie_journal_JOURNAL_SYNC</td><td>直方图</td><td>同步数据到日志磁盘的 fsync 延迟的直方图。</td></tr>
+<tr><td>bookie_journal_JOURNAL_ADD_ENTRY</td><td>总结</td><td>The summary of request latency of adding entries to the journal.</td></tr>
+<tr><td>bookie_journal_JOURNAL_SYNC</td><td>总结</td><td>The summary of fsync latency of syncing data to the journal disk.</td></tr>
 </tbody>
 </table>
 <h3><a class="anchor" aria-hidden="true" id="存储度量值"></a><a href="#存储度量值" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09 [...]
diff --git a/content/docs/zh-CN/2.4.0/reference-metrics/index.html b/content/docs/zh-CN/2.4.0/reference-metrics/index.html
index 7603cbf..145be79 100644
--- a/content/docs/zh-CN/2.4.0/reference-metrics/index.html
+++ b/content/docs/zh-CN/2.4.0/reference-metrics/index.html
@@ -75,8 +75,8 @@
 <tr><td>bookkeeper_server_READ_ENTRY_count</td><td>计数器</td><td>The total number of READ_ENTRY requests received at the bookie. <code>success</code> 标签会被用于区分成功与失败。</td></tr>
 <tr><td>bookie_WRITE_BYTES</td><td>计数器</td><td>The total number of bytes written to the bookie.</td></tr>
 <tr><td>bookie_READ_BYTES</td><td>计数器</td><td>The total number of bytes read from the bookie.</td></tr>
-<tr><td>bookkeeper_server_ADD_ENTRY_REQUEST</td><td>直方图</td><td>The histogram of request latency of ADD_ENTRY requests at the bookie. <code>success</code> 标签会被用于区分成功与失败。</td></tr>
-<tr><td>bookkeeper_server_READ_ENTRY_REQUEST</td><td>直方图</td><td>The histogram of request latency of READ_ENTRY requests at the bookie. <code>success</code> 标签会被用于区分成功与失败。</td></tr>
+<tr><td>bookkeeper_server_ADD_ENTRY_REQUEST</td><td>总结</td><td>The summary of request latency of ADD_ENTRY requests at the bookie. <code>success</code> 标签会被用于区分成功与失败。</td></tr>
+<tr><td>bookkeeper_server_READ_ENTRY_REQUEST</td><td>总结</td><td>The summary of request latency of READ_ENTRY requests at the bookie. <code>success</code> 标签会被用于区分成功与失败。</td></tr>
 </tbody>
 </table>
 <h3><a class="anchor" aria-hidden="true" id="日志度量值"></a><a href="#日志度量值" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09 [...]
@@ -89,8 +89,8 @@
 <tr><td>bookie_journal_JOURNAL_QUEUE_SIZE</td><td>计量表</td><td>日志队列中待处理的请求总数。</td></tr>
 <tr><td>bookie_journal_JOURNAL_FORCE_WRITE_QUEUE_SIZE</td><td>计量表</td><td>在强制写入队列中等待的强制写入 (fsync) 请求总数。</td></tr>
 <tr><td>bookie_journal_JOURNAL_CB_QUEUE_SIZE</td><td>计量表</td><td>回调队列中待处理的回调总数。</td></tr>
-<tr><td>bookie_journal_JOURNAL_ADD_ENTRY</td><td>直方图</td><td>在日志中添加条目的请求延迟的直方图。</td></tr>
-<tr><td>bookie_journal_JOURNAL_SYNC</td><td>直方图</td><td>同步数据到日志磁盘的 fsync 延迟的直方图。</td></tr>
+<tr><td>bookie_journal_JOURNAL_ADD_ENTRY</td><td>总结</td><td>The summary of request latency of adding entries to the journal.</td></tr>
+<tr><td>bookie_journal_JOURNAL_SYNC</td><td>总结</td><td>The summary of fsync latency of syncing data to the journal disk.</td></tr>
 </tbody>
 </table>
 <h3><a class="anchor" aria-hidden="true" id="存储度量值"></a><a href="#存储度量值" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09 [...]
diff --git a/content/docs/zh-CN/2.4.1/reference-metrics.html b/content/docs/zh-CN/2.4.1/reference-metrics.html
index 95e35de..bedc0ee 100644
--- a/content/docs/zh-CN/2.4.1/reference-metrics.html
+++ b/content/docs/zh-CN/2.4.1/reference-metrics.html
@@ -139,7 +139,7 @@
 <li>1: bookie 正运行于可写入模式。</li>
 <li>0: bookie 正运行于只读模式。</li>
 </ul>
-<p>| | bookkeeper_server_ADD_ENTRY_count | 计数器 | bookie 收到的 ADD_ENTRY 请求数总数。 <code>success</code> 标签会被用于区分成功与失败。 | | bookkeeper_server_READ_ENTRY_count | 计数器 | bookie 收到的 READ_ENTRY 请求数总数。 <code>success</code> 标签会被用于区分成功与失败。 | | bookie_WRITE_BYTES | 计数器 | 写入 bookie 的总字节数。 | | bookie_READ_BYTES | 计数器 | 从 bookie 读取的总字节数。 | | bookkeeper_server_ADD_ENTRY_REQUEST | 直方图 | bookie 上 ADD_ENTRY 请求延迟的直方图。 <code>success</code> 标签会被用于区分成功与失败。 | | bookkeeper_server_READ_ENTRY_REQUEST | 直方图 | bookie 上  [...]
+<p>| | bookkeeper_server_ADD_ENTRY_count | 计数器 | bookie 收到的 ADD_ENTRY 请求数总数。 <code>success</code> 标签会被用于区分成功与失败。 | | bookkeeper_server_READ_ENTRY_count | 计数器 | bookie 收到的 READ_ENTRY 请求数总数。 <code>success</code> 标签会被用于区分成功与失败。 | | bookie_WRITE_BYTES | 计数器 | 写入 bookie 的总字节数。 | | bookie_READ_BYTES | 计数器 | 从 bookie 读取的总字节数。 | | bookkeeper_server_ADD_ENTRY_REQUEST | Summary | The summary of request latency of ADD_ENTRY requests at the bookie. <code>success</code> 标签会被用于区分成功与失败。 | | bookkeeper_ [...]
 <h3><a class="anchor" aria-hidden="true" id="日志度量值"></a><a href="#日志度量值" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09 [...]
 <table>
 <thead>
@@ -150,8 +150,8 @@
 <tr><td>bookie_journal_JOURNAL_QUEUE_SIZE</td><td>计量表</td><td>日志队列中待处理的请求总数。</td></tr>
 <tr><td>bookie_journal_JOURNAL_FORCE_WRITE_QUEUE_SIZE</td><td>计量表</td><td>在强制写入队列中等待的强制写入 (fsync) 请求总数。</td></tr>
 <tr><td>bookie_journal_JOURNAL_CB_QUEUE_SIZE</td><td>计量表</td><td>回调队列中待处理的回调总数。</td></tr>
-<tr><td>bookie_journal_JOURNAL_ADD_ENTRY</td><td>直方图</td><td>在日志中添加条目的请求延迟的直方图。</td></tr>
-<tr><td>bookie_journal_JOURNAL_SYNC</td><td>直方图</td><td>同步数据到日志磁盘的 fsync 延迟的直方图。</td></tr>
+<tr><td>bookie_journal_JOURNAL_ADD_ENTRY</td><td>总结</td><td>The summary of request latency of adding entries to the journal.</td></tr>
+<tr><td>bookie_journal_JOURNAL_SYNC</td><td>总结</td><td>The summary of fsync latency of syncing data to the journal disk.</td></tr>
 </tbody>
 </table>
 <h3><a class="anchor" aria-hidden="true" id="存储度量值"></a><a href="#存储度量值" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09 [...]
diff --git a/content/docs/zh-CN/2.4.1/reference-metrics/index.html b/content/docs/zh-CN/2.4.1/reference-metrics/index.html
index 95e35de..bedc0ee 100644
--- a/content/docs/zh-CN/2.4.1/reference-metrics/index.html
+++ b/content/docs/zh-CN/2.4.1/reference-metrics/index.html
@@ -139,7 +139,7 @@
 <li>1: bookie 正运行于可写入模式。</li>
 <li>0: bookie 正运行于只读模式。</li>
 </ul>
-<p>| | bookkeeper_server_ADD_ENTRY_count | 计数器 | bookie 收到的 ADD_ENTRY 请求数总数。 <code>success</code> 标签会被用于区分成功与失败。 | | bookkeeper_server_READ_ENTRY_count | 计数器 | bookie 收到的 READ_ENTRY 请求数总数。 <code>success</code> 标签会被用于区分成功与失败。 | | bookie_WRITE_BYTES | 计数器 | 写入 bookie 的总字节数。 | | bookie_READ_BYTES | 计数器 | 从 bookie 读取的总字节数。 | | bookkeeper_server_ADD_ENTRY_REQUEST | 直方图 | bookie 上 ADD_ENTRY 请求延迟的直方图。 <code>success</code> 标签会被用于区分成功与失败。 | | bookkeeper_server_READ_ENTRY_REQUEST | 直方图 | bookie 上  [...]
+<p>| | bookkeeper_server_ADD_ENTRY_count | 计数器 | bookie 收到的 ADD_ENTRY 请求数总数。 <code>success</code> 标签会被用于区分成功与失败。 | | bookkeeper_server_READ_ENTRY_count | 计数器 | bookie 收到的 READ_ENTRY 请求数总数。 <code>success</code> 标签会被用于区分成功与失败。 | | bookie_WRITE_BYTES | 计数器 | 写入 bookie 的总字节数。 | | bookie_READ_BYTES | 计数器 | 从 bookie 读取的总字节数。 | | bookkeeper_server_ADD_ENTRY_REQUEST | Summary | The summary of request latency of ADD_ENTRY requests at the bookie. <code>success</code> 标签会被用于区分成功与失败。 | | bookkeeper_ [...]
 <h3><a class="anchor" aria-hidden="true" id="日志度量值"></a><a href="#日志度量值" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09 [...]
 <table>
 <thead>
@@ -150,8 +150,8 @@
 <tr><td>bookie_journal_JOURNAL_QUEUE_SIZE</td><td>计量表</td><td>日志队列中待处理的请求总数。</td></tr>
 <tr><td>bookie_journal_JOURNAL_FORCE_WRITE_QUEUE_SIZE</td><td>计量表</td><td>在强制写入队列中等待的强制写入 (fsync) 请求总数。</td></tr>
 <tr><td>bookie_journal_JOURNAL_CB_QUEUE_SIZE</td><td>计量表</td><td>回调队列中待处理的回调总数。</td></tr>
-<tr><td>bookie_journal_JOURNAL_ADD_ENTRY</td><td>直方图</td><td>在日志中添加条目的请求延迟的直方图。</td></tr>
-<tr><td>bookie_journal_JOURNAL_SYNC</td><td>直方图</td><td>同步数据到日志磁盘的 fsync 延迟的直方图。</td></tr>
+<tr><td>bookie_journal_JOURNAL_ADD_ENTRY</td><td>总结</td><td>The summary of request latency of adding entries to the journal.</td></tr>
+<tr><td>bookie_journal_JOURNAL_SYNC</td><td>总结</td><td>The summary of fsync latency of syncing data to the journal disk.</td></tr>
 </tbody>
 </table>
 <h3><a class="anchor" aria-hidden="true" id="存储度量值"></a><a href="#存储度量值" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09 [...]
diff --git a/content/docs/zh-CN/2.4.2/reference-metrics.html b/content/docs/zh-CN/2.4.2/reference-metrics.html
index 7c366f1..000ac2b 100644
--- a/content/docs/zh-CN/2.4.2/reference-metrics.html
+++ b/content/docs/zh-CN/2.4.2/reference-metrics.html
@@ -131,8 +131,8 @@
 <tr><td>bookkeeper_server_READ_ENTRY_count</td><td>计数器</td><td>The total number of READ_ENTRY requests received at the bookie. <code>success</code> 标签会被用于区分成功与失败。</td></tr>
 <tr><td>bookie_WRITE_BYTES</td><td>计数器</td><td>The total number of bytes written to the bookie.</td></tr>
 <tr><td>bookie_READ_BYTES</td><td>计数器</td><td>The total number of bytes read from the bookie.</td></tr>
-<tr><td>bookkeeper_server_ADD_ENTRY_REQUEST</td><td>直方图</td><td>The histogram of request latency of ADD_ENTRY requests at the bookie. <code>success</code> 标签会被用于区分成功与失败。</td></tr>
-<tr><td>bookkeeper_server_READ_ENTRY_REQUEST</td><td>直方图</td><td>The histogram of request latency of READ_ENTRY requests at the bookie. <code>success</code> 标签会被用于区分成功与失败。</td></tr>
+<tr><td>bookkeeper_server_ADD_ENTRY_REQUEST</td><td>总结</td><td>The summary of request latency of ADD_ENTRY requests at the bookie. <code>success</code> 标签会被用于区分成功与失败。</td></tr>
+<tr><td>bookkeeper_server_READ_ENTRY_REQUEST</td><td>总结</td><td>The summary of request latency of READ_ENTRY requests at the bookie. <code>success</code> 标签会被用于区分成功与失败。</td></tr>
 </tbody>
 </table>
 <h3><a class="anchor" aria-hidden="true" id="日志度量值"></a><a href="#日志度量值" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09 [...]
@@ -145,8 +145,8 @@
 <tr><td>bookie_journal_JOURNAL_QUEUE_SIZE</td><td>计量表</td><td>日志队列中待处理的请求总数。</td></tr>
 <tr><td>bookie_journal_JOURNAL_FORCE_WRITE_QUEUE_SIZE</td><td>计量表</td><td>在强制写入队列中等待的强制写入 (fsync) 请求总数。</td></tr>
 <tr><td>bookie_journal_JOURNAL_CB_QUEUE_SIZE</td><td>计量表</td><td>回调队列中待处理的回调总数。</td></tr>
-<tr><td>bookie_journal_JOURNAL_ADD_ENTRY</td><td>直方图</td><td>在日志中添加条目的请求延迟的直方图。</td></tr>
-<tr><td>bookie_journal_JOURNAL_SYNC</td><td>直方图</td><td>同步数据到日志磁盘的 fsync 延迟的直方图。</td></tr>
+<tr><td>bookie_journal_JOURNAL_ADD_ENTRY</td><td>总结</td><td>The summary of request latency of adding entries to the journal.</td></tr>
+<tr><td>bookie_journal_JOURNAL_SYNC</td><td>总结</td><td>The summary of fsync latency of syncing data to the journal disk.</td></tr>
 </tbody>
 </table>
 <h3><a class="anchor" aria-hidden="true" id="存储度量值"></a><a href="#存储度量值" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09 [...]
diff --git a/content/docs/zh-CN/2.4.2/reference-metrics/index.html b/content/docs/zh-CN/2.4.2/reference-metrics/index.html
index 7c366f1..000ac2b 100644
--- a/content/docs/zh-CN/2.4.2/reference-metrics/index.html
+++ b/content/docs/zh-CN/2.4.2/reference-metrics/index.html
@@ -131,8 +131,8 @@
 <tr><td>bookkeeper_server_READ_ENTRY_count</td><td>计数器</td><td>The total number of READ_ENTRY requests received at the bookie. <code>success</code> 标签会被用于区分成功与失败。</td></tr>
 <tr><td>bookie_WRITE_BYTES</td><td>计数器</td><td>The total number of bytes written to the bookie.</td></tr>
 <tr><td>bookie_READ_BYTES</td><td>计数器</td><td>The total number of bytes read from the bookie.</td></tr>
-<tr><td>bookkeeper_server_ADD_ENTRY_REQUEST</td><td>直方图</td><td>The histogram of request latency of ADD_ENTRY requests at the bookie. <code>success</code> 标签会被用于区分成功与失败。</td></tr>
-<tr><td>bookkeeper_server_READ_ENTRY_REQUEST</td><td>直方图</td><td>The histogram of request latency of READ_ENTRY requests at the bookie. <code>success</code> 标签会被用于区分成功与失败。</td></tr>
+<tr><td>bookkeeper_server_ADD_ENTRY_REQUEST</td><td>总结</td><td>The summary of request latency of ADD_ENTRY requests at the bookie. <code>success</code> 标签会被用于区分成功与失败。</td></tr>
+<tr><td>bookkeeper_server_READ_ENTRY_REQUEST</td><td>总结</td><td>The summary of request latency of READ_ENTRY requests at the bookie. <code>success</code> 标签会被用于区分成功与失败。</td></tr>
 </tbody>
 </table>
 <h3><a class="anchor" aria-hidden="true" id="日志度量值"></a><a href="#日志度量值" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09 [...]
@@ -145,8 +145,8 @@
 <tr><td>bookie_journal_JOURNAL_QUEUE_SIZE</td><td>计量表</td><td>日志队列中待处理的请求总数。</td></tr>
 <tr><td>bookie_journal_JOURNAL_FORCE_WRITE_QUEUE_SIZE</td><td>计量表</td><td>在强制写入队列中等待的强制写入 (fsync) 请求总数。</td></tr>
 <tr><td>bookie_journal_JOURNAL_CB_QUEUE_SIZE</td><td>计量表</td><td>回调队列中待处理的回调总数。</td></tr>
-<tr><td>bookie_journal_JOURNAL_ADD_ENTRY</td><td>直方图</td><td>在日志中添加条目的请求延迟的直方图。</td></tr>
-<tr><td>bookie_journal_JOURNAL_SYNC</td><td>直方图</td><td>同步数据到日志磁盘的 fsync 延迟的直方图。</td></tr>
+<tr><td>bookie_journal_JOURNAL_ADD_ENTRY</td><td>总结</td><td>The summary of request latency of adding entries to the journal.</td></tr>
+<tr><td>bookie_journal_JOURNAL_SYNC</td><td>总结</td><td>The summary of fsync latency of syncing data to the journal disk.</td></tr>
 </tbody>
 </table>
 <h3><a class="anchor" aria-hidden="true" id="存储度量值"></a><a href="#存储度量值" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09 [...]
diff --git a/content/docs/zh-CN/2.5.0/client-libraries-java.html b/content/docs/zh-CN/2.5.0/client-libraries-java.html
index 93d5e72..5c8c1c6 100644
--- a/content/docs/zh-CN/2.5.0/client-libraries-java.html
+++ b/content/docs/zh-CN/2.5.0/client-libraries-java.html
@@ -241,7 +241,7 @@ stringProducer.send(<span class="hljs-string">"My message"</span>);
 <h3><a class="anchor" aria-hidden="true" id="configure-consumer"></a><a href="#configure-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- [...]
 <p>If you instantiate a <code>Consumer</code> object by specifying only a topic and subscription name as in the example above, the consumer uses the default configuration.</p>
 <p>When you create a consumer, you can use the <code>loadConf</code> configuration. The following parameters are available in <code>loadConf</code>.</p>
-<p>Type | Name| <div style="width:300px">Description</div>|  Default |---|---|---|--- Set&lt;String&gt;|  <code>topicNames</code>|   Topic name| Sets.newTreeSet() Pattern|   <code>topicsPattern</code>| Topic pattern   |None String| <code>subscriptionName</code>| Subscription name|  None SubscriptionType| <code>subscriptionType</code>|   Subscription type <br/><br/>Three subscription types are available:<li>Exclusive</li><li>Failover(灾备)</li><li>Shared(共享)</li>|SubscriptionType.Exclusive  [...]
+<p>Type | Name| <div style="width:300px">Description</div>|  Default |---|---|---|--- Set&lt;String&gt;|  <code>topicNames</code>|   Topic name| Sets.newTreeSet() Pattern|   <code>topicsPattern</code>| Topic pattern   |None String| <code>subscriptionName</code>| Subscription name|  None SubscriptionType| <code>subscriptionType</code>|   Subscription type <br/><br/>Four subscription types are available:<li>Exclusive</li><li>Failover(灾备)</li><li>Shared(共享)</li><li>Key_Shared</li>|Subscript [...]
 SortedMap&lt;String, String&gt;|<code>properties</code>|A name or value property of this consumer.<br/><br/><code>properties</code> is application defined metadata attached to a consumer. <br/><br/>When getting a topic stats, associate this metadata with the consumer stats for easier identification.|new TreeMap&lt;&gt;() boolean|<code>readCompacted</code>|If enabling <code>readCompacted</code>, a consumer reads messages from a compacted topic rather than reading a full message backlog of [...]
 <p>You can configure parameters if you do not want to use the default configuration. For a full list, see the Javadoc for the <a href="https://pulsar.incubator.apache.org/api/client/2.7.0-SNAPSHOT/org/apache/pulsar/client/api/ConsumerBuilder">ConsumerBuilder</a>
  class.</p>
diff --git a/content/docs/zh-CN/2.5.0/client-libraries-java/index.html b/content/docs/zh-CN/2.5.0/client-libraries-java/index.html
index 93d5e72..5c8c1c6 100644
--- a/content/docs/zh-CN/2.5.0/client-libraries-java/index.html
+++ b/content/docs/zh-CN/2.5.0/client-libraries-java/index.html
@@ -241,7 +241,7 @@ stringProducer.send(<span class="hljs-string">"My message"</span>);
 <h3><a class="anchor" aria-hidden="true" id="configure-consumer"></a><a href="#configure-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- [...]
 <p>If you instantiate a <code>Consumer</code> object by specifying only a topic and subscription name as in the example above, the consumer uses the default configuration.</p>
 <p>When you create a consumer, you can use the <code>loadConf</code> configuration. The following parameters are available in <code>loadConf</code>.</p>
-<p>Type | Name| <div style="width:300px">Description</div>|  Default |---|---|---|--- Set&lt;String&gt;|  <code>topicNames</code>|   Topic name| Sets.newTreeSet() Pattern|   <code>topicsPattern</code>| Topic pattern   |None String| <code>subscriptionName</code>| Subscription name|  None SubscriptionType| <code>subscriptionType</code>|   Subscription type <br/><br/>Three subscription types are available:<li>Exclusive</li><li>Failover(灾备)</li><li>Shared(共享)</li>|SubscriptionType.Exclusive  [...]
+<p>Type | Name| <div style="width:300px">Description</div>|  Default |---|---|---|--- Set&lt;String&gt;|  <code>topicNames</code>|   Topic name| Sets.newTreeSet() Pattern|   <code>topicsPattern</code>| Topic pattern   |None String| <code>subscriptionName</code>| Subscription name|  None SubscriptionType| <code>subscriptionType</code>|   Subscription type <br/><br/>Four subscription types are available:<li>Exclusive</li><li>Failover(灾备)</li><li>Shared(共享)</li><li>Key_Shared</li>|Subscript [...]
 SortedMap&lt;String, String&gt;|<code>properties</code>|A name or value property of this consumer.<br/><br/><code>properties</code> is application defined metadata attached to a consumer. <br/><br/>When getting a topic stats, associate this metadata with the consumer stats for easier identification.|new TreeMap&lt;&gt;() boolean|<code>readCompacted</code>|If enabling <code>readCompacted</code>, a consumer reads messages from a compacted topic rather than reading a full message backlog of [...]
 <p>You can configure parameters if you do not want to use the default configuration. For a full list, see the Javadoc for the <a href="https://pulsar.incubator.apache.org/api/client/2.7.0-SNAPSHOT/org/apache/pulsar/client/api/ConsumerBuilder">ConsumerBuilder</a>
  class.</p>
diff --git a/content/docs/zh-CN/2.5.0/client-libraries-node.html b/content/docs/zh-CN/2.5.0/client-libraries-node.html
index 4ab7854..306127e 100644
--- a/content/docs/zh-CN/2.5.0/client-libraries-node.html
+++ b/content/docs/zh-CN/2.5.0/client-libraries-node.html
@@ -263,7 +263,7 @@ consumer.acknowledge(msg);
 <tbody>
 <tr><td style="text-align:left"><code>topic</code></td><td style="text-align:left">Consumer 创建订阅并监听消息的目标 Pulsar <a href="/docs/zh-CN/2.5.0/reference-terminology#topic">topic</a>。</td><td style="text-align:left"></td></tr>
 <tr><td style="text-align:left"><code>subscription</code></td><td style="text-align:left">Consumer 的订阅名称。</td><td style="text-align:left"></td></tr>
-<tr><td style="text-align:left"><code>subscriptionType</code></td><td style="text-align:left">可以设置为<code>独占</code>、<code>共享</code>或<code>灾备</code>。</td><td style="text-align:left"><code>Exclusive</code></td></tr>
+<tr><td style="text-align:left"><code>subscriptionType</code></td><td style="text-align:left">Available options are <code>Exclusive</code>, <code>Shared</code>, <code>Key_Shared</code>, and <code>Failover</code>.</td><td style="text-align:left"><code>Exclusive</code></td></tr>
 <tr><td style="text-align:left"><code>ackTimeoutMs</code></td><td style="text-align:left">消息确认的超时时间(以毫秒为单位)。</td><td style="text-align:left">0</td></tr>
 <tr><td style="text-align:left"><code>receiverQueueSize</code></td><td style="text-align:left">设置 consumer 接收队列的大小,即在应用程序调用 <code>receive</code> 之前允许堆积的消息数。 A value higher than the default of 1000 could increase consumer throughput, though at the expense of more memory utilization.</td><td style="text-align:left">1000</td></tr>
 <tr><td style="text-align:left"><code>receiverQueueSizeAcrossPartitions</code></td><td style="text-align:left">Set the max total receiver queue size across partitions. 当接收队列总数超过此值时,将减小每个分区接收队列的大小。</td><td style="text-align:left">50000</td></tr>
diff --git a/content/docs/zh-CN/2.5.0/client-libraries-node/index.html b/content/docs/zh-CN/2.5.0/client-libraries-node/index.html
index 4ab7854..306127e 100644
--- a/content/docs/zh-CN/2.5.0/client-libraries-node/index.html
+++ b/content/docs/zh-CN/2.5.0/client-libraries-node/index.html
@@ -263,7 +263,7 @@ consumer.acknowledge(msg);
 <tbody>
 <tr><td style="text-align:left"><code>topic</code></td><td style="text-align:left">Consumer 创建订阅并监听消息的目标 Pulsar <a href="/docs/zh-CN/2.5.0/reference-terminology#topic">topic</a>。</td><td style="text-align:left"></td></tr>
 <tr><td style="text-align:left"><code>subscription</code></td><td style="text-align:left">Consumer 的订阅名称。</td><td style="text-align:left"></td></tr>
-<tr><td style="text-align:left"><code>subscriptionType</code></td><td style="text-align:left">可以设置为<code>独占</code>、<code>共享</code>或<code>灾备</code>。</td><td style="text-align:left"><code>Exclusive</code></td></tr>
+<tr><td style="text-align:left"><code>subscriptionType</code></td><td style="text-align:left">Available options are <code>Exclusive</code>, <code>Shared</code>, <code>Key_Shared</code>, and <code>Failover</code>.</td><td style="text-align:left"><code>Exclusive</code></td></tr>
 <tr><td style="text-align:left"><code>ackTimeoutMs</code></td><td style="text-align:left">消息确认的超时时间(以毫秒为单位)。</td><td style="text-align:left">0</td></tr>
 <tr><td style="text-align:left"><code>receiverQueueSize</code></td><td style="text-align:left">设置 consumer 接收队列的大小,即在应用程序调用 <code>receive</code> 之前允许堆积的消息数。 A value higher than the default of 1000 could increase consumer throughput, though at the expense of more memory utilization.</td><td style="text-align:left">1000</td></tr>
 <tr><td style="text-align:left"><code>receiverQueueSizeAcrossPartitions</code></td><td style="text-align:left">Set the max total receiver queue size across partitions. 当接收队列总数超过此值时,将减小每个分区接收队列的大小。</td><td style="text-align:left">50000</td></tr>
diff --git a/content/docs/zh-CN/2.5.0/reference-metrics.html b/content/docs/zh-CN/2.5.0/reference-metrics.html
index c533a67..6bfeb35 100644
--- a/content/docs/zh-CN/2.5.0/reference-metrics.html
+++ b/content/docs/zh-CN/2.5.0/reference-metrics.html
@@ -131,8 +131,8 @@
 <tr><td>bookkeeper_server_READ_ENTRY_count</td><td>计数器</td><td>The total number of READ_ENTRY requests received at the bookie. <code>success</code> 标签会被用于区分成功与失败。</td></tr>
 <tr><td>bookie_WRITE_BYTES</td><td>计数器</td><td>The total number of bytes written to the bookie.</td></tr>
 <tr><td>bookie_READ_BYTES</td><td>计数器</td><td>The total number of bytes read from the bookie.</td></tr>
-<tr><td>bookkeeper_server_ADD_ENTRY_REQUEST</td><td>直方图</td><td>The histogram of request latency of ADD_ENTRY requests at the bookie. <code>success</code> 标签会被用于区分成功与失败。</td></tr>
-<tr><td>bookkeeper_server_READ_ENTRY_REQUEST</td><td>直方图</td><td>The histogram of request latency of READ_ENTRY requests at the bookie. <code>success</code> 标签会被用于区分成功与失败。</td></tr>
+<tr><td>bookkeeper_server_ADD_ENTRY_REQUEST</td><td>总结</td><td>The summary of request latency of ADD_ENTRY requests at the bookie. <code>success</code> 标签会被用于区分成功与失败。</td></tr>
+<tr><td>bookkeeper_server_READ_ENTRY_REQUEST</td><td>总结</td><td>The summary of request latency of READ_ENTRY requests at the bookie. <code>success</code> 标签会被用于区分成功与失败。</td></tr>
 </tbody>
 </table>
 <h3><a class="anchor" aria-hidden="true" id="日志度量值"></a><a href="#日志度量值" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09 [...]
@@ -145,8 +145,8 @@
 <tr><td>bookie_journal_JOURNAL_QUEUE_SIZE</td><td>计量表</td><td>日志队列中待处理的请求总数。</td></tr>
 <tr><td>bookie_journal_JOURNAL_FORCE_WRITE_QUEUE_SIZE</td><td>计量表</td><td>在强制写入队列中等待的强制写入 (fsync) 请求总数。</td></tr>
 <tr><td>bookie_journal_JOURNAL_CB_QUEUE_SIZE</td><td>计量表</td><td>回调队列中待处理的回调总数。</td></tr>
-<tr><td>bookie_journal_JOURNAL_ADD_ENTRY</td><td>直方图</td><td>在日志中添加条目的请求延迟的直方图。</td></tr>
-<tr><td>bookie_journal_JOURNAL_SYNC</td><td>直方图</td><td>同步数据到日志磁盘的 fsync 延迟的直方图。</td></tr>
+<tr><td>bookie_journal_JOURNAL_ADD_ENTRY</td><td>总结</td><td>The summary of request latency of adding entries to the journal.</td></tr>
+<tr><td>bookie_journal_JOURNAL_SYNC</td><td>总结</td><td>The summary of fsync latency of syncing data to the journal disk.</td></tr>
 </tbody>
 </table>
 <h3><a class="anchor" aria-hidden="true" id="存储度量值"></a><a href="#存储度量值" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09 [...]
diff --git a/content/docs/zh-CN/2.5.0/reference-metrics/index.html b/content/docs/zh-CN/2.5.0/reference-metrics/index.html
index c533a67..6bfeb35 100644
--- a/content/docs/zh-CN/2.5.0/reference-metrics/index.html
+++ b/content/docs/zh-CN/2.5.0/reference-metrics/index.html
@@ -131,8 +131,8 @@
 <tr><td>bookkeeper_server_READ_ENTRY_count</td><td>计数器</td><td>The total number of READ_ENTRY requests received at the bookie. <code>success</code> 标签会被用于区分成功与失败。</td></tr>
 <tr><td>bookie_WRITE_BYTES</td><td>计数器</td><td>The total number of bytes written to the bookie.</td></tr>
 <tr><td>bookie_READ_BYTES</td><td>计数器</td><td>The total number of bytes read from the bookie.</td></tr>
-<tr><td>bookkeeper_server_ADD_ENTRY_REQUEST</td><td>直方图</td><td>The histogram of request latency of ADD_ENTRY requests at the bookie. <code>success</code> 标签会被用于区分成功与失败。</td></tr>
-<tr><td>bookkeeper_server_READ_ENTRY_REQUEST</td><td>直方图</td><td>The histogram of request latency of READ_ENTRY requests at the bookie. <code>success</code> 标签会被用于区分成功与失败。</td></tr>
+<tr><td>bookkeeper_server_ADD_ENTRY_REQUEST</td><td>总结</td><td>The summary of request latency of ADD_ENTRY requests at the bookie. <code>success</code> 标签会被用于区分成功与失败。</td></tr>
+<tr><td>bookkeeper_server_READ_ENTRY_REQUEST</td><td>总结</td><td>The summary of request latency of READ_ENTRY requests at the bookie. <code>success</code> 标签会被用于区分成功与失败。</td></tr>
 </tbody>
 </table>
 <h3><a class="anchor" aria-hidden="true" id="日志度量值"></a><a href="#日志度量值" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09 [...]
@@ -145,8 +145,8 @@
 <tr><td>bookie_journal_JOURNAL_QUEUE_SIZE</td><td>计量表</td><td>日志队列中待处理的请求总数。</td></tr>
 <tr><td>bookie_journal_JOURNAL_FORCE_WRITE_QUEUE_SIZE</td><td>计量表</td><td>在强制写入队列中等待的强制写入 (fsync) 请求总数。</td></tr>
 <tr><td>bookie_journal_JOURNAL_CB_QUEUE_SIZE</td><td>计量表</td><td>回调队列中待处理的回调总数。</td></tr>
-<tr><td>bookie_journal_JOURNAL_ADD_ENTRY</td><td>直方图</td><td>在日志中添加条目的请求延迟的直方图。</td></tr>
-<tr><td>bookie_journal_JOURNAL_SYNC</td><td>直方图</td><td>同步数据到日志磁盘的 fsync 延迟的直方图。</td></tr>
+<tr><td>bookie_journal_JOURNAL_ADD_ENTRY</td><td>总结</td><td>The summary of request latency of adding entries to the journal.</td></tr>
+<tr><td>bookie_journal_JOURNAL_SYNC</td><td>总结</td><td>The summary of fsync latency of syncing data to the journal disk.</td></tr>
 </tbody>
 </table>
 <h3><a class="anchor" aria-hidden="true" id="存储度量值"></a><a href="#存储度量值" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09 [...]
diff --git a/content/docs/zh-CN/2.5.1/client-libraries-java.html b/content/docs/zh-CN/2.5.1/client-libraries-java.html
index 88d0231..757d2b9 100644
--- a/content/docs/zh-CN/2.5.1/client-libraries-java.html
+++ b/content/docs/zh-CN/2.5.1/client-libraries-java.html
@@ -242,7 +242,7 @@ stringProducer.send(<span class="hljs-string">"My message"</span>);
 <h3><a class="anchor" aria-hidden="true" id="configure-consumer"></a><a href="#configure-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- [...]
 <p>If you instantiate a <code>Consumer</code> object by specifying only a topic and subscription name as in the example above, the consumer uses the default configuration.</p>
 <p>When you create a consumer, you can use the <code>loadConf</code> configuration. The following parameters are available in <code>loadConf</code>.</p>
-<p>Type | Name| <div style="width:300px">Description</div>|  Default |---|---|---|--- Set&lt;String&gt;|  <code>topicNames</code>|   Topic name| Sets.newTreeSet() Pattern|   <code>topicsPattern</code>| Topic pattern   |None String| <code>subscriptionName</code>| Subscription name|  None SubscriptionType| <code>subscriptionType</code>|   Subscription type <br/><br/>Three subscription types are available:<li>Exclusive</li><li>Failover(灾备)</li><li>Shared(共享)</li>|SubscriptionType.Exclusive  [...]
+<p>Type | Name| <div style="width:300px">Description</div>|  Default |---|---|---|--- Set&lt;String&gt;|  <code>topicNames</code>|   Topic name| Sets.newTreeSet() Pattern|   <code>topicsPattern</code>| Topic pattern   |None String| <code>subscriptionName</code>| Subscription name|  None SubscriptionType| <code>subscriptionType</code>|   Subscription type <br/><br/>Four subscription types are available:<li>Exclusive</li><li>Failover(灾备)</li><li>Shared(共享)</li><li>Key_Shared</li>|Subscript [...]
 SortedMap&lt;String, String&gt;|<code>properties</code>|A name or value property of this consumer.<br/><br/><code>properties</code> is application defined metadata attached to a consumer. <br/><br/>When getting a topic stats, associate this metadata with the consumer stats for easier identification.|new TreeMap&lt;&gt;() boolean|<code>readCompacted</code>|If enabling <code>readCompacted</code>, a consumer reads messages from a compacted topic rather than reading a full message backlog of [...]
 <p>You can configure parameters if you do not want to use the default configuration. For a full list, see the Javadoc for the <a href="https://pulsar.incubator.apache.org/api/client/2.7.0-SNAPSHOT/org/apache/pulsar/client/api/ConsumerBuilder">ConsumerBuilder</a>
  class.</p>
diff --git a/content/docs/zh-CN/2.5.1/client-libraries-java/index.html b/content/docs/zh-CN/2.5.1/client-libraries-java/index.html
index 88d0231..757d2b9 100644
--- a/content/docs/zh-CN/2.5.1/client-libraries-java/index.html
+++ b/content/docs/zh-CN/2.5.1/client-libraries-java/index.html
@@ -242,7 +242,7 @@ stringProducer.send(<span class="hljs-string">"My message"</span>);
 <h3><a class="anchor" aria-hidden="true" id="configure-consumer"></a><a href="#configure-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- [...]
 <p>If you instantiate a <code>Consumer</code> object by specifying only a topic and subscription name as in the example above, the consumer uses the default configuration.</p>
 <p>When you create a consumer, you can use the <code>loadConf</code> configuration. The following parameters are available in <code>loadConf</code>.</p>
-<p>Type | Name| <div style="width:300px">Description</div>|  Default |---|---|---|--- Set&lt;String&gt;|  <code>topicNames</code>|   Topic name| Sets.newTreeSet() Pattern|   <code>topicsPattern</code>| Topic pattern   |None String| <code>subscriptionName</code>| Subscription name|  None SubscriptionType| <code>subscriptionType</code>|   Subscription type <br/><br/>Three subscription types are available:<li>Exclusive</li><li>Failover(灾备)</li><li>Shared(共享)</li>|SubscriptionType.Exclusive  [...]
+<p>Type | Name| <div style="width:300px">Description</div>|  Default |---|---|---|--- Set&lt;String&gt;|  <code>topicNames</code>|   Topic name| Sets.newTreeSet() Pattern|   <code>topicsPattern</code>| Topic pattern   |None String| <code>subscriptionName</code>| Subscription name|  None SubscriptionType| <code>subscriptionType</code>|   Subscription type <br/><br/>Four subscription types are available:<li>Exclusive</li><li>Failover(灾备)</li><li>Shared(共享)</li><li>Key_Shared</li>|Subscript [...]
 SortedMap&lt;String, String&gt;|<code>properties</code>|A name or value property of this consumer.<br/><br/><code>properties</code> is application defined metadata attached to a consumer. <br/><br/>When getting a topic stats, associate this metadata with the consumer stats for easier identification.|new TreeMap&lt;&gt;() boolean|<code>readCompacted</code>|If enabling <code>readCompacted</code>, a consumer reads messages from a compacted topic rather than reading a full message backlog of [...]
 <p>You can configure parameters if you do not want to use the default configuration. For a full list, see the Javadoc for the <a href="https://pulsar.incubator.apache.org/api/client/2.7.0-SNAPSHOT/org/apache/pulsar/client/api/ConsumerBuilder">ConsumerBuilder</a>
  class.</p>
diff --git a/content/docs/zh-CN/2.5.1/client-libraries-node.html b/content/docs/zh-CN/2.5.1/client-libraries-node.html
index 49ce845..0848141 100644
--- a/content/docs/zh-CN/2.5.1/client-libraries-node.html
+++ b/content/docs/zh-CN/2.5.1/client-libraries-node.html
@@ -266,7 +266,7 @@ In this example, using await operator instead of executor function.</p>
 <tbody>
 <tr><td style="text-align:left"><code>topic</code></td><td style="text-align:left">Consumer 创建订阅并监听消息的目标 Pulsar <a href="/docs/zh-CN/2.5.1/reference-terminology#topic">topic</a>。</td><td style="text-align:left"></td></tr>
 <tr><td style="text-align:left"><code>subscription</code></td><td style="text-align:left">Consumer 的订阅名称。</td><td style="text-align:left"></td></tr>
-<tr><td style="text-align:left"><code>subscriptionType</code></td><td style="text-align:left">可以设置为<code>独占</code>、<code>共享</code>或<code>灾备</code>。</td><td style="text-align:left"><code>Exclusive</code></td></tr>
+<tr><td style="text-align:left"><code>subscriptionType</code></td><td style="text-align:left">Available options are <code>Exclusive</code>, <code>Shared</code>, <code>Key_Shared</code>, and <code>Failover</code>.</td><td style="text-align:left"><code>Exclusive</code></td></tr>
 <tr><td style="text-align:left"><code>ackTimeoutMs</code></td><td style="text-align:left">消息确认的超时时间(以毫秒为单位)。</td><td style="text-align:left">0</td></tr>
 <tr><td style="text-align:left"><code>receiverQueueSize</code></td><td style="text-align:left">设置 consumer 接收队列的大小,即在应用程序调用 <code>receive</code> 之前允许堆积的消息数。 A value higher than the default of 1000 could increase consumer throughput, though at the expense of more memory utilization.</td><td style="text-align:left">1000</td></tr>
 <tr><td style="text-align:left"><code>receiverQueueSizeAcrossPartitions</code></td><td style="text-align:left">Set the max total receiver queue size across partitions. 当接收队列总数超过此值时,将减小每个分区接收队列的大小。</td><td style="text-align:left">50000</td></tr>
diff --git a/content/docs/zh-CN/2.5.1/client-libraries-node/index.html b/content/docs/zh-CN/2.5.1/client-libraries-node/index.html
index 49ce845..0848141 100644
--- a/content/docs/zh-CN/2.5.1/client-libraries-node/index.html
+++ b/content/docs/zh-CN/2.5.1/client-libraries-node/index.html
@@ -266,7 +266,7 @@ In this example, using await operator instead of executor function.</p>
 <tbody>
 <tr><td style="text-align:left"><code>topic</code></td><td style="text-align:left">Consumer 创建订阅并监听消息的目标 Pulsar <a href="/docs/zh-CN/2.5.1/reference-terminology#topic">topic</a>。</td><td style="text-align:left"></td></tr>
 <tr><td style="text-align:left"><code>subscription</code></td><td style="text-align:left">Consumer 的订阅名称。</td><td style="text-align:left"></td></tr>
-<tr><td style="text-align:left"><code>subscriptionType</code></td><td style="text-align:left">可以设置为<code>独占</code>、<code>共享</code>或<code>灾备</code>。</td><td style="text-align:left"><code>Exclusive</code></td></tr>
+<tr><td style="text-align:left"><code>subscriptionType</code></td><td style="text-align:left">Available options are <code>Exclusive</code>, <code>Shared</code>, <code>Key_Shared</code>, and <code>Failover</code>.</td><td style="text-align:left"><code>Exclusive</code></td></tr>
 <tr><td style="text-align:left"><code>ackTimeoutMs</code></td><td style="text-align:left">消息确认的超时时间(以毫秒为单位)。</td><td style="text-align:left">0</td></tr>
 <tr><td style="text-align:left"><code>receiverQueueSize</code></td><td style="text-align:left">设置 consumer 接收队列的大小,即在应用程序调用 <code>receive</code> 之前允许堆积的消息数。 A value higher than the default of 1000 could increase consumer throughput, though at the expense of more memory utilization.</td><td style="text-align:left">1000</td></tr>
 <tr><td style="text-align:left"><code>receiverQueueSizeAcrossPartitions</code></td><td style="text-align:left">Set the max total receiver queue size across partitions. 当接收队列总数超过此值时,将减小每个分区接收队列的大小。</td><td style="text-align:left">50000</td></tr>
diff --git a/content/docs/zh-CN/2.5.1/reference-metrics.html b/content/docs/zh-CN/2.5.1/reference-metrics.html
index e63b1fc..a8455ab 100644
--- a/content/docs/zh-CN/2.5.1/reference-metrics.html
+++ b/content/docs/zh-CN/2.5.1/reference-metrics.html
@@ -131,8 +131,8 @@
 <tr><td>bookkeeper_server_READ_ENTRY_count</td><td>计数器</td><td>The total number of READ_ENTRY requests received at the bookie. <code>success</code> 标签会被用于区分成功与失败。</td></tr>
 <tr><td>bookie_WRITE_BYTES</td><td>计数器</td><td>The total number of bytes written to the bookie.</td></tr>
 <tr><td>bookie_READ_BYTES</td><td>计数器</td><td>The total number of bytes read from the bookie.</td></tr>
-<tr><td>bookkeeper_server_ADD_ENTRY_REQUEST</td><td>直方图</td><td>The histogram of request latency of ADD_ENTRY requests at the bookie. <code>success</code> 标签会被用于区分成功与失败。</td></tr>
-<tr><td>bookkeeper_server_READ_ENTRY_REQUEST</td><td>直方图</td><td>The histogram of request latency of READ_ENTRY requests at the bookie. <code>success</code> 标签会被用于区分成功与失败。</td></tr>
+<tr><td>bookkeeper_server_ADD_ENTRY_REQUEST</td><td>总结</td><td>The summary of request latency of ADD_ENTRY requests at the bookie. <code>success</code> 标签会被用于区分成功与失败。</td></tr>
+<tr><td>bookkeeper_server_READ_ENTRY_REQUEST</td><td>总结</td><td>The summary of request latency of READ_ENTRY requests at the bookie. <code>success</code> 标签会被用于区分成功与失败。</td></tr>
 </tbody>
 </table>
 <h3><a class="anchor" aria-hidden="true" id="日志度量值"></a><a href="#日志度量值" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09 [...]
@@ -145,8 +145,8 @@
 <tr><td>bookie_journal_JOURNAL_QUEUE_SIZE</td><td>计量表</td><td>日志队列中待处理的请求总数。</td></tr>
 <tr><td>bookie_journal_JOURNAL_FORCE_WRITE_QUEUE_SIZE</td><td>计量表</td><td>在强制写入队列中等待的强制写入 (fsync) 请求总数。</td></tr>
 <tr><td>bookie_journal_JOURNAL_CB_QUEUE_SIZE</td><td>计量表</td><td>回调队列中待处理的回调总数。</td></tr>
-<tr><td>bookie_journal_JOURNAL_ADD_ENTRY</td><td>直方图</td><td>在日志中添加条目的请求延迟的直方图。</td></tr>
-<tr><td>bookie_journal_JOURNAL_SYNC</td><td>直方图</td><td>同步数据到日志磁盘的 fsync 延迟的直方图。</td></tr>
+<tr><td>bookie_journal_JOURNAL_ADD_ENTRY</td><td>总结</td><td>The summary of request latency of adding entries to the journal.</td></tr>
+<tr><td>bookie_journal_JOURNAL_SYNC</td><td>总结</td><td>The summary of fsync latency of syncing data to the journal disk.</td></tr>
 </tbody>
 </table>
 <h3><a class="anchor" aria-hidden="true" id="存储度量值"></a><a href="#存储度量值" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09 [...]
diff --git a/content/docs/zh-CN/2.5.1/reference-metrics/index.html b/content/docs/zh-CN/2.5.1/reference-metrics/index.html
index e63b1fc..a8455ab 100644
--- a/content/docs/zh-CN/2.5.1/reference-metrics/index.html
+++ b/content/docs/zh-CN/2.5.1/reference-metrics/index.html
@@ -131,8 +131,8 @@
 <tr><td>bookkeeper_server_READ_ENTRY_count</td><td>计数器</td><td>The total number of READ_ENTRY requests received at the bookie. <code>success</code> 标签会被用于区分成功与失败。</td></tr>
 <tr><td>bookie_WRITE_BYTES</td><td>计数器</td><td>The total number of bytes written to the bookie.</td></tr>
 <tr><td>bookie_READ_BYTES</td><td>计数器</td><td>The total number of bytes read from the bookie.</td></tr>
-<tr><td>bookkeeper_server_ADD_ENTRY_REQUEST</td><td>直方图</td><td>The histogram of request latency of ADD_ENTRY requests at the bookie. <code>success</code> 标签会被用于区分成功与失败。</td></tr>
-<tr><td>bookkeeper_server_READ_ENTRY_REQUEST</td><td>直方图</td><td>The histogram of request latency of READ_ENTRY requests at the bookie. <code>success</code> 标签会被用于区分成功与失败。</td></tr>
+<tr><td>bookkeeper_server_ADD_ENTRY_REQUEST</td><td>总结</td><td>The summary of request latency of ADD_ENTRY requests at the bookie. <code>success</code> 标签会被用于区分成功与失败。</td></tr>
+<tr><td>bookkeeper_server_READ_ENTRY_REQUEST</td><td>总结</td><td>The summary of request latency of READ_ENTRY requests at the bookie. <code>success</code> 标签会被用于区分成功与失败。</td></tr>
 </tbody>
 </table>
 <h3><a class="anchor" aria-hidden="true" id="日志度量值"></a><a href="#日志度量值" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09 [...]
@@ -145,8 +145,8 @@
 <tr><td>bookie_journal_JOURNAL_QUEUE_SIZE</td><td>计量表</td><td>日志队列中待处理的请求总数。</td></tr>
 <tr><td>bookie_journal_JOURNAL_FORCE_WRITE_QUEUE_SIZE</td><td>计量表</td><td>在强制写入队列中等待的强制写入 (fsync) 请求总数。</td></tr>
 <tr><td>bookie_journal_JOURNAL_CB_QUEUE_SIZE</td><td>计量表</td><td>回调队列中待处理的回调总数。</td></tr>
-<tr><td>bookie_journal_JOURNAL_ADD_ENTRY</td><td>直方图</td><td>在日志中添加条目的请求延迟的直方图。</td></tr>
-<tr><td>bookie_journal_JOURNAL_SYNC</td><td>直方图</td><td>同步数据到日志磁盘的 fsync 延迟的直方图。</td></tr>
+<tr><td>bookie_journal_JOURNAL_ADD_ENTRY</td><td>总结</td><td>The summary of request latency of adding entries to the journal.</td></tr>
+<tr><td>bookie_journal_JOURNAL_SYNC</td><td>总结</td><td>The summary of fsync latency of syncing data to the journal disk.</td></tr>
 </tbody>
 </table>
 <h3><a class="anchor" aria-hidden="true" id="存储度量值"></a><a href="#存储度量值" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09 [...]
diff --git a/content/docs/zh-CN/2.5.2/client-libraries-java.html b/content/docs/zh-CN/2.5.2/client-libraries-java.html
index bd312be..ec527ab 100644
--- a/content/docs/zh-CN/2.5.2/client-libraries-java.html
+++ b/content/docs/zh-CN/2.5.2/client-libraries-java.html
@@ -256,7 +256,7 @@ producer.closeAsync()
 <h3><a class="anchor" aria-hidden="true" id="configure-consumer"></a><a href="#configure-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- [...]
 <p>If you instantiate a <code>Consumer</code> object by specifying only a topic and subscription name as in the example above, the consumer uses the default configuration.</p>
 <p>When you create a consumer, you can use the <code>loadConf</code> configuration. The following parameters are available in <code>loadConf</code>.</p>
-<p>Type | Name| <div style="width:300px">Description</div>|  Default |---|---|---|--- Set&lt;String&gt;|  <code>topicNames</code>|   Topic name| Sets.newTreeSet() Pattern|   <code>topicsPattern</code>| Topic pattern   |None String| <code>subscriptionName</code>| Subscription name|  None SubscriptionType| <code>subscriptionType</code>|   Subscription type <br/><br/>Three subscription types are available:<li>Exclusive</li><li>Failover(灾备)</li><li>Shared(共享)</li>|SubscriptionType.Exclusive  [...]
+<p>Type | Name| <div style="width:300px">Description</div>|  Default |---|---|---|--- Set&lt;String&gt;|  <code>topicNames</code>|   Topic name| Sets.newTreeSet() Pattern|   <code>topicsPattern</code>| Topic pattern   |None String| <code>subscriptionName</code>| Subscription name|  None SubscriptionType| <code>subscriptionType</code>|   Subscription type <br/><br/>Four subscription types are available:<li>Exclusive</li><li>Failover(灾备)</li><li>Shared(共享)</li><li>Key_Shared</li>|Subscript [...]
 SortedMap&lt;String, String&gt;|<code>properties</code>|A name or value property of this consumer.<br/><br/><code>properties</code> is application defined metadata attached to a consumer. <br/><br/>When getting a topic stats, associate this metadata with the consumer stats for easier identification.|new TreeMap&lt;&gt;() boolean|<code>readCompacted</code>|If enabling <code>readCompacted</code>, a consumer reads messages from a compacted topic rather than reading a full message backlog of [...]
 <p>You can configure parameters if you do not want to use the default configuration. For a full list, see the Javadoc for the <a href="https://pulsar.incubator.apache.org/api/client/2.7.0-SNAPSHOT/org/apache/pulsar/client/api/ConsumerBuilder">ConsumerBuilder</a>
  class.</p>
diff --git a/content/docs/zh-CN/2.5.2/client-libraries-java/index.html b/content/docs/zh-CN/2.5.2/client-libraries-java/index.html
index bd312be..ec527ab 100644
--- a/content/docs/zh-CN/2.5.2/client-libraries-java/index.html
+++ b/content/docs/zh-CN/2.5.2/client-libraries-java/index.html
@@ -256,7 +256,7 @@ producer.closeAsync()
 <h3><a class="anchor" aria-hidden="true" id="configure-consumer"></a><a href="#configure-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- [...]
 <p>If you instantiate a <code>Consumer</code> object by specifying only a topic and subscription name as in the example above, the consumer uses the default configuration.</p>
 <p>When you create a consumer, you can use the <code>loadConf</code> configuration. The following parameters are available in <code>loadConf</code>.</p>
-<p>Type | Name| <div style="width:300px">Description</div>|  Default |---|---|---|--- Set&lt;String&gt;|  <code>topicNames</code>|   Topic name| Sets.newTreeSet() Pattern|   <code>topicsPattern</code>| Topic pattern   |None String| <code>subscriptionName</code>| Subscription name|  None SubscriptionType| <code>subscriptionType</code>|   Subscription type <br/><br/>Three subscription types are available:<li>Exclusive</li><li>Failover(灾备)</li><li>Shared(共享)</li>|SubscriptionType.Exclusive  [...]
+<p>Type | Name| <div style="width:300px">Description</div>|  Default |---|---|---|--- Set&lt;String&gt;|  <code>topicNames</code>|   Topic name| Sets.newTreeSet() Pattern|   <code>topicsPattern</code>| Topic pattern   |None String| <code>subscriptionName</code>| Subscription name|  None SubscriptionType| <code>subscriptionType</code>|   Subscription type <br/><br/>Four subscription types are available:<li>Exclusive</li><li>Failover(灾备)</li><li>Shared(共享)</li><li>Key_Shared</li>|Subscript [...]
 SortedMap&lt;String, String&gt;|<code>properties</code>|A name or value property of this consumer.<br/><br/><code>properties</code> is application defined metadata attached to a consumer. <br/><br/>When getting a topic stats, associate this metadata with the consumer stats for easier identification.|new TreeMap&lt;&gt;() boolean|<code>readCompacted</code>|If enabling <code>readCompacted</code>, a consumer reads messages from a compacted topic rather than reading a full message backlog of [...]
 <p>You can configure parameters if you do not want to use the default configuration. For a full list, see the Javadoc for the <a href="https://pulsar.incubator.apache.org/api/client/2.7.0-SNAPSHOT/org/apache/pulsar/client/api/ConsumerBuilder">ConsumerBuilder</a>
  class.</p>
diff --git a/content/docs/zh-CN/2.5.2/client-libraries-node.html b/content/docs/zh-CN/2.5.2/client-libraries-node.html
index 5e28ad6..d948340 100644
--- a/content/docs/zh-CN/2.5.2/client-libraries-node.html
+++ b/content/docs/zh-CN/2.5.2/client-libraries-node.html
@@ -266,7 +266,7 @@ In this example, using await operator instead of executor function.</p>
 <tbody>
 <tr><td style="text-align:left"><code>topic</code></td><td style="text-align:left">Consumer 创建订阅并监听消息的目标 Pulsar <a href="/docs/zh-CN/2.5.2/reference-terminology#topic">topic</a>。</td><td style="text-align:left"></td></tr>
 <tr><td style="text-align:left"><code>subscription</code></td><td style="text-align:left">Consumer 的订阅名称。</td><td style="text-align:left"></td></tr>
-<tr><td style="text-align:left"><code>subscriptionType</code></td><td style="text-align:left">可以设置为<code>独占</code>、<code>共享</code>或<code>灾备</code>。</td><td style="text-align:left"><code>Exclusive</code></td></tr>
+<tr><td style="text-align:left"><code>subscriptionType</code></td><td style="text-align:left">Available options are <code>Exclusive</code>, <code>Shared</code>, <code>Key_Shared</code>, and <code>Failover</code>.</td><td style="text-align:left"><code>Exclusive</code></td></tr>
 <tr><td style="text-align:left"><code>ackTimeoutMs</code></td><td style="text-align:left">消息确认的超时时间(以毫秒为单位)。</td><td style="text-align:left">0</td></tr>
 <tr><td style="text-align:left"><code>receiverQueueSize</code></td><td style="text-align:left">设置 consumer 接收队列的大小,即在应用程序调用 <code>receive</code> 之前允许堆积的消息数。 A value higher than the default of 1000 could increase consumer throughput, though at the expense of more memory utilization.</td><td style="text-align:left">1000</td></tr>
 <tr><td style="text-align:left"><code>receiverQueueSizeAcrossPartitions</code></td><td style="text-align:left">Set the max total receiver queue size across partitions. 当接收队列总数超过此值时,将减小每个分区接收队列的大小。</td><td style="text-align:left">50000</td></tr>
diff --git a/content/docs/zh-CN/2.5.2/client-libraries-node/index.html b/content/docs/zh-CN/2.5.2/client-libraries-node/index.html
index 5e28ad6..d948340 100644
--- a/content/docs/zh-CN/2.5.2/client-libraries-node/index.html
+++ b/content/docs/zh-CN/2.5.2/client-libraries-node/index.html
@@ -266,7 +266,7 @@ In this example, using await operator instead of executor function.</p>
 <tbody>
 <tr><td style="text-align:left"><code>topic</code></td><td style="text-align:left">Consumer 创建订阅并监听消息的目标 Pulsar <a href="/docs/zh-CN/2.5.2/reference-terminology#topic">topic</a>。</td><td style="text-align:left"></td></tr>
 <tr><td style="text-align:left"><code>subscription</code></td><td style="text-align:left">Consumer 的订阅名称。</td><td style="text-align:left"></td></tr>
-<tr><td style="text-align:left"><code>subscriptionType</code></td><td style="text-align:left">可以设置为<code>独占</code>、<code>共享</code>或<code>灾备</code>。</td><td style="text-align:left"><code>Exclusive</code></td></tr>
+<tr><td style="text-align:left"><code>subscriptionType</code></td><td style="text-align:left">Available options are <code>Exclusive</code>, <code>Shared</code>, <code>Key_Shared</code>, and <code>Failover</code>.</td><td style="text-align:left"><code>Exclusive</code></td></tr>
 <tr><td style="text-align:left"><code>ackTimeoutMs</code></td><td style="text-align:left">消息确认的超时时间(以毫秒为单位)。</td><td style="text-align:left">0</td></tr>
 <tr><td style="text-align:left"><code>receiverQueueSize</code></td><td style="text-align:left">设置 consumer 接收队列的大小,即在应用程序调用 <code>receive</code> 之前允许堆积的消息数。 A value higher than the default of 1000 could increase consumer throughput, though at the expense of more memory utilization.</td><td style="text-align:left">1000</td></tr>
 <tr><td style="text-align:left"><code>receiverQueueSizeAcrossPartitions</code></td><td style="text-align:left">Set the max total receiver queue size across partitions. 当接收队列总数超过此值时,将减小每个分区接收队列的大小。</td><td style="text-align:left">50000</td></tr>
diff --git a/content/docs/zh-CN/2.5.2/reference-metrics.html b/content/docs/zh-CN/2.5.2/reference-metrics.html
index 428aae7..b184f9e 100644
--- a/content/docs/zh-CN/2.5.2/reference-metrics.html
+++ b/content/docs/zh-CN/2.5.2/reference-metrics.html
@@ -131,8 +131,8 @@
 <tr><td>bookkeeper_server_READ_ENTRY_count</td><td>计数器</td><td>The total number of READ_ENTRY requests received at the bookie. <code>success</code> 标签会被用于区分成功与失败。</td></tr>
 <tr><td>bookie_WRITE_BYTES</td><td>计数器</td><td>The total number of bytes written to the bookie.</td></tr>
 <tr><td>bookie_READ_BYTES</td><td>计数器</td><td>The total number of bytes read from the bookie.</td></tr>
-<tr><td>bookkeeper_server_ADD_ENTRY_REQUEST</td><td>直方图</td><td>The histogram of request latency of ADD_ENTRY requests at the bookie. <code>success</code> 标签会被用于区分成功与失败。</td></tr>
-<tr><td>bookkeeper_server_READ_ENTRY_REQUEST</td><td>直方图</td><td>The histogram of request latency of READ_ENTRY requests at the bookie. <code>success</code> 标签会被用于区分成功与失败。</td></tr>
+<tr><td>bookkeeper_server_ADD_ENTRY_REQUEST</td><td>总结</td><td>The summary of request latency of ADD_ENTRY requests at the bookie. <code>success</code> 标签会被用于区分成功与失败。</td></tr>
+<tr><td>bookkeeper_server_READ_ENTRY_REQUEST</td><td>总结</td><td>The summary of request latency of READ_ENTRY requests at the bookie. <code>success</code> 标签会被用于区分成功与失败。</td></tr>
 </tbody>
 </table>
 <h3><a class="anchor" aria-hidden="true" id="日志度量值"></a><a href="#日志度量值" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09 [...]
@@ -145,8 +145,8 @@
 <tr><td>bookie_journal_JOURNAL_QUEUE_SIZE</td><td>计量表</td><td>日志队列中待处理的请求总数。</td></tr>
 <tr><td>bookie_journal_JOURNAL_FORCE_WRITE_QUEUE_SIZE</td><td>计量表</td><td>在强制写入队列中等待的强制写入 (fsync) 请求总数。</td></tr>
 <tr><td>bookie_journal_JOURNAL_CB_QUEUE_SIZE</td><td>计量表</td><td>回调队列中待处理的回调总数。</td></tr>
-<tr><td>bookie_journal_JOURNAL_ADD_ENTRY</td><td>直方图</td><td>在日志中添加条目的请求延迟的直方图。</td></tr>
-<tr><td>bookie_journal_JOURNAL_SYNC</td><td>直方图</td><td>同步数据到日志磁盘的 fsync 延迟的直方图。</td></tr>
+<tr><td>bookie_journal_JOURNAL_ADD_ENTRY</td><td>总结</td><td>The summary of request latency of adding entries to the journal.</td></tr>
+<tr><td>bookie_journal_JOURNAL_SYNC</td><td>总结</td><td>The summary of fsync latency of syncing data to the journal disk.</td></tr>
 </tbody>
 </table>
 <h3><a class="anchor" aria-hidden="true" id="存储度量值"></a><a href="#存储度量值" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09 [...]
diff --git a/content/docs/zh-CN/2.5.2/reference-metrics/index.html b/content/docs/zh-CN/2.5.2/reference-metrics/index.html
index 428aae7..b184f9e 100644
--- a/content/docs/zh-CN/2.5.2/reference-metrics/index.html
+++ b/content/docs/zh-CN/2.5.2/reference-metrics/index.html
@@ -131,8 +131,8 @@
 <tr><td>bookkeeper_server_READ_ENTRY_count</td><td>计数器</td><td>The total number of READ_ENTRY requests received at the bookie. <code>success</code> 标签会被用于区分成功与失败。</td></tr>
 <tr><td>bookie_WRITE_BYTES</td><td>计数器</td><td>The total number of bytes written to the bookie.</td></tr>
 <tr><td>bookie_READ_BYTES</td><td>计数器</td><td>The total number of bytes read from the bookie.</td></tr>
-<tr><td>bookkeeper_server_ADD_ENTRY_REQUEST</td><td>直方图</td><td>The histogram of request latency of ADD_ENTRY requests at the bookie. <code>success</code> 标签会被用于区分成功与失败。</td></tr>
-<tr><td>bookkeeper_server_READ_ENTRY_REQUEST</td><td>直方图</td><td>The histogram of request latency of READ_ENTRY requests at the bookie. <code>success</code> 标签会被用于区分成功与失败。</td></tr>
+<tr><td>bookkeeper_server_ADD_ENTRY_REQUEST</td><td>总结</td><td>The summary of request latency of ADD_ENTRY requests at the bookie. <code>success</code> 标签会被用于区分成功与失败。</td></tr>
+<tr><td>bookkeeper_server_READ_ENTRY_REQUEST</td><td>总结</td><td>The summary of request latency of READ_ENTRY requests at the bookie. <code>success</code> 标签会被用于区分成功与失败。</td></tr>
 </tbody>
 </table>
 <h3><a class="anchor" aria-hidden="true" id="日志度量值"></a><a href="#日志度量值" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09 [...]
@@ -145,8 +145,8 @@
 <tr><td>bookie_journal_JOURNAL_QUEUE_SIZE</td><td>计量表</td><td>日志队列中待处理的请求总数。</td></tr>
 <tr><td>bookie_journal_JOURNAL_FORCE_WRITE_QUEUE_SIZE</td><td>计量表</td><td>在强制写入队列中等待的强制写入 (fsync) 请求总数。</td></tr>
 <tr><td>bookie_journal_JOURNAL_CB_QUEUE_SIZE</td><td>计量表</td><td>回调队列中待处理的回调总数。</td></tr>
-<tr><td>bookie_journal_JOURNAL_ADD_ENTRY</td><td>直方图</td><td>在日志中添加条目的请求延迟的直方图。</td></tr>
-<tr><td>bookie_journal_JOURNAL_SYNC</td><td>直方图</td><td>同步数据到日志磁盘的 fsync 延迟的直方图。</td></tr>
+<tr><td>bookie_journal_JOURNAL_ADD_ENTRY</td><td>总结</td><td>The summary of request latency of adding entries to the journal.</td></tr>
+<tr><td>bookie_journal_JOURNAL_SYNC</td><td>总结</td><td>The summary of fsync latency of syncing data to the journal disk.</td></tr>
 </tbody>
 </table>
 <h3><a class="anchor" aria-hidden="true" id="存储度量值"></a><a href="#存储度量值" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09 [...]
diff --git a/content/docs/zh-CN/2.6.0/client-libraries-java.html b/content/docs/zh-CN/2.6.0/client-libraries-java.html
index 14637aa..b587275 100644
--- a/content/docs/zh-CN/2.6.0/client-libraries-java.html
+++ b/content/docs/zh-CN/2.6.0/client-libraries-java.html
@@ -256,7 +256,7 @@ producer.closeAsync()
 <h3><a class="anchor" aria-hidden="true" id="configure-consumer"></a><a href="#configure-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- [...]
 <p>If you instantiate a <code>Consumer</code> object by specifying only a topic and subscription name as in the example above, the consumer uses the default configuration.</p>
 <p>When you create a consumer, you can use the <code>loadConf</code> configuration. The following parameters are available in <code>loadConf</code>.</p>
-<p>Type | Name| <div style="width:300px">Description</div>|  Default |---|---|---|--- Set&lt;String&gt;|  <code>topicNames</code>|   Topic name| Sets.newTreeSet() Pattern|   <code>topicsPattern</code>| Topic pattern   |None String| <code>subscriptionName</code>| Subscription name|  None SubscriptionType| <code>subscriptionType</code>|   Subscription type <br/><br/>Three subscription types are available:<li>Exclusive</li><li>Failover(灾备)</li><li>Shared(共享)</li>|SubscriptionType.Exclusive  [...]
+<p>Type | Name| <div style="width:300px">Description</div>|  Default |---|---|---|--- Set&lt;String&gt;|  <code>topicNames</code>|   Topic name| Sets.newTreeSet() Pattern|   <code>topicsPattern</code>| Topic pattern   |None String| <code>subscriptionName</code>| Subscription name|  None SubscriptionType| <code>subscriptionType</code>|   Subscription type <br/><br/>Four subscription types are available:<li>Exclusive</li><li>Failover(灾备)</li><li>Shared(共享)</li><li>Key_Shared</li>|Subscript [...]
 SortedMap&lt;String, String&gt;|<code>properties</code>|A name or value property of this consumer.<br/><br/><code>properties</code> is application defined metadata attached to a consumer. <br/><br/>When getting a topic stats, associate this metadata with the consumer stats for easier identification.|new TreeMap&lt;&gt;() boolean|<code>readCompacted</code>|If enabling <code>readCompacted</code>, a consumer reads messages from a compacted topic rather than reading a full message backlog of [...]
 <p>You can configure parameters if you do not want to use the default configuration. For a full list, see the Javadoc for the <a href="https://pulsar.incubator.apache.org/api/client/2.7.0-SNAPSHOT/org/apache/pulsar/client/api/ConsumerBuilder">ConsumerBuilder</a>
  class.</p>
diff --git a/content/docs/zh-CN/2.6.0/client-libraries-java/index.html b/content/docs/zh-CN/2.6.0/client-libraries-java/index.html
index 14637aa..b587275 100644
--- a/content/docs/zh-CN/2.6.0/client-libraries-java/index.html
+++ b/content/docs/zh-CN/2.6.0/client-libraries-java/index.html
@@ -256,7 +256,7 @@ producer.closeAsync()
 <h3><a class="anchor" aria-hidden="true" id="configure-consumer"></a><a href="#configure-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- [...]
 <p>If you instantiate a <code>Consumer</code> object by specifying only a topic and subscription name as in the example above, the consumer uses the default configuration.</p>
 <p>When you create a consumer, you can use the <code>loadConf</code> configuration. The following parameters are available in <code>loadConf</code>.</p>
-<p>Type | Name| <div style="width:300px">Description</div>|  Default |---|---|---|--- Set&lt;String&gt;|  <code>topicNames</code>|   Topic name| Sets.newTreeSet() Pattern|   <code>topicsPattern</code>| Topic pattern   |None String| <code>subscriptionName</code>| Subscription name|  None SubscriptionType| <code>subscriptionType</code>|   Subscription type <br/><br/>Three subscription types are available:<li>Exclusive</li><li>Failover(灾备)</li><li>Shared(共享)</li>|SubscriptionType.Exclusive  [...]
+<p>Type | Name| <div style="width:300px">Description</div>|  Default |---|---|---|--- Set&lt;String&gt;|  <code>topicNames</code>|   Topic name| Sets.newTreeSet() Pattern|   <code>topicsPattern</code>| Topic pattern   |None String| <code>subscriptionName</code>| Subscription name|  None SubscriptionType| <code>subscriptionType</code>|   Subscription type <br/><br/>Four subscription types are available:<li>Exclusive</li><li>Failover(灾备)</li><li>Shared(共享)</li><li>Key_Shared</li>|Subscript [...]
 SortedMap&lt;String, String&gt;|<code>properties</code>|A name or value property of this consumer.<br/><br/><code>properties</code> is application defined metadata attached to a consumer. <br/><br/>When getting a topic stats, associate this metadata with the consumer stats for easier identification.|new TreeMap&lt;&gt;() boolean|<code>readCompacted</code>|If enabling <code>readCompacted</code>, a consumer reads messages from a compacted topic rather than reading a full message backlog of [...]
 <p>You can configure parameters if you do not want to use the default configuration. For a full list, see the Javadoc for the <a href="https://pulsar.incubator.apache.org/api/client/2.7.0-SNAPSHOT/org/apache/pulsar/client/api/ConsumerBuilder">ConsumerBuilder</a>
  class.</p>
diff --git a/content/docs/zh-CN/2.6.0/client-libraries-node.html b/content/docs/zh-CN/2.6.0/client-libraries-node.html
index 9b1c1a6..66dca4b 100644
--- a/content/docs/zh-CN/2.6.0/client-libraries-node.html
+++ b/content/docs/zh-CN/2.6.0/client-libraries-node.html
@@ -266,7 +266,7 @@ In this example, using await operator instead of executor function.</p>
 <tbody>
 <tr><td style="text-align:left"><code>topic</code></td><td style="text-align:left">Consumer 创建订阅并监听消息的目标 Pulsar <a href="/docs/zh-CN/2.6.0/reference-terminology#topic">topic</a>。</td><td style="text-align:left"></td></tr>
 <tr><td style="text-align:left"><code>subscription</code></td><td style="text-align:left">Consumer 的订阅名称。</td><td style="text-align:left"></td></tr>
-<tr><td style="text-align:left"><code>subscriptionType</code></td><td style="text-align:left">可以设置为<code>独占</code>、<code>共享</code>或<code>灾备</code>。</td><td style="text-align:left"><code>Exclusive</code></td></tr>
+<tr><td style="text-align:left"><code>subscriptionType</code></td><td style="text-align:left">Available options are <code>Exclusive</code>, <code>Shared</code>, <code>Key_Shared</code>, and <code>Failover</code>.</td><td style="text-align:left"><code>Exclusive</code></td></tr>
 <tr><td style="text-align:left"><code>ackTimeoutMs</code></td><td style="text-align:left">消息确认的超时时间(以毫秒为单位)。</td><td style="text-align:left">0</td></tr>
 <tr><td style="text-align:left"><code>receiverQueueSize</code></td><td style="text-align:left">设置 consumer 接收队列的大小,即在应用程序调用 <code>receive</code> 之前允许堆积的消息数。 A value higher than the default of 1000 could increase consumer throughput, though at the expense of more memory utilization.</td><td style="text-align:left">1000</td></tr>
 <tr><td style="text-align:left"><code>receiverQueueSizeAcrossPartitions</code></td><td style="text-align:left">Set the max total receiver queue size across partitions. 当接收队列总数超过此值时,将减小每个分区接收队列的大小。</td><td style="text-align:left">50000</td></tr>
diff --git a/content/docs/zh-CN/2.6.0/client-libraries-node/index.html b/content/docs/zh-CN/2.6.0/client-libraries-node/index.html
index 9b1c1a6..66dca4b 100644
--- a/content/docs/zh-CN/2.6.0/client-libraries-node/index.html
+++ b/content/docs/zh-CN/2.6.0/client-libraries-node/index.html
@@ -266,7 +266,7 @@ In this example, using await operator instead of executor function.</p>
 <tbody>
 <tr><td style="text-align:left"><code>topic</code></td><td style="text-align:left">Consumer 创建订阅并监听消息的目标 Pulsar <a href="/docs/zh-CN/2.6.0/reference-terminology#topic">topic</a>。</td><td style="text-align:left"></td></tr>
 <tr><td style="text-align:left"><code>subscription</code></td><td style="text-align:left">Consumer 的订阅名称。</td><td style="text-align:left"></td></tr>
-<tr><td style="text-align:left"><code>subscriptionType</code></td><td style="text-align:left">可以设置为<code>独占</code>、<code>共享</code>或<code>灾备</code>。</td><td style="text-align:left"><code>Exclusive</code></td></tr>
+<tr><td style="text-align:left"><code>subscriptionType</code></td><td style="text-align:left">Available options are <code>Exclusive</code>, <code>Shared</code>, <code>Key_Shared</code>, and <code>Failover</code>.</td><td style="text-align:left"><code>Exclusive</code></td></tr>
 <tr><td style="text-align:left"><code>ackTimeoutMs</code></td><td style="text-align:left">消息确认的超时时间(以毫秒为单位)。</td><td style="text-align:left">0</td></tr>
 <tr><td style="text-align:left"><code>receiverQueueSize</code></td><td style="text-align:left">设置 consumer 接收队列的大小,即在应用程序调用 <code>receive</code> 之前允许堆积的消息数。 A value higher than the default of 1000 could increase consumer throughput, though at the expense of more memory utilization.</td><td style="text-align:left">1000</td></tr>
 <tr><td style="text-align:left"><code>receiverQueueSizeAcrossPartitions</code></td><td style="text-align:left">Set the max total receiver queue size across partitions. 当接收队列总数超过此值时,将减小每个分区接收队列的大小。</td><td style="text-align:left">50000</td></tr>
diff --git a/content/docs/zh-CN/2.6.0/client-libraries-websocket.html b/content/docs/zh-CN/2.6.0/client-libraries-websocket.html
index 2cf5f39..1686563 100644
--- a/content/docs/zh-CN/2.6.0/client-libraries-websocket.html
+++ b/content/docs/zh-CN/2.6.0/client-libraries-websocket.html
@@ -184,7 +184,7 @@
 </thead>
 <tbody>
 <tr><td style="text-align:left"><code>ackTimeoutMillis</code></td><td style="text-align:left">long</td><td style="text-align:left">否</td><td style="text-align:left">设置未完成消息确认的超时时间(默认值:0)</td></tr>
-<tr><td style="text-align:left"><code>subscriptionType</code></td><td style="text-align:left">string</td><td style="text-align:left">否</td><td style="text-align:left"><a href="https://pulsar.apache.org/api/client/2.7.0-SNAPSHOT/index.html?org/apache/pulsar/client/api/SubscriptionType.html">订阅类型</a>:<code>独占</code>、<code>灾备</code>、<code>共享</code></td></tr>
+<tr><td style="text-align:left"><code>subscriptionType</code></td><td style="text-align:left">string</td><td style="text-align:left">否</td><td style="text-align:left"><a href="https://pulsar.apache.org/api/client/2.7.0-SNAPSHOT/index.html?org/apache/pulsar/client/api/SubscriptionType.html">Subscription type</a>: <code>Exclusive</code>, <code>Failover</code>, <code>Shared</code>, <code>Key_Shared</code></td></tr>
 <tr><td style="text-align:left"><code>receiverQueueSize</code></td><td style="text-align:left">int</td><td style="text-align:left">否</td><td style="text-align:left">Consumer 接收队列的大小(默认:1000)</td></tr>
 <tr><td style="text-align:left"><code>consumerName</code></td><td style="text-align:left">string</td><td style="text-align:left">否</td><td style="text-align:left">Consumer 的名称</td></tr>
 <tr><td style="text-align:left"><code>priorityLevel</code></td><td style="text-align:left">int</td><td style="text-align:left">否</td><td style="text-align:left">指定 consumer 的<a href="http://pulsar.apache.org/api/client/2.7.0-SNAPSHOT/org/apache/pulsar/client/api/ConsumerConfiguration.html#setPriorityLevel-int-">优先级</a></td></tr>
diff --git a/content/docs/zh-CN/2.6.0/client-libraries-websocket/index.html b/content/docs/zh-CN/2.6.0/client-libraries-websocket/index.html
index 2cf5f39..1686563 100644
--- a/content/docs/zh-CN/2.6.0/client-libraries-websocket/index.html
+++ b/content/docs/zh-CN/2.6.0/client-libraries-websocket/index.html
@@ -184,7 +184,7 @@
 </thead>
 <tbody>
 <tr><td style="text-align:left"><code>ackTimeoutMillis</code></td><td style="text-align:left">long</td><td style="text-align:left">否</td><td style="text-align:left">设置未完成消息确认的超时时间(默认值:0)</td></tr>
-<tr><td style="text-align:left"><code>subscriptionType</code></td><td style="text-align:left">string</td><td style="text-align:left">否</td><td style="text-align:left"><a href="https://pulsar.apache.org/api/client/2.7.0-SNAPSHOT/index.html?org/apache/pulsar/client/api/SubscriptionType.html">订阅类型</a>:<code>独占</code>、<code>灾备</code>、<code>共享</code></td></tr>
+<tr><td style="text-align:left"><code>subscriptionType</code></td><td style="text-align:left">string</td><td style="text-align:left">否</td><td style="text-align:left"><a href="https://pulsar.apache.org/api/client/2.7.0-SNAPSHOT/index.html?org/apache/pulsar/client/api/SubscriptionType.html">Subscription type</a>: <code>Exclusive</code>, <code>Failover</code>, <code>Shared</code>, <code>Key_Shared</code></td></tr>
 <tr><td style="text-align:left"><code>receiverQueueSize</code></td><td style="text-align:left">int</td><td style="text-align:left">否</td><td style="text-align:left">Consumer 接收队列的大小(默认:1000)</td></tr>
 <tr><td style="text-align:left"><code>consumerName</code></td><td style="text-align:left">string</td><td style="text-align:left">否</td><td style="text-align:left">Consumer 的名称</td></tr>
 <tr><td style="text-align:left"><code>priorityLevel</code></td><td style="text-align:left">int</td><td style="text-align:left">否</td><td style="text-align:left">指定 consumer 的<a href="http://pulsar.apache.org/api/client/2.7.0-SNAPSHOT/org/apache/pulsar/client/api/ConsumerConfiguration.html#setPriorityLevel-int-">优先级</a></td></tr>
diff --git a/content/docs/zh-CN/2.6.0/reference-metrics.html b/content/docs/zh-CN/2.6.0/reference-metrics.html
index bd32e56..1a315b2 100644
--- a/content/docs/zh-CN/2.6.0/reference-metrics.html
+++ b/content/docs/zh-CN/2.6.0/reference-metrics.html
@@ -134,8 +134,8 @@
 <tr><td>bookkeeper_server_READ_ENTRY_count</td><td>计数器</td><td>The total number of READ_ENTRY requests received at the bookie. <code>success</code> 标签会被用于区分成功与失败。</td></tr>
 <tr><td>bookie_WRITE_BYTES</td><td>计数器</td><td>The total number of bytes written to the bookie.</td></tr>
 <tr><td>bookie_READ_BYTES</td><td>计数器</td><td>The total number of bytes read from the bookie.</td></tr>
-<tr><td>bookkeeper_server_ADD_ENTRY_REQUEST</td><td>直方图</td><td>The histogram of request latency of ADD_ENTRY requests at the bookie. <code>success</code> 标签会被用于区分成功与失败。</td></tr>
-<tr><td>bookkeeper_server_READ_ENTRY_REQUEST</td><td>直方图</td><td>The histogram of request latency of READ_ENTRY requests at the bookie. <code>success</code> 标签会被用于区分成功与失败。</td></tr>
+<tr><td>bookkeeper_server_ADD_ENTRY_REQUEST</td><td>总结</td><td>The summary of request latency of ADD_ENTRY requests at the bookie. <code>success</code> 标签会被用于区分成功与失败。</td></tr>
+<tr><td>bookkeeper_server_READ_ENTRY_REQUEST</td><td>总结</td><td>The summary of request latency of READ_ENTRY requests at the bookie. <code>success</code> 标签会被用于区分成功与失败。</td></tr>
 </tbody>
 </table>
 <h3><a class="anchor" aria-hidden="true" id="日志度量值"></a><a href="#日志度量值" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09 [...]
@@ -148,8 +148,8 @@
 <tr><td>bookie_journal_JOURNAL_QUEUE_SIZE</td><td>计量表</td><td>日志队列中待处理的请求总数。</td></tr>
 <tr><td>bookie_journal_JOURNAL_FORCE_WRITE_QUEUE_SIZE</td><td>计量表</td><td>在强制写入队列中等待的强制写入 (fsync) 请求总数。</td></tr>
 <tr><td>bookie_journal_JOURNAL_CB_QUEUE_SIZE</td><td>计量表</td><td>回调队列中待处理的回调总数。</td></tr>
-<tr><td>bookie_journal_JOURNAL_ADD_ENTRY</td><td>直方图</td><td>在日志中添加条目的请求延迟的直方图。</td></tr>
-<tr><td>bookie_journal_JOURNAL_SYNC</td><td>直方图</td><td>同步数据到日志磁盘的 fsync 延迟的直方图。</td></tr>
+<tr><td>bookie_journal_JOURNAL_ADD_ENTRY</td><td>总结</td><td>The summary of request latency of adding entries to the journal.</td></tr>
+<tr><td>bookie_journal_JOURNAL_SYNC</td><td>总结</td><td>The summary of fsync latency of syncing data to the journal disk.</td></tr>
 </tbody>
 </table>
 <h3><a class="anchor" aria-hidden="true" id="存储度量值"></a><a href="#存储度量值" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09 [...]
diff --git a/content/docs/zh-CN/2.6.0/reference-metrics/index.html b/content/docs/zh-CN/2.6.0/reference-metrics/index.html
index bd32e56..1a315b2 100644
--- a/content/docs/zh-CN/2.6.0/reference-metrics/index.html
+++ b/content/docs/zh-CN/2.6.0/reference-metrics/index.html
@@ -134,8 +134,8 @@
 <tr><td>bookkeeper_server_READ_ENTRY_count</td><td>计数器</td><td>The total number of READ_ENTRY requests received at the bookie. <code>success</code> 标签会被用于区分成功与失败。</td></tr>
 <tr><td>bookie_WRITE_BYTES</td><td>计数器</td><td>The total number of bytes written to the bookie.</td></tr>
 <tr><td>bookie_READ_BYTES</td><td>计数器</td><td>The total number of bytes read from the bookie.</td></tr>
-<tr><td>bookkeeper_server_ADD_ENTRY_REQUEST</td><td>直方图</td><td>The histogram of request latency of ADD_ENTRY requests at the bookie. <code>success</code> 标签会被用于区分成功与失败。</td></tr>
-<tr><td>bookkeeper_server_READ_ENTRY_REQUEST</td><td>直方图</td><td>The histogram of request latency of READ_ENTRY requests at the bookie. <code>success</code> 标签会被用于区分成功与失败。</td></tr>
+<tr><td>bookkeeper_server_ADD_ENTRY_REQUEST</td><td>总结</td><td>The summary of request latency of ADD_ENTRY requests at the bookie. <code>success</code> 标签会被用于区分成功与失败。</td></tr>
+<tr><td>bookkeeper_server_READ_ENTRY_REQUEST</td><td>总结</td><td>The summary of request latency of READ_ENTRY requests at the bookie. <code>success</code> 标签会被用于区分成功与失败。</td></tr>
 </tbody>
 </table>
 <h3><a class="anchor" aria-hidden="true" id="日志度量值"></a><a href="#日志度量值" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09 [...]
@@ -148,8 +148,8 @@
 <tr><td>bookie_journal_JOURNAL_QUEUE_SIZE</td><td>计量表</td><td>日志队列中待处理的请求总数。</td></tr>
 <tr><td>bookie_journal_JOURNAL_FORCE_WRITE_QUEUE_SIZE</td><td>计量表</td><td>在强制写入队列中等待的强制写入 (fsync) 请求总数。</td></tr>
 <tr><td>bookie_journal_JOURNAL_CB_QUEUE_SIZE</td><td>计量表</td><td>回调队列中待处理的回调总数。</td></tr>
-<tr><td>bookie_journal_JOURNAL_ADD_ENTRY</td><td>直方图</td><td>在日志中添加条目的请求延迟的直方图。</td></tr>
-<tr><td>bookie_journal_JOURNAL_SYNC</td><td>直方图</td><td>同步数据到日志磁盘的 fsync 延迟的直方图。</td></tr>
+<tr><td>bookie_journal_JOURNAL_ADD_ENTRY</td><td>总结</td><td>The summary of request latency of adding entries to the journal.</td></tr>
+<tr><td>bookie_journal_JOURNAL_SYNC</td><td>总结</td><td>The summary of fsync latency of syncing data to the journal disk.</td></tr>
 </tbody>
 </table>
 <h3><a class="anchor" aria-hidden="true" id="存储度量值"></a><a href="#存储度量值" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09 [...]
diff --git a/content/docs/zh-CN/2.6.1/client-libraries-java.html b/content/docs/zh-CN/2.6.1/client-libraries-java.html
index b6f0128..b7ccc86 100644
--- a/content/docs/zh-CN/2.6.1/client-libraries-java.html
+++ b/content/docs/zh-CN/2.6.1/client-libraries-java.html
@@ -256,7 +256,7 @@ producer.closeAsync()
 <h3><a class="anchor" aria-hidden="true" id="configure-consumer"></a><a href="#configure-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- [...]
 <p>If you instantiate a <code>Consumer</code> object by specifying only a topic and subscription name as in the example above, the consumer uses the default configuration.</p>
 <p>When you create a consumer, you can use the <code>loadConf</code> configuration. The following parameters are available in <code>loadConf</code>.</p>
-<p>Type | Name| <div style="width:300px">Description</div>|  Default |---|---|---|--- Set&lt;String&gt;|  <code>topicNames</code>|   Topic name| Sets.newTreeSet() Pattern|   <code>topicsPattern</code>| Topic pattern   |None String| <code>subscriptionName</code>| Subscription name|  None SubscriptionType| <code>subscriptionType</code>|   Subscription type <br/><br/>Three subscription types are available:<li>Exclusive</li><li>Failover(灾备)</li><li>Shared(共享)</li>|SubscriptionType.Exclusive  [...]
+<p>Type | Name| <div style="width:300px">Description</div>|  Default |---|---|---|--- Set&lt;String&gt;|  <code>topicNames</code>|   Topic name| Sets.newTreeSet() Pattern|   <code>topicsPattern</code>| Topic pattern   |None String| <code>subscriptionName</code>| Subscription name|  None SubscriptionType| <code>subscriptionType</code>|   Subscription type <br/><br/>Four subscription types are available:<li>Exclusive</li><li>Failover(灾备)</li><li>Shared(共享)</li><li>Key_Shared</li>|Subscript [...]
 SortedMap&lt;String, String&gt;|<code>properties</code>|A name or value property of this consumer.<br/><br/><code>properties</code> is application defined metadata attached to a consumer. <br/><br/>When getting a topic stats, associate this metadata with the consumer stats for easier identification.|new TreeMap&lt;&gt;() boolean|<code>readCompacted</code>|If enabling <code>readCompacted</code>, a consumer reads messages from a compacted topic rather than reading a full message backlog of [...]
 <p>You can configure parameters if you do not want to use the default configuration. For a full list, see the Javadoc for the <a href="https://pulsar.incubator.apache.org/api/client/2.7.0-SNAPSHOT/org/apache/pulsar/client/api/ConsumerBuilder">ConsumerBuilder</a>
  class.</p>
diff --git a/content/docs/zh-CN/2.6.1/client-libraries-java/index.html b/content/docs/zh-CN/2.6.1/client-libraries-java/index.html
index b6f0128..b7ccc86 100644
--- a/content/docs/zh-CN/2.6.1/client-libraries-java/index.html
+++ b/content/docs/zh-CN/2.6.1/client-libraries-java/index.html
@@ -256,7 +256,7 @@ producer.closeAsync()
 <h3><a class="anchor" aria-hidden="true" id="configure-consumer"></a><a href="#configure-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- [...]
 <p>If you instantiate a <code>Consumer</code> object by specifying only a topic and subscription name as in the example above, the consumer uses the default configuration.</p>
 <p>When you create a consumer, you can use the <code>loadConf</code> configuration. The following parameters are available in <code>loadConf</code>.</p>
-<p>Type | Name| <div style="width:300px">Description</div>|  Default |---|---|---|--- Set&lt;String&gt;|  <code>topicNames</code>|   Topic name| Sets.newTreeSet() Pattern|   <code>topicsPattern</code>| Topic pattern   |None String| <code>subscriptionName</code>| Subscription name|  None SubscriptionType| <code>subscriptionType</code>|   Subscription type <br/><br/>Three subscription types are available:<li>Exclusive</li><li>Failover(灾备)</li><li>Shared(共享)</li>|SubscriptionType.Exclusive  [...]
+<p>Type | Name| <div style="width:300px">Description</div>|  Default |---|---|---|--- Set&lt;String&gt;|  <code>topicNames</code>|   Topic name| Sets.newTreeSet() Pattern|   <code>topicsPattern</code>| Topic pattern   |None String| <code>subscriptionName</code>| Subscription name|  None SubscriptionType| <code>subscriptionType</code>|   Subscription type <br/><br/>Four subscription types are available:<li>Exclusive</li><li>Failover(灾备)</li><li>Shared(共享)</li><li>Key_Shared</li>|Subscript [...]
 SortedMap&lt;String, String&gt;|<code>properties</code>|A name or value property of this consumer.<br/><br/><code>properties</code> is application defined metadata attached to a consumer. <br/><br/>When getting a topic stats, associate this metadata with the consumer stats for easier identification.|new TreeMap&lt;&gt;() boolean|<code>readCompacted</code>|If enabling <code>readCompacted</code>, a consumer reads messages from a compacted topic rather than reading a full message backlog of [...]
 <p>You can configure parameters if you do not want to use the default configuration. For a full list, see the Javadoc for the <a href="https://pulsar.incubator.apache.org/api/client/2.7.0-SNAPSHOT/org/apache/pulsar/client/api/ConsumerBuilder">ConsumerBuilder</a>
  class.</p>
diff --git a/content/docs/zh-CN/2.6.1/client-libraries-node.html b/content/docs/zh-CN/2.6.1/client-libraries-node.html
index d1bbb64..1d8261c 100644
--- a/content/docs/zh-CN/2.6.1/client-libraries-node.html
+++ b/content/docs/zh-CN/2.6.1/client-libraries-node.html
@@ -266,7 +266,7 @@ In this example, using await operator instead of executor function.</p>
 <tbody>
 <tr><td style="text-align:left"><code>topic</code></td><td style="text-align:left">Consumer 创建订阅并监听消息的目标 Pulsar <a href="/docs/zh-CN/2.6.1/reference-terminology#topic">topic</a>。</td><td style="text-align:left"></td></tr>
 <tr><td style="text-align:left"><code>subscription</code></td><td style="text-align:left">Consumer 的订阅名称。</td><td style="text-align:left"></td></tr>
-<tr><td style="text-align:left"><code>subscriptionType</code></td><td style="text-align:left">可以设置为<code>独占</code>、<code>共享</code>或<code>灾备</code>。</td><td style="text-align:left"><code>Exclusive</code></td></tr>
+<tr><td style="text-align:left"><code>subscriptionType</code></td><td style="text-align:left">Available options are <code>Exclusive</code>, <code>Shared</code>, <code>Key_Shared</code>, and <code>Failover</code>.</td><td style="text-align:left"><code>Exclusive</code></td></tr>
 <tr><td style="text-align:left"><code>ackTimeoutMs</code></td><td style="text-align:left">消息确认的超时时间(以毫秒为单位)。</td><td style="text-align:left">0</td></tr>
 <tr><td style="text-align:left"><code>receiverQueueSize</code></td><td style="text-align:left">设置 consumer 接收队列的大小,即在应用程序调用 <code>receive</code> 之前允许堆积的消息数。 A value higher than the default of 1000 could increase consumer throughput, though at the expense of more memory utilization.</td><td style="text-align:left">1000</td></tr>
 <tr><td style="text-align:left"><code>receiverQueueSizeAcrossPartitions</code></td><td style="text-align:left">Set the max total receiver queue size across partitions. 当接收队列总数超过此值时,将减小每个分区接收队列的大小。</td><td style="text-align:left">50000</td></tr>
diff --git a/content/docs/zh-CN/2.6.1/client-libraries-node/index.html b/content/docs/zh-CN/2.6.1/client-libraries-node/index.html
index d1bbb64..1d8261c 100644
--- a/content/docs/zh-CN/2.6.1/client-libraries-node/index.html
+++ b/content/docs/zh-CN/2.6.1/client-libraries-node/index.html
@@ -266,7 +266,7 @@ In this example, using await operator instead of executor function.</p>
 <tbody>
 <tr><td style="text-align:left"><code>topic</code></td><td style="text-align:left">Consumer 创建订阅并监听消息的目标 Pulsar <a href="/docs/zh-CN/2.6.1/reference-terminology#topic">topic</a>。</td><td style="text-align:left"></td></tr>
 <tr><td style="text-align:left"><code>subscription</code></td><td style="text-align:left">Consumer 的订阅名称。</td><td style="text-align:left"></td></tr>
-<tr><td style="text-align:left"><code>subscriptionType</code></td><td style="text-align:left">可以设置为<code>独占</code>、<code>共享</code>或<code>灾备</code>。</td><td style="text-align:left"><code>Exclusive</code></td></tr>
+<tr><td style="text-align:left"><code>subscriptionType</code></td><td style="text-align:left">Available options are <code>Exclusive</code>, <code>Shared</code>, <code>Key_Shared</code>, and <code>Failover</code>.</td><td style="text-align:left"><code>Exclusive</code></td></tr>
 <tr><td style="text-align:left"><code>ackTimeoutMs</code></td><td style="text-align:left">消息确认的超时时间(以毫秒为单位)。</td><td style="text-align:left">0</td></tr>
 <tr><td style="text-align:left"><code>receiverQueueSize</code></td><td style="text-align:left">设置 consumer 接收队列的大小,即在应用程序调用 <code>receive</code> 之前允许堆积的消息数。 A value higher than the default of 1000 could increase consumer throughput, though at the expense of more memory utilization.</td><td style="text-align:left">1000</td></tr>
 <tr><td style="text-align:left"><code>receiverQueueSizeAcrossPartitions</code></td><td style="text-align:left">Set the max total receiver queue size across partitions. 当接收队列总数超过此值时,将减小每个分区接收队列的大小。</td><td style="text-align:left">50000</td></tr>
diff --git a/content/docs/zh-CN/2.6.1/client-libraries-websocket.html b/content/docs/zh-CN/2.6.1/client-libraries-websocket.html
index e08a45b..fb4035c 100644
--- a/content/docs/zh-CN/2.6.1/client-libraries-websocket.html
+++ b/content/docs/zh-CN/2.6.1/client-libraries-websocket.html
@@ -184,7 +184,7 @@
 </thead>
 <tbody>
 <tr><td style="text-align:left"><code>ackTimeoutMillis</code></td><td style="text-align:left">long</td><td style="text-align:left">否</td><td style="text-align:left">设置未完成消息确认的超时时间(默认值:0)</td></tr>
-<tr><td style="text-align:left"><code>subscriptionType</code></td><td style="text-align:left">string</td><td style="text-align:left">否</td><td style="text-align:left"><a href="https://pulsar.apache.org/api/client/2.7.0-SNAPSHOT/index.html?org/apache/pulsar/client/api/SubscriptionType.html">订阅类型</a>:<code>独占</code>、<code>灾备</code>、<code>共享</code></td></tr>
+<tr><td style="text-align:left"><code>subscriptionType</code></td><td style="text-align:left">string</td><td style="text-align:left">否</td><td style="text-align:left"><a href="https://pulsar.apache.org/api/client/2.7.0-SNAPSHOT/index.html?org/apache/pulsar/client/api/SubscriptionType.html">Subscription type</a>: <code>Exclusive</code>, <code>Failover</code>, <code>Shared</code>, <code>Key_Shared</code></td></tr>
 <tr><td style="text-align:left"><code>receiverQueueSize</code></td><td style="text-align:left">int</td><td style="text-align:left">否</td><td style="text-align:left">Consumer 接收队列的大小(默认:1000)</td></tr>
 <tr><td style="text-align:left"><code>consumerName</code></td><td style="text-align:left">string</td><td style="text-align:left">否</td><td style="text-align:left">Consumer 的名称</td></tr>
 <tr><td style="text-align:left"><code>priorityLevel</code></td><td style="text-align:left">int</td><td style="text-align:left">否</td><td style="text-align:left">指定 consumer 的<a href="http://pulsar.apache.org/api/client/2.7.0-SNAPSHOT/org/apache/pulsar/client/api/ConsumerConfiguration.html#setPriorityLevel-int-">优先级</a></td></tr>
diff --git a/content/docs/zh-CN/2.6.1/client-libraries-websocket/index.html b/content/docs/zh-CN/2.6.1/client-libraries-websocket/index.html
index e08a45b..fb4035c 100644
--- a/content/docs/zh-CN/2.6.1/client-libraries-websocket/index.html
+++ b/content/docs/zh-CN/2.6.1/client-libraries-websocket/index.html
@@ -184,7 +184,7 @@
 </thead>
 <tbody>
 <tr><td style="text-align:left"><code>ackTimeoutMillis</code></td><td style="text-align:left">long</td><td style="text-align:left">否</td><td style="text-align:left">设置未完成消息确认的超时时间(默认值:0)</td></tr>
-<tr><td style="text-align:left"><code>subscriptionType</code></td><td style="text-align:left">string</td><td style="text-align:left">否</td><td style="text-align:left"><a href="https://pulsar.apache.org/api/client/2.7.0-SNAPSHOT/index.html?org/apache/pulsar/client/api/SubscriptionType.html">订阅类型</a>:<code>独占</code>、<code>灾备</code>、<code>共享</code></td></tr>
+<tr><td style="text-align:left"><code>subscriptionType</code></td><td style="text-align:left">string</td><td style="text-align:left">否</td><td style="text-align:left"><a href="https://pulsar.apache.org/api/client/2.7.0-SNAPSHOT/index.html?org/apache/pulsar/client/api/SubscriptionType.html">Subscription type</a>: <code>Exclusive</code>, <code>Failover</code>, <code>Shared</code>, <code>Key_Shared</code></td></tr>
 <tr><td style="text-align:left"><code>receiverQueueSize</code></td><td style="text-align:left">int</td><td style="text-align:left">否</td><td style="text-align:left">Consumer 接收队列的大小(默认:1000)</td></tr>
 <tr><td style="text-align:left"><code>consumerName</code></td><td style="text-align:left">string</td><td style="text-align:left">否</td><td style="text-align:left">Consumer 的名称</td></tr>
 <tr><td style="text-align:left"><code>priorityLevel</code></td><td style="text-align:left">int</td><td style="text-align:left">否</td><td style="text-align:left">指定 consumer 的<a href="http://pulsar.apache.org/api/client/2.7.0-SNAPSHOT/org/apache/pulsar/client/api/ConsumerConfiguration.html#setPriorityLevel-int-">优先级</a></td></tr>
diff --git a/content/docs/zh-CN/2.6.1/reference-metrics.html b/content/docs/zh-CN/2.6.1/reference-metrics.html
index aab3e32..5dfb20c 100644
--- a/content/docs/zh-CN/2.6.1/reference-metrics.html
+++ b/content/docs/zh-CN/2.6.1/reference-metrics.html
@@ -134,8 +134,8 @@
 <tr><td>bookkeeper_server_READ_ENTRY_count</td><td>计数器</td><td>The total number of READ_ENTRY requests received at the bookie. <code>success</code> 标签会被用于区分成功与失败。</td></tr>
 <tr><td>bookie_WRITE_BYTES</td><td>计数器</td><td>The total number of bytes written to the bookie.</td></tr>
 <tr><td>bookie_READ_BYTES</td><td>计数器</td><td>The total number of bytes read from the bookie.</td></tr>
-<tr><td>bookkeeper_server_ADD_ENTRY_REQUEST</td><td>直方图</td><td>The histogram of request latency of ADD_ENTRY requests at the bookie. <code>success</code> 标签会被用于区分成功与失败。</td></tr>
-<tr><td>bookkeeper_server_READ_ENTRY_REQUEST</td><td>直方图</td><td>The histogram of request latency of READ_ENTRY requests at the bookie. <code>success</code> 标签会被用于区分成功与失败。</td></tr>
+<tr><td>bookkeeper_server_ADD_ENTRY_REQUEST</td><td>总结</td><td>The summary of request latency of ADD_ENTRY requests at the bookie. <code>success</code> 标签会被用于区分成功与失败。</td></tr>
+<tr><td>bookkeeper_server_READ_ENTRY_REQUEST</td><td>总结</td><td>The summary of request latency of READ_ENTRY requests at the bookie. <code>success</code> 标签会被用于区分成功与失败。</td></tr>
 </tbody>
 </table>
 <h3><a class="anchor" aria-hidden="true" id="日志度量值"></a><a href="#日志度量值" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09 [...]
@@ -148,8 +148,8 @@
 <tr><td>bookie_journal_JOURNAL_QUEUE_SIZE</td><td>计量表</td><td>日志队列中待处理的请求总数。</td></tr>
 <tr><td>bookie_journal_JOURNAL_FORCE_WRITE_QUEUE_SIZE</td><td>计量表</td><td>在强制写入队列中等待的强制写入 (fsync) 请求总数。</td></tr>
 <tr><td>bookie_journal_JOURNAL_CB_QUEUE_SIZE</td><td>计量表</td><td>回调队列中待处理的回调总数。</td></tr>
-<tr><td>bookie_journal_JOURNAL_ADD_ENTRY</td><td>直方图</td><td>在日志中添加条目的请求延迟的直方图。</td></tr>
-<tr><td>bookie_journal_JOURNAL_SYNC</td><td>直方图</td><td>同步数据到日志磁盘的 fsync 延迟的直方图。</td></tr>
+<tr><td>bookie_journal_JOURNAL_ADD_ENTRY</td><td>总结</td><td>The summary of request latency of adding entries to the journal.</td></tr>
+<tr><td>bookie_journal_JOURNAL_SYNC</td><td>总结</td><td>The summary of fsync latency of syncing data to the journal disk.</td></tr>
 </tbody>
 </table>
 <h3><a class="anchor" aria-hidden="true" id="存储度量值"></a><a href="#存储度量值" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09 [...]
diff --git a/content/docs/zh-CN/2.6.1/reference-metrics/index.html b/content/docs/zh-CN/2.6.1/reference-metrics/index.html
index aab3e32..5dfb20c 100644
--- a/content/docs/zh-CN/2.6.1/reference-metrics/index.html
+++ b/content/docs/zh-CN/2.6.1/reference-metrics/index.html
@@ -134,8 +134,8 @@
 <tr><td>bookkeeper_server_READ_ENTRY_count</td><td>计数器</td><td>The total number of READ_ENTRY requests received at the bookie. <code>success</code> 标签会被用于区分成功与失败。</td></tr>
 <tr><td>bookie_WRITE_BYTES</td><td>计数器</td><td>The total number of bytes written to the bookie.</td></tr>
 <tr><td>bookie_READ_BYTES</td><td>计数器</td><td>The total number of bytes read from the bookie.</td></tr>
-<tr><td>bookkeeper_server_ADD_ENTRY_REQUEST</td><td>直方图</td><td>The histogram of request latency of ADD_ENTRY requests at the bookie. <code>success</code> 标签会被用于区分成功与失败。</td></tr>
-<tr><td>bookkeeper_server_READ_ENTRY_REQUEST</td><td>直方图</td><td>The histogram of request latency of READ_ENTRY requests at the bookie. <code>success</code> 标签会被用于区分成功与失败。</td></tr>
+<tr><td>bookkeeper_server_ADD_ENTRY_REQUEST</td><td>总结</td><td>The summary of request latency of ADD_ENTRY requests at the bookie. <code>success</code> 标签会被用于区分成功与失败。</td></tr>
+<tr><td>bookkeeper_server_READ_ENTRY_REQUEST</td><td>总结</td><td>The summary of request latency of READ_ENTRY requests at the bookie. <code>success</code> 标签会被用于区分成功与失败。</td></tr>
 </tbody>
 </table>
 <h3><a class="anchor" aria-hidden="true" id="日志度量值"></a><a href="#日志度量值" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09 [...]
@@ -148,8 +148,8 @@
 <tr><td>bookie_journal_JOURNAL_QUEUE_SIZE</td><td>计量表</td><td>日志队列中待处理的请求总数。</td></tr>
 <tr><td>bookie_journal_JOURNAL_FORCE_WRITE_QUEUE_SIZE</td><td>计量表</td><td>在强制写入队列中等待的强制写入 (fsync) 请求总数。</td></tr>
 <tr><td>bookie_journal_JOURNAL_CB_QUEUE_SIZE</td><td>计量表</td><td>回调队列中待处理的回调总数。</td></tr>
-<tr><td>bookie_journal_JOURNAL_ADD_ENTRY</td><td>直方图</td><td>在日志中添加条目的请求延迟的直方图。</td></tr>
-<tr><td>bookie_journal_JOURNAL_SYNC</td><td>直方图</td><td>同步数据到日志磁盘的 fsync 延迟的直方图。</td></tr>
+<tr><td>bookie_journal_JOURNAL_ADD_ENTRY</td><td>总结</td><td>The summary of request latency of adding entries to the journal.</td></tr>
+<tr><td>bookie_journal_JOURNAL_SYNC</td><td>总结</td><td>The summary of fsync latency of syncing data to the journal disk.</td></tr>
 </tbody>
 </table>
 <h3><a class="anchor" aria-hidden="true" id="存储度量值"></a><a href="#存储度量值" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09 [...]
diff --git a/content/docs/zh-CN/2.6.2/client-libraries-java.html b/content/docs/zh-CN/2.6.2/client-libraries-java.html
index a9aaa91..449f51d 100644
--- a/content/docs/zh-CN/2.6.2/client-libraries-java.html
+++ b/content/docs/zh-CN/2.6.2/client-libraries-java.html
@@ -256,7 +256,7 @@ producer.closeAsync()
 <h3><a class="anchor" aria-hidden="true" id="configure-consumer"></a><a href="#configure-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- [...]
 <p>If you instantiate a <code>Consumer</code> object by specifying only a topic and subscription name as in the example above, the consumer uses the default configuration.</p>
 <p>When you create a consumer, you can use the <code>loadConf</code> configuration. The following parameters are available in <code>loadConf</code>.</p>
-<p>Type | Name| <div style="width:300px">Description</div>|  Default |---|---|---|--- Set&lt;String&gt;|  <code>topicNames</code>|   Topic name| Sets.newTreeSet() Pattern|   <code>topicsPattern</code>| Topic pattern   |None String| <code>subscriptionName</code>| Subscription name|  None SubscriptionType| <code>subscriptionType</code>|   Subscription type <br/><br/>Three subscription types are available:<li>Exclusive</li><li>Failover(灾备)</li><li>Shared(共享)</li>|SubscriptionType.Exclusive  [...]
+<p>Type | Name| <div style="width:300px">Description</div>|  Default |---|---|---|--- Set&lt;String&gt;|  <code>topicNames</code>|   Topic name| Sets.newTreeSet() Pattern|   <code>topicsPattern</code>| Topic pattern   |None String| <code>subscriptionName</code>| Subscription name|  None SubscriptionType| <code>subscriptionType</code>|   Subscription type <br/><br/>Four subscription types are available:<li>Exclusive</li><li>Failover(灾备)</li><li>Shared(共享)</li><li>Key_Shared</li>|Subscript [...]
 SortedMap&lt;String, String&gt;|<code>properties</code>|A name or value property of this consumer.<br/><br/><code>properties</code> is application defined metadata attached to a consumer. <br/><br/>When getting a topic stats, associate this metadata with the consumer stats for easier identification.|new TreeMap&lt;&gt;() boolean|<code>readCompacted</code>|If enabling <code>readCompacted</code>, a consumer reads messages from a compacted topic rather than reading a full message backlog of [...]
 <p>You can configure parameters if you do not want to use the default configuration. For a full list, see the Javadoc for the <a href="https://pulsar.incubator.apache.org/api/client/2.7.0-SNAPSHOT/org/apache/pulsar/client/api/ConsumerBuilder">ConsumerBuilder</a>
  class.</p>
diff --git a/content/docs/zh-CN/2.6.2/client-libraries-java/index.html b/content/docs/zh-CN/2.6.2/client-libraries-java/index.html
index a9aaa91..449f51d 100644
--- a/content/docs/zh-CN/2.6.2/client-libraries-java/index.html
+++ b/content/docs/zh-CN/2.6.2/client-libraries-java/index.html
@@ -256,7 +256,7 @@ producer.closeAsync()
 <h3><a class="anchor" aria-hidden="true" id="configure-consumer"></a><a href="#configure-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- [...]
 <p>If you instantiate a <code>Consumer</code> object by specifying only a topic and subscription name as in the example above, the consumer uses the default configuration.</p>
 <p>When you create a consumer, you can use the <code>loadConf</code> configuration. The following parameters are available in <code>loadConf</code>.</p>
-<p>Type | Name| <div style="width:300px">Description</div>|  Default |---|---|---|--- Set&lt;String&gt;|  <code>topicNames</code>|   Topic name| Sets.newTreeSet() Pattern|   <code>topicsPattern</code>| Topic pattern   |None String| <code>subscriptionName</code>| Subscription name|  None SubscriptionType| <code>subscriptionType</code>|   Subscription type <br/><br/>Three subscription types are available:<li>Exclusive</li><li>Failover(灾备)</li><li>Shared(共享)</li>|SubscriptionType.Exclusive  [...]
+<p>Type | Name| <div style="width:300px">Description</div>|  Default |---|---|---|--- Set&lt;String&gt;|  <code>topicNames</code>|   Topic name| Sets.newTreeSet() Pattern|   <code>topicsPattern</code>| Topic pattern   |None String| <code>subscriptionName</code>| Subscription name|  None SubscriptionType| <code>subscriptionType</code>|   Subscription type <br/><br/>Four subscription types are available:<li>Exclusive</li><li>Failover(灾备)</li><li>Shared(共享)</li><li>Key_Shared</li>|Subscript [...]
 SortedMap&lt;String, String&gt;|<code>properties</code>|A name or value property of this consumer.<br/><br/><code>properties</code> is application defined metadata attached to a consumer. <br/><br/>When getting a topic stats, associate this metadata with the consumer stats for easier identification.|new TreeMap&lt;&gt;() boolean|<code>readCompacted</code>|If enabling <code>readCompacted</code>, a consumer reads messages from a compacted topic rather than reading a full message backlog of [...]
 <p>You can configure parameters if you do not want to use the default configuration. For a full list, see the Javadoc for the <a href="https://pulsar.incubator.apache.org/api/client/2.7.0-SNAPSHOT/org/apache/pulsar/client/api/ConsumerBuilder">ConsumerBuilder</a>
  class.</p>
diff --git a/content/docs/zh-CN/2.6.2/client-libraries-node.html b/content/docs/zh-CN/2.6.2/client-libraries-node.html
index 7bbf546..94680a1 100644
--- a/content/docs/zh-CN/2.6.2/client-libraries-node.html
+++ b/content/docs/zh-CN/2.6.2/client-libraries-node.html
@@ -266,7 +266,7 @@ In this example, using await operator instead of executor function.</p>
 <tbody>
 <tr><td style="text-align:left"><code>topic</code></td><td style="text-align:left">Consumer 创建订阅并监听消息的目标 Pulsar <a href="/docs/zh-CN/2.6.2/reference-terminology#topic">topic</a>。</td><td style="text-align:left"></td></tr>
 <tr><td style="text-align:left"><code>subscription</code></td><td style="text-align:left">Consumer 的订阅名称。</td><td style="text-align:left"></td></tr>
-<tr><td style="text-align:left"><code>subscriptionType</code></td><td style="text-align:left">可以设置为<code>独占</code>、<code>共享</code>或<code>灾备</code>。</td><td style="text-align:left"><code>Exclusive</code></td></tr>
+<tr><td style="text-align:left"><code>subscriptionType</code></td><td style="text-align:left">Available options are <code>Exclusive</code>, <code>Shared</code>, <code>Key_Shared</code>, and <code>Failover</code>.</td><td style="text-align:left"><code>Exclusive</code></td></tr>
 <tr><td style="text-align:left"><code>ackTimeoutMs</code></td><td style="text-align:left">消息确认的超时时间(以毫秒为单位)。</td><td style="text-align:left">0</td></tr>
 <tr><td style="text-align:left"><code>receiverQueueSize</code></td><td style="text-align:left">设置 consumer 接收队列的大小,即在应用程序调用 <code>receive</code> 之前允许堆积的消息数。 A value higher than the default of 1000 could increase consumer throughput, though at the expense of more memory utilization.</td><td style="text-align:left">1000</td></tr>
 <tr><td style="text-align:left"><code>receiverQueueSizeAcrossPartitions</code></td><td style="text-align:left">Set the max total receiver queue size across partitions. 当接收队列总数超过此值时,将减小每个分区接收队列的大小。</td><td style="text-align:left">50000</td></tr>
diff --git a/content/docs/zh-CN/2.6.2/client-libraries-node/index.html b/content/docs/zh-CN/2.6.2/client-libraries-node/index.html
index 7bbf546..94680a1 100644
--- a/content/docs/zh-CN/2.6.2/client-libraries-node/index.html
+++ b/content/docs/zh-CN/2.6.2/client-libraries-node/index.html
@@ -266,7 +266,7 @@ In this example, using await operator instead of executor function.</p>
 <tbody>
 <tr><td style="text-align:left"><code>topic</code></td><td style="text-align:left">Consumer 创建订阅并监听消息的目标 Pulsar <a href="/docs/zh-CN/2.6.2/reference-terminology#topic">topic</a>。</td><td style="text-align:left"></td></tr>
 <tr><td style="text-align:left"><code>subscription</code></td><td style="text-align:left">Consumer 的订阅名称。</td><td style="text-align:left"></td></tr>
-<tr><td style="text-align:left"><code>subscriptionType</code></td><td style="text-align:left">可以设置为<code>独占</code>、<code>共享</code>或<code>灾备</code>。</td><td style="text-align:left"><code>Exclusive</code></td></tr>
+<tr><td style="text-align:left"><code>subscriptionType</code></td><td style="text-align:left">Available options are <code>Exclusive</code>, <code>Shared</code>, <code>Key_Shared</code>, and <code>Failover</code>.</td><td style="text-align:left"><code>Exclusive</code></td></tr>
 <tr><td style="text-align:left"><code>ackTimeoutMs</code></td><td style="text-align:left">消息确认的超时时间(以毫秒为单位)。</td><td style="text-align:left">0</td></tr>
 <tr><td style="text-align:left"><code>receiverQueueSize</code></td><td style="text-align:left">设置 consumer 接收队列的大小,即在应用程序调用 <code>receive</code> 之前允许堆积的消息数。 A value higher than the default of 1000 could increase consumer throughput, though at the expense of more memory utilization.</td><td style="text-align:left">1000</td></tr>
 <tr><td style="text-align:left"><code>receiverQueueSizeAcrossPartitions</code></td><td style="text-align:left">Set the max total receiver queue size across partitions. 当接收队列总数超过此值时,将减小每个分区接收队列的大小。</td><td style="text-align:left">50000</td></tr>
diff --git a/content/docs/zh-CN/2.6.2/client-libraries-websocket.html b/content/docs/zh-CN/2.6.2/client-libraries-websocket.html
index 5b701b9..848afcd 100644
--- a/content/docs/zh-CN/2.6.2/client-libraries-websocket.html
+++ b/content/docs/zh-CN/2.6.2/client-libraries-websocket.html
@@ -184,7 +184,7 @@
 </thead>
 <tbody>
 <tr><td style="text-align:left"><code>ackTimeoutMillis</code></td><td style="text-align:left">long</td><td style="text-align:left">否</td><td style="text-align:left">设置未完成消息确认的超时时间(默认值:0)</td></tr>
-<tr><td style="text-align:left"><code>subscriptionType</code></td><td style="text-align:left">string</td><td style="text-align:left">否</td><td style="text-align:left"><a href="https://pulsar.apache.org/api/client/2.7.0-SNAPSHOT/index.html?org/apache/pulsar/client/api/SubscriptionType.html">订阅类型</a>:<code>独占</code>、<code>灾备</code>、<code>共享</code></td></tr>
+<tr><td style="text-align:left"><code>subscriptionType</code></td><td style="text-align:left">string</td><td style="text-align:left">否</td><td style="text-align:left"><a href="https://pulsar.apache.org/api/client/2.7.0-SNAPSHOT/index.html?org/apache/pulsar/client/api/SubscriptionType.html">Subscription type</a>: <code>Exclusive</code>, <code>Failover</code>, <code>Shared</code>, <code>Key_Shared</code></td></tr>
 <tr><td style="text-align:left"><code>receiverQueueSize</code></td><td style="text-align:left">int</td><td style="text-align:left">否</td><td style="text-align:left">Consumer 接收队列的大小(默认:1000)</td></tr>
 <tr><td style="text-align:left"><code>consumerName</code></td><td style="text-align:left">string</td><td style="text-align:left">否</td><td style="text-align:left">Consumer 的名称</td></tr>
 <tr><td style="text-align:left"><code>priorityLevel</code></td><td style="text-align:left">int</td><td style="text-align:left">否</td><td style="text-align:left">指定 consumer 的<a href="http://pulsar.apache.org/api/client/2.7.0-SNAPSHOT/org/apache/pulsar/client/api/ConsumerConfiguration.html#setPriorityLevel-int-">优先级</a></td></tr>
diff --git a/content/docs/zh-CN/2.6.2/client-libraries-websocket/index.html b/content/docs/zh-CN/2.6.2/client-libraries-websocket/index.html
index 5b701b9..848afcd 100644
--- a/content/docs/zh-CN/2.6.2/client-libraries-websocket/index.html
+++ b/content/docs/zh-CN/2.6.2/client-libraries-websocket/index.html
@@ -184,7 +184,7 @@
 </thead>
 <tbody>
 <tr><td style="text-align:left"><code>ackTimeoutMillis</code></td><td style="text-align:left">long</td><td style="text-align:left">否</td><td style="text-align:left">设置未完成消息确认的超时时间(默认值:0)</td></tr>
-<tr><td style="text-align:left"><code>subscriptionType</code></td><td style="text-align:left">string</td><td style="text-align:left">否</td><td style="text-align:left"><a href="https://pulsar.apache.org/api/client/2.7.0-SNAPSHOT/index.html?org/apache/pulsar/client/api/SubscriptionType.html">订阅类型</a>:<code>独占</code>、<code>灾备</code>、<code>共享</code></td></tr>
+<tr><td style="text-align:left"><code>subscriptionType</code></td><td style="text-align:left">string</td><td style="text-align:left">否</td><td style="text-align:left"><a href="https://pulsar.apache.org/api/client/2.7.0-SNAPSHOT/index.html?org/apache/pulsar/client/api/SubscriptionType.html">Subscription type</a>: <code>Exclusive</code>, <code>Failover</code>, <code>Shared</code>, <code>Key_Shared</code></td></tr>
 <tr><td style="text-align:left"><code>receiverQueueSize</code></td><td style="text-align:left">int</td><td style="text-align:left">否</td><td style="text-align:left">Consumer 接收队列的大小(默认:1000)</td></tr>
 <tr><td style="text-align:left"><code>consumerName</code></td><td style="text-align:left">string</td><td style="text-align:left">否</td><td style="text-align:left">Consumer 的名称</td></tr>
 <tr><td style="text-align:left"><code>priorityLevel</code></td><td style="text-align:left">int</td><td style="text-align:left">否</td><td style="text-align:left">指定 consumer 的<a href="http://pulsar.apache.org/api/client/2.7.0-SNAPSHOT/org/apache/pulsar/client/api/ConsumerConfiguration.html#setPriorityLevel-int-">优先级</a></td></tr>
diff --git a/content/docs/zh-CN/2.6.2/reference-metrics.html b/content/docs/zh-CN/2.6.2/reference-metrics.html
index b3513a5..0b103d8 100644
--- a/content/docs/zh-CN/2.6.2/reference-metrics.html
+++ b/content/docs/zh-CN/2.6.2/reference-metrics.html
@@ -134,8 +134,8 @@
 <tr><td>bookkeeper_server_READ_ENTRY_count</td><td>计数器</td><td>The total number of READ_ENTRY requests received at the bookie. <code>success</code> 标签会被用于区分成功与失败。</td></tr>
 <tr><td>bookie_WRITE_BYTES</td><td>计数器</td><td>The total number of bytes written to the bookie.</td></tr>
 <tr><td>bookie_READ_BYTES</td><td>计数器</td><td>The total number of bytes read from the bookie.</td></tr>
-<tr><td>bookkeeper_server_ADD_ENTRY_REQUEST</td><td>直方图</td><td>The histogram of request latency of ADD_ENTRY requests at the bookie. <code>success</code> 标签会被用于区分成功与失败。</td></tr>
-<tr><td>bookkeeper_server_READ_ENTRY_REQUEST</td><td>直方图</td><td>The histogram of request latency of READ_ENTRY requests at the bookie. <code>success</code> 标签会被用于区分成功与失败。</td></tr>
+<tr><td>bookkeeper_server_ADD_ENTRY_REQUEST</td><td>总结</td><td>The summary of request latency of ADD_ENTRY requests at the bookie. <code>success</code> 标签会被用于区分成功与失败。</td></tr>
+<tr><td>bookkeeper_server_READ_ENTRY_REQUEST</td><td>总结</td><td>The summary of request latency of READ_ENTRY requests at the bookie. <code>success</code> 标签会被用于区分成功与失败。</td></tr>
 </tbody>
 </table>
 <h3><a class="anchor" aria-hidden="true" id="日志度量值"></a><a href="#日志度量值" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09 [...]
@@ -148,8 +148,8 @@
 <tr><td>bookie_journal_JOURNAL_QUEUE_SIZE</td><td>计量表</td><td>日志队列中待处理的请求总数。</td></tr>
 <tr><td>bookie_journal_JOURNAL_FORCE_WRITE_QUEUE_SIZE</td><td>计量表</td><td>在强制写入队列中等待的强制写入 (fsync) 请求总数。</td></tr>
 <tr><td>bookie_journal_JOURNAL_CB_QUEUE_SIZE</td><td>计量表</td><td>回调队列中待处理的回调总数。</td></tr>
-<tr><td>bookie_journal_JOURNAL_ADD_ENTRY</td><td>直方图</td><td>在日志中添加条目的请求延迟的直方图。</td></tr>
-<tr><td>bookie_journal_JOURNAL_SYNC</td><td>直方图</td><td>同步数据到日志磁盘的 fsync 延迟的直方图。</td></tr>
+<tr><td>bookie_journal_JOURNAL_ADD_ENTRY</td><td>总结</td><td>The summary of request latency of adding entries to the journal.</td></tr>
+<tr><td>bookie_journal_JOURNAL_SYNC</td><td>总结</td><td>The summary of fsync latency of syncing data to the journal disk.</td></tr>
 </tbody>
 </table>
 <h3><a class="anchor" aria-hidden="true" id="存储度量值"></a><a href="#存储度量值" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09 [...]
diff --git a/content/docs/zh-CN/2.6.2/reference-metrics/index.html b/content/docs/zh-CN/2.6.2/reference-metrics/index.html
index b3513a5..0b103d8 100644
--- a/content/docs/zh-CN/2.6.2/reference-metrics/index.html
+++ b/content/docs/zh-CN/2.6.2/reference-metrics/index.html
@@ -134,8 +134,8 @@
 <tr><td>bookkeeper_server_READ_ENTRY_count</td><td>计数器</td><td>The total number of READ_ENTRY requests received at the bookie. <code>success</code> 标签会被用于区分成功与失败。</td></tr>
 <tr><td>bookie_WRITE_BYTES</td><td>计数器</td><td>The total number of bytes written to the bookie.</td></tr>
 <tr><td>bookie_READ_BYTES</td><td>计数器</td><td>The total number of bytes read from the bookie.</td></tr>
-<tr><td>bookkeeper_server_ADD_ENTRY_REQUEST</td><td>直方图</td><td>The histogram of request latency of ADD_ENTRY requests at the bookie. <code>success</code> 标签会被用于区分成功与失败。</td></tr>
-<tr><td>bookkeeper_server_READ_ENTRY_REQUEST</td><td>直方图</td><td>The histogram of request latency of READ_ENTRY requests at the bookie. <code>success</code> 标签会被用于区分成功与失败。</td></tr>
+<tr><td>bookkeeper_server_ADD_ENTRY_REQUEST</td><td>总结</td><td>The summary of request latency of ADD_ENTRY requests at the bookie. <code>success</code> 标签会被用于区分成功与失败。</td></tr>
+<tr><td>bookkeeper_server_READ_ENTRY_REQUEST</td><td>总结</td><td>The summary of request latency of READ_ENTRY requests at the bookie. <code>success</code> 标签会被用于区分成功与失败。</td></tr>
 </tbody>
 </table>
 <h3><a class="anchor" aria-hidden="true" id="日志度量值"></a><a href="#日志度量值" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09 [...]
@@ -148,8 +148,8 @@
 <tr><td>bookie_journal_JOURNAL_QUEUE_SIZE</td><td>计量表</td><td>日志队列中待处理的请求总数。</td></tr>
 <tr><td>bookie_journal_JOURNAL_FORCE_WRITE_QUEUE_SIZE</td><td>计量表</td><td>在强制写入队列中等待的强制写入 (fsync) 请求总数。</td></tr>
 <tr><td>bookie_journal_JOURNAL_CB_QUEUE_SIZE</td><td>计量表</td><td>回调队列中待处理的回调总数。</td></tr>
-<tr><td>bookie_journal_JOURNAL_ADD_ENTRY</td><td>直方图</td><td>在日志中添加条目的请求延迟的直方图。</td></tr>
-<tr><td>bookie_journal_JOURNAL_SYNC</td><td>直方图</td><td>同步数据到日志磁盘的 fsync 延迟的直方图。</td></tr>
+<tr><td>bookie_journal_JOURNAL_ADD_ENTRY</td><td>总结</td><td>The summary of request latency of adding entries to the journal.</td></tr>
+<tr><td>bookie_journal_JOURNAL_SYNC</td><td>总结</td><td>The summary of fsync latency of syncing data to the journal disk.</td></tr>
 </tbody>
 </table>
 <h3><a class="anchor" aria-hidden="true" id="存储度量值"></a><a href="#存储度量值" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09 [...]
diff --git a/content/docs/zh-CN/2.6.3/client-libraries-java.html b/content/docs/zh-CN/2.6.3/client-libraries-java.html
index 7b62e1c..2fd118e 100644
--- a/content/docs/zh-CN/2.6.3/client-libraries-java.html
+++ b/content/docs/zh-CN/2.6.3/client-libraries-java.html
@@ -256,7 +256,7 @@ producer.closeAsync()
 <h3><a class="anchor" aria-hidden="true" id="configure-consumer"></a><a href="#configure-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- [...]
 <p>If you instantiate a <code>Consumer</code> object by specifying only a topic and subscription name as in the example above, the consumer uses the default configuration.</p>
 <p>When you create a consumer, you can use the <code>loadConf</code> configuration. The following parameters are available in <code>loadConf</code>.</p>
-<p>Type | Name| <div style="width:300px">Description</div>|  Default |---|---|---|--- Set&lt;String&gt;|  <code>topicNames</code>|   Topic name| Sets.newTreeSet() Pattern|   <code>topicsPattern</code>| Topic pattern   |None String| <code>subscriptionName</code>| Subscription name|  None SubscriptionType| <code>subscriptionType</code>|   Subscription type <br/><br/>Three subscription types are available:<li>Exclusive</li><li>Failover(灾备)</li><li>Shared(共享)</li>|SubscriptionType.Exclusive  [...]
+<p>Type | Name| <div style="width:300px">Description</div>|  Default |---|---|---|--- Set&lt;String&gt;|  <code>topicNames</code>|   Topic name| Sets.newTreeSet() Pattern|   <code>topicsPattern</code>| Topic pattern   |None String| <code>subscriptionName</code>| Subscription name|  None SubscriptionType| <code>subscriptionType</code>|   Subscription type <br/><br/>Four subscription types are available:<li>Exclusive</li><li>Failover(灾备)</li><li>Shared(共享)</li><li>Key_Shared</li>|Subscript [...]
 SortedMap&lt;String, String&gt;|<code>properties</code>|A name or value property of this consumer.<br/><br/><code>properties</code> is application defined metadata attached to a consumer. <br/><br/>When getting a topic stats, associate this metadata with the consumer stats for easier identification.|new TreeMap&lt;&gt;() boolean|<code>readCompacted</code>|If enabling <code>readCompacted</code>, a consumer reads messages from a compacted topic rather than reading a full message backlog of [...]
 <p>You can configure parameters if you do not want to use the default configuration. For a full list, see the Javadoc for the <a href="https://pulsar.incubator.apache.org/api/client/2.7.0-SNAPSHOT/org/apache/pulsar/client/api/ConsumerBuilder">ConsumerBuilder</a>
  class.</p>
diff --git a/content/docs/zh-CN/2.6.3/client-libraries-java/index.html b/content/docs/zh-CN/2.6.3/client-libraries-java/index.html
index 7b62e1c..2fd118e 100644
--- a/content/docs/zh-CN/2.6.3/client-libraries-java/index.html
+++ b/content/docs/zh-CN/2.6.3/client-libraries-java/index.html
@@ -256,7 +256,7 @@ producer.closeAsync()
 <h3><a class="anchor" aria-hidden="true" id="configure-consumer"></a><a href="#configure-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- [...]
 <p>If you instantiate a <code>Consumer</code> object by specifying only a topic and subscription name as in the example above, the consumer uses the default configuration.</p>
 <p>When you create a consumer, you can use the <code>loadConf</code> configuration. The following parameters are available in <code>loadConf</code>.</p>
-<p>Type | Name| <div style="width:300px">Description</div>|  Default |---|---|---|--- Set&lt;String&gt;|  <code>topicNames</code>|   Topic name| Sets.newTreeSet() Pattern|   <code>topicsPattern</code>| Topic pattern   |None String| <code>subscriptionName</code>| Subscription name|  None SubscriptionType| <code>subscriptionType</code>|   Subscription type <br/><br/>Three subscription types are available:<li>Exclusive</li><li>Failover(灾备)</li><li>Shared(共享)</li>|SubscriptionType.Exclusive  [...]
+<p>Type | Name| <div style="width:300px">Description</div>|  Default |---|---|---|--- Set&lt;String&gt;|  <code>topicNames</code>|   Topic name| Sets.newTreeSet() Pattern|   <code>topicsPattern</code>| Topic pattern   |None String| <code>subscriptionName</code>| Subscription name|  None SubscriptionType| <code>subscriptionType</code>|   Subscription type <br/><br/>Four subscription types are available:<li>Exclusive</li><li>Failover(灾备)</li><li>Shared(共享)</li><li>Key_Shared</li>|Subscript [...]
 SortedMap&lt;String, String&gt;|<code>properties</code>|A name or value property of this consumer.<br/><br/><code>properties</code> is application defined metadata attached to a consumer. <br/><br/>When getting a topic stats, associate this metadata with the consumer stats for easier identification.|new TreeMap&lt;&gt;() boolean|<code>readCompacted</code>|If enabling <code>readCompacted</code>, a consumer reads messages from a compacted topic rather than reading a full message backlog of [...]
 <p>You can configure parameters if you do not want to use the default configuration. For a full list, see the Javadoc for the <a href="https://pulsar.incubator.apache.org/api/client/2.7.0-SNAPSHOT/org/apache/pulsar/client/api/ConsumerBuilder">ConsumerBuilder</a>
  class.</p>
diff --git a/content/docs/zh-CN/2.6.3/client-libraries-node.html b/content/docs/zh-CN/2.6.3/client-libraries-node.html
index 76ace7c..24f76e8 100644
--- a/content/docs/zh-CN/2.6.3/client-libraries-node.html
+++ b/content/docs/zh-CN/2.6.3/client-libraries-node.html
@@ -266,7 +266,7 @@ In this example, using await operator instead of executor function.</p>
 <tbody>
 <tr><td style="text-align:left"><code>topic</code></td><td style="text-align:left">Consumer 创建订阅并监听消息的目标 Pulsar <a href="/docs/zh-CN/2.6.3/reference-terminology#topic">topic</a>。</td><td style="text-align:left"></td></tr>
 <tr><td style="text-align:left"><code>subscription</code></td><td style="text-align:left">Consumer 的订阅名称。</td><td style="text-align:left"></td></tr>
-<tr><td style="text-align:left"><code>subscriptionType</code></td><td style="text-align:left">可以设置为<code>独占</code>、<code>共享</code>或<code>灾备</code>。</td><td style="text-align:left"><code>Exclusive</code></td></tr>
+<tr><td style="text-align:left"><code>subscriptionType</code></td><td style="text-align:left">Available options are <code>Exclusive</code>, <code>Shared</code>, <code>Key_Shared</code>, and <code>Failover</code>.</td><td style="text-align:left"><code>Exclusive</code></td></tr>
 <tr><td style="text-align:left"><code>ackTimeoutMs</code></td><td style="text-align:left">消息确认的超时时间(以毫秒为单位)。</td><td style="text-align:left">0</td></tr>
 <tr><td style="text-align:left"><code>receiverQueueSize</code></td><td style="text-align:left">设置 consumer 接收队列的大小,即在应用程序调用 <code>receive</code> 之前允许堆积的消息数。 A value higher than the default of 1000 could increase consumer throughput, though at the expense of more memory utilization.</td><td style="text-align:left">1000</td></tr>
 <tr><td style="text-align:left"><code>receiverQueueSizeAcrossPartitions</code></td><td style="text-align:left">Set the max total receiver queue size across partitions. 当接收队列总数超过此值时,将减小每个分区接收队列的大小。</td><td style="text-align:left">50000</td></tr>
diff --git a/content/docs/zh-CN/2.6.3/client-libraries-node/index.html b/content/docs/zh-CN/2.6.3/client-libraries-node/index.html
index 76ace7c..24f76e8 100644
--- a/content/docs/zh-CN/2.6.3/client-libraries-node/index.html
+++ b/content/docs/zh-CN/2.6.3/client-libraries-node/index.html
@@ -266,7 +266,7 @@ In this example, using await operator instead of executor function.</p>
 <tbody>
 <tr><td style="text-align:left"><code>topic</code></td><td style="text-align:left">Consumer 创建订阅并监听消息的目标 Pulsar <a href="/docs/zh-CN/2.6.3/reference-terminology#topic">topic</a>。</td><td style="text-align:left"></td></tr>
 <tr><td style="text-align:left"><code>subscription</code></td><td style="text-align:left">Consumer 的订阅名称。</td><td style="text-align:left"></td></tr>
-<tr><td style="text-align:left"><code>subscriptionType</code></td><td style="text-align:left">可以设置为<code>独占</code>、<code>共享</code>或<code>灾备</code>。</td><td style="text-align:left"><code>Exclusive</code></td></tr>
+<tr><td style="text-align:left"><code>subscriptionType</code></td><td style="text-align:left">Available options are <code>Exclusive</code>, <code>Shared</code>, <code>Key_Shared</code>, and <code>Failover</code>.</td><td style="text-align:left"><code>Exclusive</code></td></tr>
 <tr><td style="text-align:left"><code>ackTimeoutMs</code></td><td style="text-align:left">消息确认的超时时间(以毫秒为单位)。</td><td style="text-align:left">0</td></tr>
 <tr><td style="text-align:left"><code>receiverQueueSize</code></td><td style="text-align:left">设置 consumer 接收队列的大小,即在应用程序调用 <code>receive</code> 之前允许堆积的消息数。 A value higher than the default of 1000 could increase consumer throughput, though at the expense of more memory utilization.</td><td style="text-align:left">1000</td></tr>
 <tr><td style="text-align:left"><code>receiverQueueSizeAcrossPartitions</code></td><td style="text-align:left">Set the max total receiver queue size across partitions. 当接收队列总数超过此值时,将减小每个分区接收队列的大小。</td><td style="text-align:left">50000</td></tr>
diff --git a/content/docs/zh-CN/2.6.3/client-libraries-websocket.html b/content/docs/zh-CN/2.6.3/client-libraries-websocket.html
index 62aa3db..34e9e27 100644
--- a/content/docs/zh-CN/2.6.3/client-libraries-websocket.html
+++ b/content/docs/zh-CN/2.6.3/client-libraries-websocket.html
@@ -184,7 +184,7 @@
 </thead>
 <tbody>
 <tr><td style="text-align:left"><code>ackTimeoutMillis</code></td><td style="text-align:left">long</td><td style="text-align:left">否</td><td style="text-align:left">设置未完成消息确认的超时时间(默认值:0)</td></tr>
-<tr><td style="text-align:left"><code>subscriptionType</code></td><td style="text-align:left">string</td><td style="text-align:left">否</td><td style="text-align:left"><a href="https://pulsar.apache.org/api/client/2.7.0-SNAPSHOT/index.html?org/apache/pulsar/client/api/SubscriptionType.html">订阅类型</a>:<code>独占</code>、<code>灾备</code>、<code>共享</code></td></tr>
+<tr><td style="text-align:left"><code>subscriptionType</code></td><td style="text-align:left">string</td><td style="text-align:left">否</td><td style="text-align:left"><a href="https://pulsar.apache.org/api/client/2.7.0-SNAPSHOT/index.html?org/apache/pulsar/client/api/SubscriptionType.html">Subscription type</a>: <code>Exclusive</code>, <code>Failover</code>, <code>Shared</code>, <code>Key_Shared</code></td></tr>
 <tr><td style="text-align:left"><code>receiverQueueSize</code></td><td style="text-align:left">int</td><td style="text-align:left">否</td><td style="text-align:left">Consumer 接收队列的大小(默认:1000)</td></tr>
 <tr><td style="text-align:left"><code>consumerName</code></td><td style="text-align:left">string</td><td style="text-align:left">否</td><td style="text-align:left">Consumer 的名称</td></tr>
 <tr><td style="text-align:left"><code>priorityLevel</code></td><td style="text-align:left">int</td><td style="text-align:left">否</td><td style="text-align:left">指定 consumer 的<a href="http://pulsar.apache.org/api/client/2.7.0-SNAPSHOT/org/apache/pulsar/client/api/ConsumerConfiguration.html#setPriorityLevel-int-">优先级</a></td></tr>
diff --git a/content/docs/zh-CN/2.6.3/client-libraries-websocket/index.html b/content/docs/zh-CN/2.6.3/client-libraries-websocket/index.html
index 62aa3db..34e9e27 100644
--- a/content/docs/zh-CN/2.6.3/client-libraries-websocket/index.html
+++ b/content/docs/zh-CN/2.6.3/client-libraries-websocket/index.html
@@ -184,7 +184,7 @@
 </thead>
 <tbody>
 <tr><td style="text-align:left"><code>ackTimeoutMillis</code></td><td style="text-align:left">long</td><td style="text-align:left">否</td><td style="text-align:left">设置未完成消息确认的超时时间(默认值:0)</td></tr>
-<tr><td style="text-align:left"><code>subscriptionType</code></td><td style="text-align:left">string</td><td style="text-align:left">否</td><td style="text-align:left"><a href="https://pulsar.apache.org/api/client/2.7.0-SNAPSHOT/index.html?org/apache/pulsar/client/api/SubscriptionType.html">订阅类型</a>:<code>独占</code>、<code>灾备</code>、<code>共享</code></td></tr>
+<tr><td style="text-align:left"><code>subscriptionType</code></td><td style="text-align:left">string</td><td style="text-align:left">否</td><td style="text-align:left"><a href="https://pulsar.apache.org/api/client/2.7.0-SNAPSHOT/index.html?org/apache/pulsar/client/api/SubscriptionType.html">Subscription type</a>: <code>Exclusive</code>, <code>Failover</code>, <code>Shared</code>, <code>Key_Shared</code></td></tr>
 <tr><td style="text-align:left"><code>receiverQueueSize</code></td><td style="text-align:left">int</td><td style="text-align:left">否</td><td style="text-align:left">Consumer 接收队列的大小(默认:1000)</td></tr>
 <tr><td style="text-align:left"><code>consumerName</code></td><td style="text-align:left">string</td><td style="text-align:left">否</td><td style="text-align:left">Consumer 的名称</td></tr>
 <tr><td style="text-align:left"><code>priorityLevel</code></td><td style="text-align:left">int</td><td style="text-align:left">否</td><td style="text-align:left">指定 consumer 的<a href="http://pulsar.apache.org/api/client/2.7.0-SNAPSHOT/org/apache/pulsar/client/api/ConsumerConfiguration.html#setPriorityLevel-int-">优先级</a></td></tr>
diff --git a/content/docs/zh-CN/2.6.3/reference-metrics.html b/content/docs/zh-CN/2.6.3/reference-metrics.html
index a2d3bdf..1170b29 100644
--- a/content/docs/zh-CN/2.6.3/reference-metrics.html
+++ b/content/docs/zh-CN/2.6.3/reference-metrics.html
@@ -134,8 +134,8 @@
 <tr><td>bookkeeper_server_READ_ENTRY_count</td><td>计数器</td><td>The total number of READ_ENTRY requests received at the bookie. <code>success</code> 标签会被用于区分成功与失败。</td></tr>
 <tr><td>bookie_WRITE_BYTES</td><td>计数器</td><td>The total number of bytes written to the bookie.</td></tr>
 <tr><td>bookie_READ_BYTES</td><td>计数器</td><td>The total number of bytes read from the bookie.</td></tr>
-<tr><td>bookkeeper_server_ADD_ENTRY_REQUEST</td><td>直方图</td><td>The histogram of request latency of ADD_ENTRY requests at the bookie. <code>success</code> 标签会被用于区分成功与失败。</td></tr>
-<tr><td>bookkeeper_server_READ_ENTRY_REQUEST</td><td>直方图</td><td>The histogram of request latency of READ_ENTRY requests at the bookie. <code>success</code> 标签会被用于区分成功与失败。</td></tr>
+<tr><td>bookkeeper_server_ADD_ENTRY_REQUEST</td><td>总结</td><td>The summary of request latency of ADD_ENTRY requests at the bookie. <code>success</code> 标签会被用于区分成功与失败。</td></tr>
+<tr><td>bookkeeper_server_READ_ENTRY_REQUEST</td><td>总结</td><td>The summary of request latency of READ_ENTRY requests at the bookie. <code>success</code> 标签会被用于区分成功与失败。</td></tr>
 </tbody>
 </table>
 <h3><a class="anchor" aria-hidden="true" id="日志度量值"></a><a href="#日志度量值" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09 [...]
@@ -148,8 +148,8 @@
 <tr><td>bookie_journal_JOURNAL_QUEUE_SIZE</td><td>计量表</td><td>日志队列中待处理的请求总数。</td></tr>
 <tr><td>bookie_journal_JOURNAL_FORCE_WRITE_QUEUE_SIZE</td><td>计量表</td><td>在强制写入队列中等待的强制写入 (fsync) 请求总数。</td></tr>
 <tr><td>bookie_journal_JOURNAL_CB_QUEUE_SIZE</td><td>计量表</td><td>回调队列中待处理的回调总数。</td></tr>
-<tr><td>bookie_journal_JOURNAL_ADD_ENTRY</td><td>直方图</td><td>在日志中添加条目的请求延迟的直方图。</td></tr>
-<tr><td>bookie_journal_JOURNAL_SYNC</td><td>直方图</td><td>同步数据到日志磁盘的 fsync 延迟的直方图。</td></tr>
+<tr><td>bookie_journal_JOURNAL_ADD_ENTRY</td><td>总结</td><td>The summary of request latency of adding entries to the journal.</td></tr>
+<tr><td>bookie_journal_JOURNAL_SYNC</td><td>总结</td><td>The summary of fsync latency of syncing data to the journal disk.</td></tr>
 </tbody>
 </table>
 <h3><a class="anchor" aria-hidden="true" id="存储度量值"></a><a href="#存储度量值" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09 [...]
diff --git a/content/docs/zh-CN/2.6.3/reference-metrics/index.html b/content/docs/zh-CN/2.6.3/reference-metrics/index.html
index a2d3bdf..1170b29 100644
--- a/content/docs/zh-CN/2.6.3/reference-metrics/index.html
+++ b/content/docs/zh-CN/2.6.3/reference-metrics/index.html
@@ -134,8 +134,8 @@
 <tr><td>bookkeeper_server_READ_ENTRY_count</td><td>计数器</td><td>The total number of READ_ENTRY requests received at the bookie. <code>success</code> 标签会被用于区分成功与失败。</td></tr>
 <tr><td>bookie_WRITE_BYTES</td><td>计数器</td><td>The total number of bytes written to the bookie.</td></tr>
 <tr><td>bookie_READ_BYTES</td><td>计数器</td><td>The total number of bytes read from the bookie.</td></tr>
-<tr><td>bookkeeper_server_ADD_ENTRY_REQUEST</td><td>直方图</td><td>The histogram of request latency of ADD_ENTRY requests at the bookie. <code>success</code> 标签会被用于区分成功与失败。</td></tr>
-<tr><td>bookkeeper_server_READ_ENTRY_REQUEST</td><td>直方图</td><td>The histogram of request latency of READ_ENTRY requests at the bookie. <code>success</code> 标签会被用于区分成功与失败。</td></tr>
+<tr><td>bookkeeper_server_ADD_ENTRY_REQUEST</td><td>总结</td><td>The summary of request latency of ADD_ENTRY requests at the bookie. <code>success</code> 标签会被用于区分成功与失败。</td></tr>
+<tr><td>bookkeeper_server_READ_ENTRY_REQUEST</td><td>总结</td><td>The summary of request latency of READ_ENTRY requests at the bookie. <code>success</code> 标签会被用于区分成功与失败。</td></tr>
 </tbody>
 </table>
 <h3><a class="anchor" aria-hidden="true" id="日志度量值"></a><a href="#日志度量值" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09 [...]
@@ -148,8 +148,8 @@
 <tr><td>bookie_journal_JOURNAL_QUEUE_SIZE</td><td>计量表</td><td>日志队列中待处理的请求总数。</td></tr>
 <tr><td>bookie_journal_JOURNAL_FORCE_WRITE_QUEUE_SIZE</td><td>计量表</td><td>在强制写入队列中等待的强制写入 (fsync) 请求总数。</td></tr>
 <tr><td>bookie_journal_JOURNAL_CB_QUEUE_SIZE</td><td>计量表</td><td>回调队列中待处理的回调总数。</td></tr>
-<tr><td>bookie_journal_JOURNAL_ADD_ENTRY</td><td>直方图</td><td>在日志中添加条目的请求延迟的直方图。</td></tr>
-<tr><td>bookie_journal_JOURNAL_SYNC</td><td>直方图</td><td>同步数据到日志磁盘的 fsync 延迟的直方图。</td></tr>
+<tr><td>bookie_journal_JOURNAL_ADD_ENTRY</td><td>总结</td><td>The summary of request latency of adding entries to the journal.</td></tr>
+<tr><td>bookie_journal_JOURNAL_SYNC</td><td>总结</td><td>The summary of fsync latency of syncing data to the journal disk.</td></tr>
 </tbody>
 </table>
 <h3><a class="anchor" aria-hidden="true" id="存储度量值"></a><a href="#存储度量值" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09 [...]
diff --git a/content/docs/zh-CN/client-libraries-java.html b/content/docs/zh-CN/client-libraries-java.html
index bdbea7a..e2e8df7 100644
--- a/content/docs/zh-CN/client-libraries-java.html
+++ b/content/docs/zh-CN/client-libraries-java.html
@@ -256,7 +256,7 @@ producer.closeAsync()
 <h3><a class="anchor" aria-hidden="true" id="configure-consumer"></a><a href="#configure-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- [...]
 <p>If you instantiate a <code>Consumer</code> object by specifying only a topic and subscription name as in the example above, the consumer uses the default configuration.</p>
 <p>When you create a consumer, you can use the <code>loadConf</code> configuration. The following parameters are available in <code>loadConf</code>.</p>
-<p>Type | Name| <div style="width:300px">Description</div>|  Default |---|---|---|--- Set&lt;String&gt;|  <code>topicNames</code>|   Topic name| Sets.newTreeSet() Pattern|   <code>topicsPattern</code>| Topic pattern   |None String| <code>subscriptionName</code>| Subscription name|  None SubscriptionType| <code>subscriptionType</code>|   Subscription type <br/><br/>Three subscription types are available:<li>Exclusive</li><li>Failover(灾备)</li><li>Shared(共享)</li>|SubscriptionType.Exclusive  [...]
+<p>Type | Name| <div style="width:300px">Description</div>|  Default |---|---|---|--- Set&lt;String&gt;|  <code>topicNames</code>|   Topic name| Sets.newTreeSet() Pattern|   <code>topicsPattern</code>| Topic pattern   |None String| <code>subscriptionName</code>| Subscription name|  None SubscriptionType| <code>subscriptionType</code>|   Subscription type <br/><br/>Four subscription types are available:<li>Exclusive</li><li>Failover(灾备)</li><li>Shared(共享)</li><li>Key_Shared</li>|Subscript [...]
 SortedMap&lt;String, String&gt;|<code>properties</code>|A name or value property of this consumer.<br/><br/><code>properties</code> is application defined metadata attached to a consumer. <br/><br/>When getting a topic stats, associate this metadata with the consumer stats for easier identification.|new TreeMap&lt;&gt;() boolean|<code>readCompacted</code>|If enabling <code>readCompacted</code>, a consumer reads messages from a compacted topic rather than reading a full message backlog of [...]
 <p>You can configure parameters if you do not want to use the default configuration. For a full list, see the Javadoc for the <a href="https://pulsar.incubator.apache.org/api/client/2.7.0-SNAPSHOT/org/apache/pulsar/client/api/ConsumerBuilder">ConsumerBuilder</a>
  class.</p>
diff --git a/content/docs/zh-CN/client-libraries-java/index.html b/content/docs/zh-CN/client-libraries-java/index.html
index bdbea7a..e2e8df7 100644
--- a/content/docs/zh-CN/client-libraries-java/index.html
+++ b/content/docs/zh-CN/client-libraries-java/index.html
@@ -256,7 +256,7 @@ producer.closeAsync()
 <h3><a class="anchor" aria-hidden="true" id="configure-consumer"></a><a href="#configure-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- [...]
 <p>If you instantiate a <code>Consumer</code> object by specifying only a topic and subscription name as in the example above, the consumer uses the default configuration.</p>
 <p>When you create a consumer, you can use the <code>loadConf</code> configuration. The following parameters are available in <code>loadConf</code>.</p>
-<p>Type | Name| <div style="width:300px">Description</div>|  Default |---|---|---|--- Set&lt;String&gt;|  <code>topicNames</code>|   Topic name| Sets.newTreeSet() Pattern|   <code>topicsPattern</code>| Topic pattern   |None String| <code>subscriptionName</code>| Subscription name|  None SubscriptionType| <code>subscriptionType</code>|   Subscription type <br/><br/>Three subscription types are available:<li>Exclusive</li><li>Failover(灾备)</li><li>Shared(共享)</li>|SubscriptionType.Exclusive  [...]
+<p>Type | Name| <div style="width:300px">Description</div>|  Default |---|---|---|--- Set&lt;String&gt;|  <code>topicNames</code>|   Topic name| Sets.newTreeSet() Pattern|   <code>topicsPattern</code>| Topic pattern   |None String| <code>subscriptionName</code>| Subscription name|  None SubscriptionType| <code>subscriptionType</code>|   Subscription type <br/><br/>Four subscription types are available:<li>Exclusive</li><li>Failover(灾备)</li><li>Shared(共享)</li><li>Key_Shared</li>|Subscript [...]
 SortedMap&lt;String, String&gt;|<code>properties</code>|A name or value property of this consumer.<br/><br/><code>properties</code> is application defined metadata attached to a consumer. <br/><br/>When getting a topic stats, associate this metadata with the consumer stats for easier identification.|new TreeMap&lt;&gt;() boolean|<code>readCompacted</code>|If enabling <code>readCompacted</code>, a consumer reads messages from a compacted topic rather than reading a full message backlog of [...]
 <p>You can configure parameters if you do not want to use the default configuration. For a full list, see the Javadoc for the <a href="https://pulsar.incubator.apache.org/api/client/2.7.0-SNAPSHOT/org/apache/pulsar/client/api/ConsumerBuilder">ConsumerBuilder</a>
  class.</p>
diff --git a/content/docs/zh-CN/client-libraries-node.html b/content/docs/zh-CN/client-libraries-node.html
index 3d9a330..089e748 100644
--- a/content/docs/zh-CN/client-libraries-node.html
+++ b/content/docs/zh-CN/client-libraries-node.html
@@ -271,7 +271,7 @@ In this example, using await operator instead of executor function.</p>
 <tbody>
 <tr><td style="text-align:left"><code>topic</code></td><td style="text-align:left">Consumer 创建订阅并监听消息的目标 Pulsar <a href="/docs/zh-CN/reference-terminology#topic">topic</a>。</td><td style="text-align:left"></td></tr>
 <tr><td style="text-align:left"><code>subscription</code></td><td style="text-align:left">Consumer 的订阅名称。</td><td style="text-align:left"></td></tr>
-<tr><td style="text-align:left"><code>subscriptionType</code></td><td style="text-align:left">可以设置为<code>独占</code>、<code>共享</code>或<code>灾备</code>。</td><td style="text-align:left"><code>Exclusive</code></td></tr>
+<tr><td style="text-align:left"><code>subscriptionType</code></td><td style="text-align:left">Available options are <code>Exclusive</code>, <code>Shared</code>, <code>Key_Shared</code>, and <code>Failover</code>.</td><td style="text-align:left"><code>Exclusive</code></td></tr>
 <tr><td style="text-align:left"><code>subscriptionInitialPosition</code></td><td style="text-align:left">Initial position at which to set cursor when subscribing to a topic at first time.</td><td style="text-align:left"><code>SubscriptionInitialPosition.Latest</code></td></tr>
 <tr><td style="text-align:left"><code>ackTimeoutMs</code></td><td style="text-align:left">消息确认的超时时间(以毫秒为单位)。</td><td style="text-align:left">0</td></tr>
 <tr><td style="text-align:left"><code>nAckRedeliverTimeoutMs</code></td><td style="text-align:left">Delay to wait before redelivering messages that failed to be processed.</td><td style="text-align:left">60000</td></tr>
diff --git a/content/docs/zh-CN/client-libraries-node/index.html b/content/docs/zh-CN/client-libraries-node/index.html
index 3d9a330..089e748 100644
--- a/content/docs/zh-CN/client-libraries-node/index.html
+++ b/content/docs/zh-CN/client-libraries-node/index.html
@@ -271,7 +271,7 @@ In this example, using await operator instead of executor function.</p>
 <tbody>
 <tr><td style="text-align:left"><code>topic</code></td><td style="text-align:left">Consumer 创建订阅并监听消息的目标 Pulsar <a href="/docs/zh-CN/reference-terminology#topic">topic</a>。</td><td style="text-align:left"></td></tr>
 <tr><td style="text-align:left"><code>subscription</code></td><td style="text-align:left">Consumer 的订阅名称。</td><td style="text-align:left"></td></tr>
-<tr><td style="text-align:left"><code>subscriptionType</code></td><td style="text-align:left">可以设置为<code>独占</code>、<code>共享</code>或<code>灾备</code>。</td><td style="text-align:left"><code>Exclusive</code></td></tr>
+<tr><td style="text-align:left"><code>subscriptionType</code></td><td style="text-align:left">Available options are <code>Exclusive</code>, <code>Shared</code>, <code>Key_Shared</code>, and <code>Failover</code>.</td><td style="text-align:left"><code>Exclusive</code></td></tr>
 <tr><td style="text-align:left"><code>subscriptionInitialPosition</code></td><td style="text-align:left">Initial position at which to set cursor when subscribing to a topic at first time.</td><td style="text-align:left"><code>SubscriptionInitialPosition.Latest</code></td></tr>
 <tr><td style="text-align:left"><code>ackTimeoutMs</code></td><td style="text-align:left">消息确认的超时时间(以毫秒为单位)。</td><td style="text-align:left">0</td></tr>
 <tr><td style="text-align:left"><code>nAckRedeliverTimeoutMs</code></td><td style="text-align:left">Delay to wait before redelivering messages that failed to be processed.</td><td style="text-align:left">60000</td></tr>
diff --git a/content/docs/zh-CN/client-libraries-websocket.html b/content/docs/zh-CN/client-libraries-websocket.html
index 3214773..d485961 100644
--- a/content/docs/zh-CN/client-libraries-websocket.html
+++ b/content/docs/zh-CN/client-libraries-websocket.html
@@ -184,7 +184,7 @@
 </thead>
 <tbody>
 <tr><td style="text-align:left"><code>ackTimeoutMillis</code></td><td style="text-align:left">long</td><td style="text-align:left">否</td><td style="text-align:left">设置未完成消息确认的超时时间(默认值:0)</td></tr>
-<tr><td style="text-align:left"><code>subscriptionType</code></td><td style="text-align:left">string</td><td style="text-align:left">否</td><td style="text-align:left"><a href="https://pulsar.apache.org/api/client/2.7.0-SNAPSHOT/index.html?org/apache/pulsar/client/api/SubscriptionType.html">订阅类型</a>:<code>独占</code>、<code>灾备</code>、<code>共享</code></td></tr>
+<tr><td style="text-align:left"><code>subscriptionType</code></td><td style="text-align:left">string</td><td style="text-align:left">否</td><td style="text-align:left"><a href="https://pulsar.apache.org/api/client/2.7.0-SNAPSHOT/index.html?org/apache/pulsar/client/api/SubscriptionType.html">Subscription type</a>: <code>Exclusive</code>, <code>Failover</code>, <code>Shared</code>, <code>Key_Shared</code></td></tr>
 <tr><td style="text-align:left"><code>receiverQueueSize</code></td><td style="text-align:left">int</td><td style="text-align:left">否</td><td style="text-align:left">Consumer 接收队列的大小(默认:1000)</td></tr>
 <tr><td style="text-align:left"><code>consumerName</code></td><td style="text-align:left">string</td><td style="text-align:left">否</td><td style="text-align:left">Consumer 的名称</td></tr>
 <tr><td style="text-align:left"><code>priorityLevel</code></td><td style="text-align:left">int</td><td style="text-align:left">否</td><td style="text-align:left">指定 consumer 的<a href="http://pulsar.apache.org/api/client/2.7.0-SNAPSHOT/org/apache/pulsar/client/api/ConsumerConfiguration.html#setPriorityLevel-int-">优先级</a></td></tr>
diff --git a/content/docs/zh-CN/client-libraries-websocket/index.html b/content/docs/zh-CN/client-libraries-websocket/index.html
index 3214773..d485961 100644
--- a/content/docs/zh-CN/client-libraries-websocket/index.html
+++ b/content/docs/zh-CN/client-libraries-websocket/index.html
@@ -184,7 +184,7 @@
 </thead>
 <tbody>
 <tr><td style="text-align:left"><code>ackTimeoutMillis</code></td><td style="text-align:left">long</td><td style="text-align:left">否</td><td style="text-align:left">设置未完成消息确认的超时时间(默认值:0)</td></tr>
-<tr><td style="text-align:left"><code>subscriptionType</code></td><td style="text-align:left">string</td><td style="text-align:left">否</td><td style="text-align:left"><a href="https://pulsar.apache.org/api/client/2.7.0-SNAPSHOT/index.html?org/apache/pulsar/client/api/SubscriptionType.html">订阅类型</a>:<code>独占</code>、<code>灾备</code>、<code>共享</code></td></tr>
+<tr><td style="text-align:left"><code>subscriptionType</code></td><td style="text-align:left">string</td><td style="text-align:left">否</td><td style="text-align:left"><a href="https://pulsar.apache.org/api/client/2.7.0-SNAPSHOT/index.html?org/apache/pulsar/client/api/SubscriptionType.html">Subscription type</a>: <code>Exclusive</code>, <code>Failover</code>, <code>Shared</code>, <code>Key_Shared</code></td></tr>
 <tr><td style="text-align:left"><code>receiverQueueSize</code></td><td style="text-align:left">int</td><td style="text-align:left">否</td><td style="text-align:left">Consumer 接收队列的大小(默认:1000)</td></tr>
 <tr><td style="text-align:left"><code>consumerName</code></td><td style="text-align:left">string</td><td style="text-align:left">否</td><td style="text-align:left">Consumer 的名称</td></tr>
 <tr><td style="text-align:left"><code>priorityLevel</code></td><td style="text-align:left">int</td><td style="text-align:left">否</td><td style="text-align:left">指定 consumer 的<a href="http://pulsar.apache.org/api/client/2.7.0-SNAPSHOT/org/apache/pulsar/client/api/ConsumerConfiguration.html#setPriorityLevel-int-">优先级</a></td></tr>
diff --git a/content/docs/zh-CN/next/adaptors-kafka.html b/content/docs/zh-CN/next/adaptors-kafka.html
index 98d6762..837def0 100644
--- a/content/docs/zh-CN/next/adaptors-kafka.html
+++ b/content/docs/zh-CN/next/adaptors-kafka.html
@@ -146,10 +146,10 @@ consumer.subscribe(Arrays.asList(topic));
 }
 </code></pre>
 <h2><a class="anchor" aria-hidden="true" id="完整例子"></a><a href="#完整例子" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6 [...]
-<p><a href="https://github.com/apache/pulsar/tree/master/pulsar-client-kafka-compat/pulsar-client-kafka-tests/src/test/java/org/apache/pulsar/client/kafka/compat/examples">点击这里</a>查看完整的生产者和消费者示例</p>
+<p>You can find the complete producer and consumer examples <a href="https://github.com/apache/pulsar-adapters/tree/master/pulsar-client-kafka-compat/pulsar-client-kafka-tests/src/test/java/org/apache/pulsar/client/kafka/compat/examples">here</a>.</p>
 <h2><a class="anchor" aria-hidden="true" id="兼容性列表"></a><a href="#兼容性列表" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09 [...]
 <p>目前,Pulsar Kafka 包装器支持 Kafka API 提供的大多数操作。</p>
-<h4><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 [...]
+<h3><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 [...]
 <p>APIs:</p>
 <table>
 <thead>
@@ -198,7 +198,7 @@ consumer.subscribe(Arrays.asList(topic));
 <tr><td style="text-align:left"><code>value.serializer</code></td><td style="text-align:left">Yes</td><td style="text-align:left"></td></tr>
 </tbody>
 </table>
-<h4><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 [...]
+<h3><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 [...]
 <p>下述表格列出了consumer 接口</p>
 <table>
 <thead>
@@ -316,7 +316,7 @@ consumer.subscribe(Arrays.asList(topic));
 <tr><td style="text-align:left"><a href="http://pulsar.apache.org/api/client/2.7.0-SNAPSHOT/org/apache/pulsar/client/api/ConsumerBuilder.html#subscriptionTopicsMode-Mode-"><code>pulsar.consumer.subscription.topics.mode</code></a></td><td style="text-align:left">PersistentOnly</td><td style="text-align:left">Set the subscription topic mode for consumers.</td></tr>
 </tbody>
 </table>
-</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/zh-CN/next/admin-api-packages"><span class="arrow-prev">← </span><span>Packages</span></a><a class="docs-next button" href="/docs/zh-CN/next/adaptors-spark"><span>Apache Spark</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#使用-pulsar-kafka-兼容包装器">使用 Pulsar Kafka 兼容包装器</a></li><li><a href="#使用-pulsar-kafka-兼容包装器和现有-kafk [...]
+</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/zh-CN/next/admin-api-packages"><span class="arrow-prev">← </span><span>Packages</span></a><a class="docs-next button" href="/docs/zh-CN/next/adaptors-spark"><span>Apache Spark</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#使用-pulsar-kafka-兼容包装器">使用 Pulsar Kafka 兼容包装器</a></li><li><a href="#使用-pulsar-kafka-兼容包装器和现有-kafk [...]
       const community = document.querySelector("a[href='#community']").parentNode;
       const communityMenu =
         '<li>' +
diff --git a/content/docs/zh-CN/next/adaptors-kafka/index.html b/content/docs/zh-CN/next/adaptors-kafka/index.html
index 98d6762..837def0 100644
--- a/content/docs/zh-CN/next/adaptors-kafka/index.html
+++ b/content/docs/zh-CN/next/adaptors-kafka/index.html
@@ -146,10 +146,10 @@ consumer.subscribe(Arrays.asList(topic));
 }
 </code></pre>
 <h2><a class="anchor" aria-hidden="true" id="完整例子"></a><a href="#完整例子" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6 [...]
-<p><a href="https://github.com/apache/pulsar/tree/master/pulsar-client-kafka-compat/pulsar-client-kafka-tests/src/test/java/org/apache/pulsar/client/kafka/compat/examples">点击这里</a>查看完整的生产者和消费者示例</p>
+<p>You can find the complete producer and consumer examples <a href="https://github.com/apache/pulsar-adapters/tree/master/pulsar-client-kafka-compat/pulsar-client-kafka-tests/src/test/java/org/apache/pulsar/client/kafka/compat/examples">here</a>.</p>
 <h2><a class="anchor" aria-hidden="true" id="兼容性列表"></a><a href="#兼容性列表" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09 [...]
 <p>目前,Pulsar Kafka 包装器支持 Kafka API 提供的大多数操作。</p>
-<h4><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 [...]
+<h3><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 [...]
 <p>APIs:</p>
 <table>
 <thead>
@@ -198,7 +198,7 @@ consumer.subscribe(Arrays.asList(topic));
 <tr><td style="text-align:left"><code>value.serializer</code></td><td style="text-align:left">Yes</td><td style="text-align:left"></td></tr>
 </tbody>
 </table>
-<h4><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 [...]
+<h3><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 [...]
 <p>下述表格列出了consumer 接口</p>
 <table>
 <thead>
@@ -316,7 +316,7 @@ consumer.subscribe(Arrays.asList(topic));
 <tr><td style="text-align:left"><a href="http://pulsar.apache.org/api/client/2.7.0-SNAPSHOT/org/apache/pulsar/client/api/ConsumerBuilder.html#subscriptionTopicsMode-Mode-"><code>pulsar.consumer.subscription.topics.mode</code></a></td><td style="text-align:left">PersistentOnly</td><td style="text-align:left">Set the subscription topic mode for consumers.</td></tr>
 </tbody>
 </table>
-</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/zh-CN/next/admin-api-packages"><span class="arrow-prev">← </span><span>Packages</span></a><a class="docs-next button" href="/docs/zh-CN/next/adaptors-spark"><span>Apache Spark</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#使用-pulsar-kafka-兼容包装器">使用 Pulsar Kafka 兼容包装器</a></li><li><a href="#使用-pulsar-kafka-兼容包装器和现有-kafk [...]
+</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/zh-CN/next/admin-api-packages"><span class="arrow-prev">← </span><span>Packages</span></a><a class="docs-next button" href="/docs/zh-CN/next/adaptors-spark"><span>Apache Spark</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#使用-pulsar-kafka-兼容包装器">使用 Pulsar Kafka 兼容包装器</a></li><li><a href="#使用-pulsar-kafka-兼容包装器和现有-kafk [...]
       const community = document.querySelector("a[href='#community']").parentNode;
       const communityMenu =
         '<li>' +
diff --git a/content/docs/zh-CN/next/adaptors-spark.html b/content/docs/zh-CN/next/adaptors-spark.html
index ec6921a..b80f9aa 100644
--- a/content/docs/zh-CN/next/adaptors-spark.html
+++ b/content/docs/zh-CN/next/adaptors-spark.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="zh-CN"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Plusar 对 Apache Spark 的适配 · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Pulsar的Spark Streaming receiver经过专门的定制,使 Apache [Spark Streaming](https://spark.apache.org/streaming/) 能够从Pulsar接收数据."/><meta name="docsearch:version" content="next"/><meta name="docsearch [...]
+<!DOCTYPE html><html lang="zh-CN"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Plusar 对 Apache Spark 的适配 · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="## Spark structured streaming connector"/><meta name="docsearch:version" content="next"/><meta name="docsearch:language" content="zh-CN"/><meta property="og:title" content="Plusar 对 Apache [...]
               (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
               (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
               m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
@@ -75,11 +75,14 @@
                 };
               }
             });
-        </script></nav></div><div class="container mainContainer docsContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://crowdin.com/project/apache-pulsar/zh-CN" target="_blank" rel="noreferrer noopener">Translate</a><h1 id="__docusaurus" class="postHeaderTitle">Plusar 对 Apache Spark 的适配</h1></header><article><div><span><p>Pulsar的Spark Streaming receiver经过专门的定制,使 Apache <a href="https://spark.apache.org/streaming/">S [...]
+        </script></nav></div><div class="container mainContainer docsContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://crowdin.com/project/apache-pulsar/zh-CN" target="_blank" rel="noreferrer noopener">Translate</a><h1 id="__docusaurus" class="postHeaderTitle">Plusar 对 Apache Spark 的适配</h1></header><article><div><span><h2><a class="anchor" aria-hidden="true" id="spark-structured-streaming-connector"></a><a href="#s [...]
+<p>Pulsar Spark Connector is an integration of Apache Pulsar and Apache Spark (data processing engine), which allows Spark reading data from Pulsar and writing data to Pulsar using Spark structured streaming and Spark SQL and provides exactly-once source semantics and at-least-once sink semantics. For details, refer to <a href="https://hub.streamnative.io/">Pulsar Spark Connector in StreamNative Hub</a>.</p>
+<h2><a class="anchor" aria-hidden="true" id="spark-streaming-connector"></a><a href="#spark-streaming-connector" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>Pulsar的Spark Streaming receiver经过专门的定制,使 Apache <a href="https://spark.apache.org/streaming/">Spark Streaming</a> 能够从Pulsar接收数据.</p>
 <p>应用程序可以通过 Spark Streaming Pulsar receiver 接收 <a href="https://spark.apache.org/docs/latest/programming-guide.html#resilient-distributed-datasets-rdds">Resilient Distributed Dataset</a> (RDD) 格式的数据,并可以通过多种方式对其进行处理.</p>
-<h2><a class="anchor" aria-hidden="true" id="先决条件"></a><a href="#先决条件" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6 [...]
+<h3><a class="anchor" aria-hidden="true" id="先决条件"></a><a href="#先决条件" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6 [...]
 <p>若要使用 receiver,请在 java 配置中包含 <code>pulsar-spark</code> 库的依赖。</p>
-<h3><a class="anchor" aria-hidden="true" id="maven"></a><a href="#maven" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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 [...]
+<h4><a class="anchor" aria-hidden="true" id="maven"></a><a href="#maven" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>如果你使用maven,添加以下内容到你的 <code>pom.xml</code> 中:</p>
 <pre><code class="hljs css language-xml"><span class="hljs-comment">&lt;!-- 在你的 &lt;properties&gt; 部分--&gt;</span>
 <span class="hljs-tag">&lt;<span class="hljs-name">pulsar.version</span>&gt;</span>2.7.0<span class="hljs-tag">&lt;/<span class="hljs-name">pulsar.version</span>&gt;</span>
@@ -91,7 +94,7 @@
   <span class="hljs-tag">&lt;<span class="hljs-name">version</span>&gt;</span>${pulsar.version}<span class="hljs-tag">&lt;/<span class="hljs-name">version</span>&gt;</span>
 <span class="hljs-tag">&lt;/<span class="hljs-name">dependency</span>&gt;</span>
 </code></pre>
-<h3><a class="anchor" aria-hidden="true" id="gradle"></a><a href="#gradle" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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="gradle"></a><a href="#gradle" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>如果你使用Gradle,添加以下内容到你的 <code>build.gradle</code> 中:</p>
 <pre><code class="hljs css language-groovy"><span class="hljs-keyword">def</span> pulsarVersion = <span class="hljs-string">"2.7.0"</span>
 
@@ -99,7 +102,7 @@ dependencies {
     compile <span class="hljs-string">group:</span> <span class="hljs-string">'org.apache.pulsar'</span>, <span class="hljs-string">name:</span> <span class="hljs-string">'pulsar-spark'</span>, <span class="hljs-string">version:</span> pulsarVersion
 }
 </code></pre>
-<h2><a class="anchor" aria-hidden="true" id="用法"></a><a href="#用法" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c [...]
+<h3><a class="anchor" aria-hidden="true" id="用法"></a><a href="#用法" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c [...]
 <p>把一个 <code>SparkStreamingPulsarReceiver</code> 实例,传入 <code>JavaStreamingContext</code>的<code>receiverStream</code>方法中作为的参数:</p>
 <pre><code class="hljs css language-java">    String serviceUrl = <span class="hljs-string">"pulsar://localhost:6650/"</span>;
     String topic = <span class="hljs-string">"persistent://public/default/test_src"</span>;
@@ -124,7 +127,7 @@ dependencies {
     JavaReceiverInputDStream&lt;<span class="hljs-keyword">byte</span>[]&gt; lineDStream = jsc.receiverStream(pulsarReceiver);
 </code></pre>
 <p>For a complete example, click <a href="https://github.com/apache/pulsar-adapters/blob/master/examples/spark/src/main/java/org/apache/spark/streaming/receiver/example/SparkStreamingPulsarReceiverExample.java">here</a>. In this example, the number of messages that contain the string &quot;Pulsar&quot; in received messages is counted.</p>
-</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/zh-CN/next/adaptors-kafka"><span class="arrow-prev">← </span><span>Kafka 客户端封装</span></a><a class="docs-next button" href="/docs/zh-CN/next/adaptors-storm"><span>Apache Storm</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#先决条件">先决条件</a><ul class="toc-headings"><li><a href="#maven">Maven</a></li><li><a href="#gradle">G [...]
+</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/zh-CN/next/adaptors-kafka"><span class="arrow-prev">← </span><span>Kafka 客户端封装</span></a><a class="docs-next button" href="/docs/zh-CN/next/adaptors-storm"><span>Apache Storm</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#spark-structured-streaming-connector">Spark structured streaming connector</a></li><li><a href="# [...]
       const community = document.querySelector("a[href='#community']").parentNode;
       const communityMenu =
         '<li>' +
diff --git a/content/docs/zh-CN/next/adaptors-spark/index.html b/content/docs/zh-CN/next/adaptors-spark/index.html
index ec6921a..b80f9aa 100644
--- a/content/docs/zh-CN/next/adaptors-spark/index.html
+++ b/content/docs/zh-CN/next/adaptors-spark/index.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="zh-CN"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Plusar 对 Apache Spark 的适配 · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Pulsar的Spark Streaming receiver经过专门的定制,使 Apache [Spark Streaming](https://spark.apache.org/streaming/) 能够从Pulsar接收数据."/><meta name="docsearch:version" content="next"/><meta name="docsearch [...]
+<!DOCTYPE html><html lang="zh-CN"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Plusar 对 Apache Spark 的适配 · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="## Spark structured streaming connector"/><meta name="docsearch:version" content="next"/><meta name="docsearch:language" content="zh-CN"/><meta property="og:title" content="Plusar 对 Apache [...]
               (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
               (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
               m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
@@ -75,11 +75,14 @@
                 };
               }
             });
-        </script></nav></div><div class="container mainContainer docsContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://crowdin.com/project/apache-pulsar/zh-CN" target="_blank" rel="noreferrer noopener">Translate</a><h1 id="__docusaurus" class="postHeaderTitle">Plusar 对 Apache Spark 的适配</h1></header><article><div><span><p>Pulsar的Spark Streaming receiver经过专门的定制,使 Apache <a href="https://spark.apache.org/streaming/">S [...]
+        </script></nav></div><div class="container mainContainer docsContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://crowdin.com/project/apache-pulsar/zh-CN" target="_blank" rel="noreferrer noopener">Translate</a><h1 id="__docusaurus" class="postHeaderTitle">Plusar 对 Apache Spark 的适配</h1></header><article><div><span><h2><a class="anchor" aria-hidden="true" id="spark-structured-streaming-connector"></a><a href="#s [...]
+<p>Pulsar Spark Connector is an integration of Apache Pulsar and Apache Spark (data processing engine), which allows Spark reading data from Pulsar and writing data to Pulsar using Spark structured streaming and Spark SQL and provides exactly-once source semantics and at-least-once sink semantics. For details, refer to <a href="https://hub.streamnative.io/">Pulsar Spark Connector in StreamNative Hub</a>.</p>
+<h2><a class="anchor" aria-hidden="true" id="spark-streaming-connector"></a><a href="#spark-streaming-connector" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>Pulsar的Spark Streaming receiver经过专门的定制,使 Apache <a href="https://spark.apache.org/streaming/">Spark Streaming</a> 能够从Pulsar接收数据.</p>
 <p>应用程序可以通过 Spark Streaming Pulsar receiver 接收 <a href="https://spark.apache.org/docs/latest/programming-guide.html#resilient-distributed-datasets-rdds">Resilient Distributed Dataset</a> (RDD) 格式的数据,并可以通过多种方式对其进行处理.</p>
-<h2><a class="anchor" aria-hidden="true" id="先决条件"></a><a href="#先决条件" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6 [...]
+<h3><a class="anchor" aria-hidden="true" id="先决条件"></a><a href="#先决条件" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6 [...]
 <p>若要使用 receiver,请在 java 配置中包含 <code>pulsar-spark</code> 库的依赖。</p>
-<h3><a class="anchor" aria-hidden="true" id="maven"></a><a href="#maven" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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 [...]
+<h4><a class="anchor" aria-hidden="true" id="maven"></a><a href="#maven" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>如果你使用maven,添加以下内容到你的 <code>pom.xml</code> 中:</p>
 <pre><code class="hljs css language-xml"><span class="hljs-comment">&lt;!-- 在你的 &lt;properties&gt; 部分--&gt;</span>
 <span class="hljs-tag">&lt;<span class="hljs-name">pulsar.version</span>&gt;</span>2.7.0<span class="hljs-tag">&lt;/<span class="hljs-name">pulsar.version</span>&gt;</span>
@@ -91,7 +94,7 @@
   <span class="hljs-tag">&lt;<span class="hljs-name">version</span>&gt;</span>${pulsar.version}<span class="hljs-tag">&lt;/<span class="hljs-name">version</span>&gt;</span>
 <span class="hljs-tag">&lt;/<span class="hljs-name">dependency</span>&gt;</span>
 </code></pre>
-<h3><a class="anchor" aria-hidden="true" id="gradle"></a><a href="#gradle" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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="gradle"></a><a href="#gradle" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>如果你使用Gradle,添加以下内容到你的 <code>build.gradle</code> 中:</p>
 <pre><code class="hljs css language-groovy"><span class="hljs-keyword">def</span> pulsarVersion = <span class="hljs-string">"2.7.0"</span>
 
@@ -99,7 +102,7 @@ dependencies {
     compile <span class="hljs-string">group:</span> <span class="hljs-string">'org.apache.pulsar'</span>, <span class="hljs-string">name:</span> <span class="hljs-string">'pulsar-spark'</span>, <span class="hljs-string">version:</span> pulsarVersion
 }
 </code></pre>
-<h2><a class="anchor" aria-hidden="true" id="用法"></a><a href="#用法" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c [...]
+<h3><a class="anchor" aria-hidden="true" id="用法"></a><a href="#用法" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c [...]
 <p>把一个 <code>SparkStreamingPulsarReceiver</code> 实例,传入 <code>JavaStreamingContext</code>的<code>receiverStream</code>方法中作为的参数:</p>
 <pre><code class="hljs css language-java">    String serviceUrl = <span class="hljs-string">"pulsar://localhost:6650/"</span>;
     String topic = <span class="hljs-string">"persistent://public/default/test_src"</span>;
@@ -124,7 +127,7 @@ dependencies {
     JavaReceiverInputDStream&lt;<span class="hljs-keyword">byte</span>[]&gt; lineDStream = jsc.receiverStream(pulsarReceiver);
 </code></pre>
 <p>For a complete example, click <a href="https://github.com/apache/pulsar-adapters/blob/master/examples/spark/src/main/java/org/apache/spark/streaming/receiver/example/SparkStreamingPulsarReceiverExample.java">here</a>. In this example, the number of messages that contain the string &quot;Pulsar&quot; in received messages is counted.</p>
-</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/zh-CN/next/adaptors-kafka"><span class="arrow-prev">← </span><span>Kafka 客户端封装</span></a><a class="docs-next button" href="/docs/zh-CN/next/adaptors-storm"><span>Apache Storm</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#先决条件">先决条件</a><ul class="toc-headings"><li><a href="#maven">Maven</a></li><li><a href="#gradle">G [...]
+</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/zh-CN/next/adaptors-kafka"><span class="arrow-prev">← </span><span>Kafka 客户端封装</span></a><a class="docs-next button" href="/docs/zh-CN/next/adaptors-storm"><span>Apache Storm</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#spark-structured-streaming-connector">Spark structured streaming connector</a></li><li><a href="# [...]
       const community = document.querySelector("a[href='#community']").parentNode;
       const communityMenu =
         '<li>' +
diff --git a/content/docs/zh-CN/next/client-libraries-java.html b/content/docs/zh-CN/next/client-libraries-java.html
index e495b89..2a10ec8 100644
--- a/content/docs/zh-CN/next/client-libraries-java.html
+++ b/content/docs/zh-CN/next/client-libraries-java.html
@@ -322,11 +322,12 @@ You can configure parameters if you do not want to use the default configuration
   &lt;/div&gt;
   | Default |\---|\---|\---|\--- Set&lt;String&gt;| `topicNames`| Topic name| Sets.newTreeSet() Pattern| `topicsPattern`| Topic pattern |None String| `subscriptionName`| Subscription name| None SubscriptionType| `subscriptionType`| Subscription type   
     
-  Three subscription types are available:
+  Four subscription types are available:
   
   * Exclusive
   * Failover(灾备)
-  * Shared(共享)|SubscriptionType.Exclusive int | 
+  * Shared(共享)
+  * Key_Shared|SubscriptionType.Exclusive int | 
   `receiverQueueSize` | Size of a consumer's receiver queue.   
     
   For example, the number of messages accumulated by a consumer before an application calls `Receive`.   
diff --git a/content/docs/zh-CN/next/client-libraries-java/index.html b/content/docs/zh-CN/next/client-libraries-java/index.html
index e495b89..2a10ec8 100644
--- a/content/docs/zh-CN/next/client-libraries-java/index.html
+++ b/content/docs/zh-CN/next/client-libraries-java/index.html
@@ -322,11 +322,12 @@ You can configure parameters if you do not want to use the default configuration
   &lt;/div&gt;
   | Default |\---|\---|\---|\--- Set&lt;String&gt;| `topicNames`| Topic name| Sets.newTreeSet() Pattern| `topicsPattern`| Topic pattern |None String| `subscriptionName`| Subscription name| None SubscriptionType| `subscriptionType`| Subscription type   
     
-  Three subscription types are available:
+  Four subscription types are available:
   
   * Exclusive
   * Failover(灾备)
-  * Shared(共享)|SubscriptionType.Exclusive int | 
+  * Shared(共享)
+  * Key_Shared|SubscriptionType.Exclusive int | 
   `receiverQueueSize` | Size of a consumer's receiver queue.   
     
   For example, the number of messages accumulated by a consumer before an application calls `Receive`.   
diff --git a/content/docs/zh-CN/next/client-libraries-node.html b/content/docs/zh-CN/next/client-libraries-node.html
index 126a980..dd99a3c7 100644
--- a/content/docs/zh-CN/next/client-libraries-node.html
+++ b/content/docs/zh-CN/next/client-libraries-node.html
@@ -270,7 +270,7 @@ consumer.acknowledge(msg);
 <tbody>
 <tr><td style="text-align:left"><code>topic</code></td><td style="text-align:left">Consumer 创建订阅并监听消息的目标 Pulsar <a href="/docs/zh-CN/next/reference-terminology#topic">topic</a>。</td><td style="text-align:left"></td></tr>
 <tr><td style="text-align:left"><code>subscription</code></td><td style="text-align:left">Consumer 的订阅名称。</td><td style="text-align:left"></td></tr>
-<tr><td style="text-align:left"><code>subscriptionType</code></td><td style="text-align:left">可以设置为<code>独占</code>、<code>共享</code>或<code>灾备</code>。</td><td style="text-align:left"><code>Exclusive</code></td></tr>
+<tr><td style="text-align:left"><code>subscriptionType</code></td><td style="text-align:left">Available options are <code>Exclusive</code>, <code>Shared</code>, <code>Key_Shared</code>, and <code>Failover</code>.</td><td style="text-align:left"><code>Exclusive</code></td></tr>
 <tr><td style="text-align:left"><code>subscriptionInitialPosition</code></td><td style="text-align:left">Initial position at which to set cursor when subscribing to a topic at first time.</td><td style="text-align:left"><code>SubscriptionInitialPosition.Latest</code></td></tr>
 <tr><td style="text-align:left"><code>ackTimeoutMs</code></td><td style="text-align:left">消息确认的超时时间(以毫秒为单位)。</td><td style="text-align:left">0</td></tr>
 <tr><td style="text-align:left"><code>nAckRedeliverTimeoutMs</code></td><td style="text-align:left">Delay to wait before redelivering messages that failed to be processed.</td><td style="text-align:left">60000</td></tr>
diff --git a/content/docs/zh-CN/next/client-libraries-node/index.html b/content/docs/zh-CN/next/client-libraries-node/index.html
index 126a980..dd99a3c7 100644
--- a/content/docs/zh-CN/next/client-libraries-node/index.html
+++ b/content/docs/zh-CN/next/client-libraries-node/index.html
@@ -270,7 +270,7 @@ consumer.acknowledge(msg);
 <tbody>
 <tr><td style="text-align:left"><code>topic</code></td><td style="text-align:left">Consumer 创建订阅并监听消息的目标 Pulsar <a href="/docs/zh-CN/next/reference-terminology#topic">topic</a>。</td><td style="text-align:left"></td></tr>
 <tr><td style="text-align:left"><code>subscription</code></td><td style="text-align:left">Consumer 的订阅名称。</td><td style="text-align:left"></td></tr>
-<tr><td style="text-align:left"><code>subscriptionType</code></td><td style="text-align:left">可以设置为<code>独占</code>、<code>共享</code>或<code>灾备</code>。</td><td style="text-align:left"><code>Exclusive</code></td></tr>
+<tr><td style="text-align:left"><code>subscriptionType</code></td><td style="text-align:left">Available options are <code>Exclusive</code>, <code>Shared</code>, <code>Key_Shared</code>, and <code>Failover</code>.</td><td style="text-align:left"><code>Exclusive</code></td></tr>
 <tr><td style="text-align:left"><code>subscriptionInitialPosition</code></td><td style="text-align:left">Initial position at which to set cursor when subscribing to a topic at first time.</td><td style="text-align:left"><code>SubscriptionInitialPosition.Latest</code></td></tr>
 <tr><td style="text-align:left"><code>ackTimeoutMs</code></td><td style="text-align:left">消息确认的超时时间(以毫秒为单位)。</td><td style="text-align:left">0</td></tr>
 <tr><td style="text-align:left"><code>nAckRedeliverTimeoutMs</code></td><td style="text-align:left">Delay to wait before redelivering messages that failed to be processed.</td><td style="text-align:left">60000</td></tr>
diff --git a/content/docs/zh-CN/next/client-libraries-websocket.html b/content/docs/zh-CN/next/client-libraries-websocket.html
index cc4a25d..68c1958 100644
--- a/content/docs/zh-CN/next/client-libraries-websocket.html
+++ b/content/docs/zh-CN/next/client-libraries-websocket.html
@@ -193,7 +193,7 @@
 </thead>
 <tbody>
 <tr><td style="text-align:left"><code>ackTimeoutMillis</code></td><td style="text-align:left">long</td><td style="text-align:left">否</td><td style="text-align:left">设置未完成消息确认的超时时间(默认值:0)</td></tr>
-<tr><td style="text-align:left"><code>subscriptionType</code></td><td style="text-align:left">string</td><td style="text-align:left">否</td><td style="text-align:left"><a href="https://pulsar.apache.org/api/client/2.7.0-SNAPSHOT/index.html?org/apache/pulsar/client/api/SubscriptionType.html">订阅类型</a>:<code>独占</code>、<code>灾备</code>、<code>共享</code></td></tr>
+<tr><td style="text-align:left"><code>subscriptionType</code></td><td style="text-align:left">string</td><td style="text-align:left">否</td><td style="text-align:left"><a href="https://pulsar.apache.org/api/client/2.7.0-SNAPSHOT/index.html?org/apache/pulsar/client/api/SubscriptionType.html">Subscription type</a>: <code>Exclusive</code>, <code>Failover</code>, <code>Shared</code>, <code>Key_Shared</code></td></tr>
 <tr><td style="text-align:left"><code>receiverQueueSize</code></td><td style="text-align:left">int</td><td style="text-align:left">否</td><td style="text-align:left">Consumer 接收队列的大小(默认:1000)</td></tr>
 <tr><td style="text-align:left"><code>consumerName</code></td><td style="text-align:left">string</td><td style="text-align:left">否</td><td style="text-align:left">Consumer 的名称</td></tr>
 <tr><td style="text-align:left"><code>priorityLevel</code></td><td style="text-align:left">int</td><td style="text-align:left">否</td><td style="text-align:left">指定 consumer 的<a href="http://pulsar.apache.org/api/client/2.7.0-SNAPSHOT/org/apache/pulsar/client/api/ConsumerConfiguration.html#setPriorityLevel-int-">优先级</a></td></tr>
diff --git a/content/docs/zh-CN/next/client-libraries-websocket/index.html b/content/docs/zh-CN/next/client-libraries-websocket/index.html
index cc4a25d..68c1958 100644
--- a/content/docs/zh-CN/next/client-libraries-websocket/index.html
+++ b/content/docs/zh-CN/next/client-libraries-websocket/index.html
@@ -193,7 +193,7 @@
 </thead>
 <tbody>
 <tr><td style="text-align:left"><code>ackTimeoutMillis</code></td><td style="text-align:left">long</td><td style="text-align:left">否</td><td style="text-align:left">设置未完成消息确认的超时时间(默认值:0)</td></tr>
-<tr><td style="text-align:left"><code>subscriptionType</code></td><td style="text-align:left">string</td><td style="text-align:left">否</td><td style="text-align:left"><a href="https://pulsar.apache.org/api/client/2.7.0-SNAPSHOT/index.html?org/apache/pulsar/client/api/SubscriptionType.html">订阅类型</a>:<code>独占</code>、<code>灾备</code>、<code>共享</code></td></tr>
+<tr><td style="text-align:left"><code>subscriptionType</code></td><td style="text-align:left">string</td><td style="text-align:left">否</td><td style="text-align:left"><a href="https://pulsar.apache.org/api/client/2.7.0-SNAPSHOT/index.html?org/apache/pulsar/client/api/SubscriptionType.html">Subscription type</a>: <code>Exclusive</code>, <code>Failover</code>, <code>Shared</code>, <code>Key_Shared</code></td></tr>
 <tr><td style="text-align:left"><code>receiverQueueSize</code></td><td style="text-align:left">int</td><td style="text-align:left">否</td><td style="text-align:left">Consumer 接收队列的大小(默认:1000)</td></tr>
 <tr><td style="text-align:left"><code>consumerName</code></td><td style="text-align:left">string</td><td style="text-align:left">否</td><td style="text-align:left">Consumer 的名称</td></tr>
 <tr><td style="text-align:left"><code>priorityLevel</code></td><td style="text-align:left">int</td><td style="text-align:left">否</td><td style="text-align:left">指定 consumer 的<a href="http://pulsar.apache.org/api/client/2.7.0-SNAPSHOT/org/apache/pulsar/client/api/ConsumerConfiguration.html#setPriorityLevel-int-">优先级</a></td></tr>
diff --git a/content/docs/zh-CN/next/io-connectors.html b/content/docs/zh-CN/next/io-connectors.html
index 26d3689..fe35109 100644
--- a/content/docs/zh-CN/next/io-connectors.html
+++ b/content/docs/zh-CN/next/io-connectors.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="zh-CN"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>内置 connector · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Pulsar 的发行版中包含一组公共 connector,这些 connector 是 Pulsar 安装包的一部分,并且和安装包其余部分一起测试过。 这些 connector 从一些最常用的数据系统导入、导出数据。"/><meta name="docsearch:version" content="next"/><meta name="docsearch:language" content="zh [...]
+<!DOCTYPE html><html lang="zh-CN"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>内置 connector · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Pulsar 的发行版中包含一组公共 connector,这些 connector 是 Pulsar 安装包的一部分,并且和安装包其余部分一起测试过。 这些 connector 从一些最常用的数据系统导入、导出数据。 For a full set of third-party connectors that Pulsar supports, refer to [StreamNative Hub](h [...]
               (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
               (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
               m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
@@ -75,7 +75,7 @@
                 };
               }
             });
-        </script></nav></div><div class="container mainContainer docsContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://crowdin.com/project/apache-pulsar/zh-CN" target="_blank" rel="noreferrer noopener">Translate</a><h1 id="__docusaurus" class="postHeaderTitle">内置 connector</h1></header><article><div><span><p>Pulsar 的发行版中包含一组公共 connector,这些 connector 是 Pulsar 安装包的一部分,并且和安装包其余部分一起测试过。 这些 connector 从一些最常用的数据系统导入、导出数据。</p>
+        </script></nav></div><div class="container mainContainer docsContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://crowdin.com/project/apache-pulsar/zh-CN" target="_blank" rel="noreferrer noopener">Translate</a><h1 id="__docusaurus" class="postHeaderTitle">内置 connector</h1></header><article><div><span><p>Pulsar 的发行版中包含一组公共 connector,这些 connector 是 Pulsar 安装包的一部分,并且和安装包其余部分一起测试过。 这些 connector 从一些最常用的数据系统导入、导出数据。 [...]
 <p>使用其中任一 connector 都很简单,就像写入简单的 connector 并在本地运行一样,或是将 connector 提交到 Pulsar Functions 集群。</p>
 <h2><a class="anchor" aria-hidden="true" id="source-connector"></a><a href="#source-connector" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>Pulsar 里有多种 source connector,按首字母顺序排列如下所示。</p>
diff --git a/content/docs/zh-CN/next/io-connectors/index.html b/content/docs/zh-CN/next/io-connectors/index.html
index 26d3689..fe35109 100644
--- a/content/docs/zh-CN/next/io-connectors/index.html
+++ b/content/docs/zh-CN/next/io-connectors/index.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="zh-CN"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>内置 connector · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Pulsar 的发行版中包含一组公共 connector,这些 connector 是 Pulsar 安装包的一部分,并且和安装包其余部分一起测试过。 这些 connector 从一些最常用的数据系统导入、导出数据。"/><meta name="docsearch:version" content="next"/><meta name="docsearch:language" content="zh [...]
+<!DOCTYPE html><html lang="zh-CN"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>内置 connector · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Pulsar 的发行版中包含一组公共 connector,这些 connector 是 Pulsar 安装包的一部分,并且和安装包其余部分一起测试过。 这些 connector 从一些最常用的数据系统导入、导出数据。 For a full set of third-party connectors that Pulsar supports, refer to [StreamNative Hub](h [...]
               (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
               (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
               m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
@@ -75,7 +75,7 @@
                 };
               }
             });
-        </script></nav></div><div class="container mainContainer docsContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://crowdin.com/project/apache-pulsar/zh-CN" target="_blank" rel="noreferrer noopener">Translate</a><h1 id="__docusaurus" class="postHeaderTitle">内置 connector</h1></header><article><div><span><p>Pulsar 的发行版中包含一组公共 connector,这些 connector 是 Pulsar 安装包的一部分,并且和安装包其余部分一起测试过。 这些 connector 从一些最常用的数据系统导入、导出数据。</p>
+        </script></nav></div><div class="container mainContainer docsContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://crowdin.com/project/apache-pulsar/zh-CN" target="_blank" rel="noreferrer noopener">Translate</a><h1 id="__docusaurus" class="postHeaderTitle">内置 connector</h1></header><article><div><span><p>Pulsar 的发行版中包含一组公共 connector,这些 connector 是 Pulsar 安装包的一部分,并且和安装包其余部分一起测试过。 这些 connector 从一些最常用的数据系统导入、导出数据。 [...]
 <p>使用其中任一 connector 都很简单,就像写入简单的 connector 并在本地运行一样,或是将 connector 提交到 Pulsar Functions 集群。</p>
 <h2><a class="anchor" aria-hidden="true" id="source-connector"></a><a href="#source-connector" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>Pulsar 里有多种 source connector,按首字母顺序排列如下所示。</p>
diff --git a/content/docs/zh-CN/next/performance-pulsar-perf.html b/content/docs/zh-CN/next/performance-pulsar-perf.html
index 6cbd22c..6ced7ba 100644
--- a/content/docs/zh-CN/next/performance-pulsar-perf.html
+++ b/content/docs/zh-CN/next/performance-pulsar-perf.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="zh-CN"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Pulsar Perf · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="This document describes how to use the Pulsar Perf for performance testing. For detailed information about performance tuning, see [here](https://streamnative.io/whitepaper/taking-a-deep-dive-into-apach [...]
+<!DOCTYPE html><html lang="zh-CN"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Pulsar Perf · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="The Pulsar Perf is a built-in performance test tool for Apache Pulsar. You can use the Pulsar Perf to test message writing or reading performance. For detailed information about performance tuning, see  [...]
               (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
               (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
               m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
@@ -75,10 +75,8 @@
                 };
               }
             });
-        </script></nav></div><div class="container mainContainer docsContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://crowdin.com/project/apache-pulsar/zh-CN" target="_blank" rel="noreferrer noopener">Translate</a><h1 id="__docusaurus" class="postHeaderTitle">Pulsar Perf</h1></header><article><div><span><p>This document describes how to use the Pulsar Perf for performance testing. For detailed information about pe [...]
-<h2><a class="anchor" aria-hidden="true" id="pulsar-perf"></a><a href="#pulsar-perf" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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 [...]
-<p>The Pulsar Perf is a built-in performance test tool for Apache Pulsar. You can use the Pulsar Perf to test message writing or reading performance.</p>
-<h3><a class="anchor" aria-hidden="true" id="produce-messages"></a><a href="#produce-messages" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2. [...]
+        </script></nav></div><div class="container mainContainer docsContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://crowdin.com/project/apache-pulsar/zh-CN" target="_blank" rel="noreferrer noopener">Translate</a><h1 id="__docusaurus" class="postHeaderTitle">Pulsar Perf</h1></header><article><div><span><p>The Pulsar Perf is a built-in performance test tool for Apache Pulsar. You can use the Pulsar Perf to test me [...]
+<h2><a class="anchor" aria-hidden="true" id="produce-messages"></a><a href="#produce-messages" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2. [...]
 <p>This example shows how the Pulsar Perf produces messages with default options. For all configuration options available for the <code>pulsar-perf produce</code> command, see <a href="#configuration-options-for-pulsar-perf-produce">configuration options</a>.</p>
 <pre><code class="hljs">bin/pulsar-perf produce <span class="hljs-keyword">my</span>-topic
 </code></pre>
@@ -97,7 +95,7 @@
 <span class="hljs-number">19</span>:<span class="hljs-number">54</span>:<span class="hljs-number">44.336</span> [Thread<span class="hljs-number">-1</span>] INFO  org.apache.pulsar.testclient.PerformanceProducer - Aggregated latency stats --- Latency: mean:   <span class="hljs-number">3.383</span> ms - med:   <span class="hljs-number">3.293</span> - <span class="hljs-number">95</span>pct:   <span class="hljs-number">4.610</span> - <span class="hljs-number">99</span>pct:   <span class="hlj [...]
 </code></pre>
 <p>From the above test data, you can get the throughput statistics and the write latency statistics. The aggregated statistics is printed when the Pulsar Perf is stopped. You can press <strong>Ctrl</strong>+<strong>C</strong> to stop the Pulsar Perf. After the Pulsar Perf is stopped, the <a href="http://hdrhistogram.github.io/HdrHistogram/">HdrHistogram</a> formatted test result appears under your directory. The document looks like <code>perf-producer-1589370810837.hgrm</code>. You can a [...]
-<h4><a class="anchor" aria-hidden="true" id="configuration-options-for-pulsar-perf-produce"></a><a href="#configuration-options-for-pulsar-perf-produce" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h- [...]
+<h3><a class="anchor" aria-hidden="true" id="configuration-options-for-pulsar-perf-produce"></a><a href="#configuration-options-for-pulsar-perf-produce" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h- [...]
 <p>You can get all options by executing the <code>bin/pulsar-perf produce -h</code> command. Therefore, you can modify these options as required.</p>
 <p>The following table lists configuration options available for the <code>pulsar-perf produce</code> command.</p>
 <table>
@@ -135,7 +133,7 @@
 <tr><td>warmup-time</td><td>Set the warm-up time.</td><td>1s</td></tr>
 </tbody>
 </table>
-<h3><a class="anchor" aria-hidden="true" id="consume-messages"></a><a href="#consume-messages" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2. [...]
+<h2><a class="anchor" aria-hidden="true" id="consume-messages"></a><a href="#consume-messages" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2. [...]
 <p>This example shows how the Pulsar Perf consumes messages with default options.</p>
 <pre><code class="hljs">bin/pulsar-perf consume <span class="hljs-keyword">my</span>-topic
 </code></pre>
@@ -153,7 +151,7 @@
 <span class="hljs-number">20</span>:<span class="hljs-number">36</span>:<span class="hljs-number">42.759</span> [Thread<span class="hljs-number">-1</span>] INFO  org.apache.pulsar.testclient.PerformanceConsumer - Aggregated latency stats --- Latency: mean: <span class="hljs-number">9.422</span> ms - med: <span class="hljs-number">9</span> - <span class="hljs-number">95</span>pct: <span class="hljs-number">15</span> - <span class="hljs-number">99</span>pct: <span class="hljs-number">16</s [...]
 </code></pre>
 <p>From the output test data, you can get the throughput statistics and the end-to-end latency statistics. The aggregated statistics is printed after the Pulsar Perf is stopped. You can press <strong>Ctrl</strong>+<strong>C</strong> to stop the Pulsar Perf.</p>
-<h4><a class="anchor" aria-hidden="true" id="configuration-options-for-pulsar-perf-consume"></a><a href="#configuration-options-for-pulsar-perf-consume" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h- [...]
+<h3><a class="anchor" aria-hidden="true" id="configuration-options-for-pulsar-perf-consume"></a><a href="#configuration-options-for-pulsar-perf-consume" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h- [...]
 <p>You can get all options by executing the <code>bin/pulsar-perf consume -h</code> command. Therefore, you can modify these options as required.</p>
 <p>The following table lists configuration options available for the <code>pulsar-perf consume</code> command.</p>
 <table>
@@ -181,7 +179,7 @@
 <tr><td>trust-cert-file</td><td>Set the path for the trusted TLS certificate file.</td><td><empty string></td></tr>
 </tbody>
 </table>
-<h3><a class="anchor" aria-hidden="true" id="configurations"></a><a href="#configurations" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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- [...]
+<h2><a class="anchor" aria-hidden="true" id="configurations"></a><a href="#configurations" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>By default, the Pulsar Perf uses <code>conf/client.conf</code> as the default configuration and uses <code>conf/log4j2.yaml</code> as the default Log4j configuration. If you want to connect to other Pulsar clusters, you can update the <code>brokerServiceUrl</code> in the client configuration.</p>
 <p>You can use the following commands to change the configuration file and the Log4j configuration file.</p>
 <pre><code class="hljs"><span class="hljs-builtin-name">export</span> <span class="hljs-attribute">PULSAR_CLIENT_CONF</span>=&lt;your-config-file&gt;
@@ -210,7 +208,7 @@
 <li><p>Check the test result through the Graphical User Interface of the HdrHistogram Plotter, as shown blow.</p>
 <p><img src="/docs/assets/perf-produce.png" alt=""></p></li>
 </ol>
-</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/zh-CN/next/security-bouncy-castle"><span class="arrow-prev">← </span><span>Bouncy Castle Providers</span></a><a class="docs-next button" href="/docs/zh-CN/next/client-libraries"><span>概述</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#pulsar-perf">Pulsar Perf</a><ul class="toc-headings"><li><a href="#produce-messages"> [...]
+</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/zh-CN/next/security-bouncy-castle"><span class="arrow-prev">← </span><span>Bouncy Castle Providers</span></a><a class="docs-next button" href="/docs/zh-CN/next/client-libraries"><span>概述</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#produce-messages">Produce messages</a><ul class="toc-headings"><li><a href="#configur [...]
       const community = document.querySelector("a[href='#community']").parentNode;
       const communityMenu =
         '<li>' +
diff --git a/content/docs/zh-CN/next/performance-pulsar-perf/index.html b/content/docs/zh-CN/next/performance-pulsar-perf/index.html
index 6cbd22c..6ced7ba 100644
--- a/content/docs/zh-CN/next/performance-pulsar-perf/index.html
+++ b/content/docs/zh-CN/next/performance-pulsar-perf/index.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="zh-CN"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Pulsar Perf · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="This document describes how to use the Pulsar Perf for performance testing. For detailed information about performance tuning, see [here](https://streamnative.io/whitepaper/taking-a-deep-dive-into-apach [...]
+<!DOCTYPE html><html lang="zh-CN"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Pulsar Perf · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="The Pulsar Perf is a built-in performance test tool for Apache Pulsar. You can use the Pulsar Perf to test message writing or reading performance. For detailed information about performance tuning, see  [...]
               (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
               (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
               m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
@@ -75,10 +75,8 @@
                 };
               }
             });
-        </script></nav></div><div class="container mainContainer docsContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://crowdin.com/project/apache-pulsar/zh-CN" target="_blank" rel="noreferrer noopener">Translate</a><h1 id="__docusaurus" class="postHeaderTitle">Pulsar Perf</h1></header><article><div><span><p>This document describes how to use the Pulsar Perf for performance testing. For detailed information about pe [...]
-<h2><a class="anchor" aria-hidden="true" id="pulsar-perf"></a><a href="#pulsar-perf" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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 [...]
-<p>The Pulsar Perf is a built-in performance test tool for Apache Pulsar. You can use the Pulsar Perf to test message writing or reading performance.</p>
-<h3><a class="anchor" aria-hidden="true" id="produce-messages"></a><a href="#produce-messages" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2. [...]
+        </script></nav></div><div class="container mainContainer docsContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://crowdin.com/project/apache-pulsar/zh-CN" target="_blank" rel="noreferrer noopener">Translate</a><h1 id="__docusaurus" class="postHeaderTitle">Pulsar Perf</h1></header><article><div><span><p>The Pulsar Perf is a built-in performance test tool for Apache Pulsar. You can use the Pulsar Perf to test me [...]
+<h2><a class="anchor" aria-hidden="true" id="produce-messages"></a><a href="#produce-messages" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2. [...]
 <p>This example shows how the Pulsar Perf produces messages with default options. For all configuration options available for the <code>pulsar-perf produce</code> command, see <a href="#configuration-options-for-pulsar-perf-produce">configuration options</a>.</p>
 <pre><code class="hljs">bin/pulsar-perf produce <span class="hljs-keyword">my</span>-topic
 </code></pre>
@@ -97,7 +95,7 @@
 <span class="hljs-number">19</span>:<span class="hljs-number">54</span>:<span class="hljs-number">44.336</span> [Thread<span class="hljs-number">-1</span>] INFO  org.apache.pulsar.testclient.PerformanceProducer - Aggregated latency stats --- Latency: mean:   <span class="hljs-number">3.383</span> ms - med:   <span class="hljs-number">3.293</span> - <span class="hljs-number">95</span>pct:   <span class="hljs-number">4.610</span> - <span class="hljs-number">99</span>pct:   <span class="hlj [...]
 </code></pre>
 <p>From the above test data, you can get the throughput statistics and the write latency statistics. The aggregated statistics is printed when the Pulsar Perf is stopped. You can press <strong>Ctrl</strong>+<strong>C</strong> to stop the Pulsar Perf. After the Pulsar Perf is stopped, the <a href="http://hdrhistogram.github.io/HdrHistogram/">HdrHistogram</a> formatted test result appears under your directory. The document looks like <code>perf-producer-1589370810837.hgrm</code>. You can a [...]
-<h4><a class="anchor" aria-hidden="true" id="configuration-options-for-pulsar-perf-produce"></a><a href="#configuration-options-for-pulsar-perf-produce" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h- [...]
+<h3><a class="anchor" aria-hidden="true" id="configuration-options-for-pulsar-perf-produce"></a><a href="#configuration-options-for-pulsar-perf-produce" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h- [...]
 <p>You can get all options by executing the <code>bin/pulsar-perf produce -h</code> command. Therefore, you can modify these options as required.</p>
 <p>The following table lists configuration options available for the <code>pulsar-perf produce</code> command.</p>
 <table>
@@ -135,7 +133,7 @@
 <tr><td>warmup-time</td><td>Set the warm-up time.</td><td>1s</td></tr>
 </tbody>
 </table>
-<h3><a class="anchor" aria-hidden="true" id="consume-messages"></a><a href="#consume-messages" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2. [...]
+<h2><a class="anchor" aria-hidden="true" id="consume-messages"></a><a href="#consume-messages" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2. [...]
 <p>This example shows how the Pulsar Perf consumes messages with default options.</p>
 <pre><code class="hljs">bin/pulsar-perf consume <span class="hljs-keyword">my</span>-topic
 </code></pre>
@@ -153,7 +151,7 @@
 <span class="hljs-number">20</span>:<span class="hljs-number">36</span>:<span class="hljs-number">42.759</span> [Thread<span class="hljs-number">-1</span>] INFO  org.apache.pulsar.testclient.PerformanceConsumer - Aggregated latency stats --- Latency: mean: <span class="hljs-number">9.422</span> ms - med: <span class="hljs-number">9</span> - <span class="hljs-number">95</span>pct: <span class="hljs-number">15</span> - <span class="hljs-number">99</span>pct: <span class="hljs-number">16</s [...]
 </code></pre>
 <p>From the output test data, you can get the throughput statistics and the end-to-end latency statistics. The aggregated statistics is printed after the Pulsar Perf is stopped. You can press <strong>Ctrl</strong>+<strong>C</strong> to stop the Pulsar Perf.</p>
-<h4><a class="anchor" aria-hidden="true" id="configuration-options-for-pulsar-perf-consume"></a><a href="#configuration-options-for-pulsar-perf-consume" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h- [...]
+<h3><a class="anchor" aria-hidden="true" id="configuration-options-for-pulsar-perf-consume"></a><a href="#configuration-options-for-pulsar-perf-consume" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h- [...]
 <p>You can get all options by executing the <code>bin/pulsar-perf consume -h</code> command. Therefore, you can modify these options as required.</p>
 <p>The following table lists configuration options available for the <code>pulsar-perf consume</code> command.</p>
 <table>
@@ -181,7 +179,7 @@
 <tr><td>trust-cert-file</td><td>Set the path for the trusted TLS certificate file.</td><td><empty string></td></tr>
 </tbody>
 </table>
-<h3><a class="anchor" aria-hidden="true" id="configurations"></a><a href="#configurations" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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- [...]
+<h2><a class="anchor" aria-hidden="true" id="configurations"></a><a href="#configurations" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>By default, the Pulsar Perf uses <code>conf/client.conf</code> as the default configuration and uses <code>conf/log4j2.yaml</code> as the default Log4j configuration. If you want to connect to other Pulsar clusters, you can update the <code>brokerServiceUrl</code> in the client configuration.</p>
 <p>You can use the following commands to change the configuration file and the Log4j configuration file.</p>
 <pre><code class="hljs"><span class="hljs-builtin-name">export</span> <span class="hljs-attribute">PULSAR_CLIENT_CONF</span>=&lt;your-config-file&gt;
@@ -210,7 +208,7 @@
 <li><p>Check the test result through the Graphical User Interface of the HdrHistogram Plotter, as shown blow.</p>
 <p><img src="/docs/assets/perf-produce.png" alt=""></p></li>
 </ol>
-</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/zh-CN/next/security-bouncy-castle"><span class="arrow-prev">← </span><span>Bouncy Castle Providers</span></a><a class="docs-next button" href="/docs/zh-CN/next/client-libraries"><span>概述</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#pulsar-perf">Pulsar Perf</a><ul class="toc-headings"><li><a href="#produce-messages"> [...]
+</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/zh-CN/next/security-bouncy-castle"><span class="arrow-prev">← </span><span>Bouncy Castle Providers</span></a><a class="docs-next button" href="/docs/zh-CN/next/client-libraries"><span>概述</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#produce-messages">Produce messages</a><ul class="toc-headings"><li><a href="#configur [...]
       const community = document.querySelector("a[href='#community']").parentNode;
       const communityMenu =
         '<li>' +
diff --git a/content/docs/zh-CN/next/pulsar-admin.html b/content/docs/zh-CN/next/pulsar-admin.html
index a4c303d..1a41951 100644
--- a/content/docs/zh-CN/next/pulsar-admin.html
+++ b/content/docs/zh-CN/next/pulsar-admin.html
@@ -1516,11 +1516,15 @@
 </tbody>
 </table>
 <h2><a class="anchor" aria-hidden="true" id="topics-1"></a><a href="#topics-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  [...]
-<p>Operations for managing Pulsar topics (both persistent and non persistent)</p>
+<p>Operations for managing Pulsar topics (both persistent and non-persistent).</p>
 <p>用法</p>
 <pre><code class="hljs css language-bash">$ pulsar-admin topics subcommand
 </code></pre>
-<p>Subcommands * <code>compact</code> * <code>compaction-status</code> * <code>offload</code> * <code>offload-status</code> * <code>create-partitioned-topic</code> * <code>create-missed-partitions</code> * <code>delete-partitioned-topic</code> * <code>create</code> * <code>get-partitioned-topic-metadata</code> * <code>update-partitioned-topic</code> * <code>list-partitioned-topics</code> * <code>list</code> * <code>terminate</code> * <code>permissions</code> * <code>grant-permission</cod [...]
+<p>From Pulsar 2.7.0, some namespace-level policies are available on topic level. To enable topic-level policy in Pulsar, you need to configure the following parameters in the <code>broker.conf</code> file.</p>
+<pre><code class="hljs css language-shell">systemTopicEnabled=true
+topicLevelPoliciesEnabled=true
+</code></pre>
+<p>Subcommands * <code>compact</code> * <code>compaction-status</code> * <code>offload</code> * <code>offload-status</code> * <code>create-partitioned-topic</code> * <code>create-missed-partitions</code> * <code>delete-partitioned-topic</code> * <code>create</code> * <code>get-partitioned-topic-metadata</code> * <code>update-partitioned-topic</code> * <code>list-partitioned-topics</code> * <code>list</code> * <code>terminate</code> * <code>permissions</code> * <code>grant-permission</cod [...]
 <h3><a class="anchor" aria-hidden="true" id="compact"></a><a href="#compact" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>Run compaction on the specified topic (persistent topics only)</p>
 <p>用法</p>
diff --git a/content/docs/zh-CN/next/pulsar-admin/index.html b/content/docs/zh-CN/next/pulsar-admin/index.html
index a4c303d..1a41951 100644
--- a/content/docs/zh-CN/next/pulsar-admin/index.html
+++ b/content/docs/zh-CN/next/pulsar-admin/index.html
@@ -1516,11 +1516,15 @@
 </tbody>
 </table>
 <h2><a class="anchor" aria-hidden="true" id="topics-1"></a><a href="#topics-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  [...]
-<p>Operations for managing Pulsar topics (both persistent and non persistent)</p>
+<p>Operations for managing Pulsar topics (both persistent and non-persistent).</p>
 <p>用法</p>
 <pre><code class="hljs css language-bash">$ pulsar-admin topics subcommand
 </code></pre>
-<p>Subcommands * <code>compact</code> * <code>compaction-status</code> * <code>offload</code> * <code>offload-status</code> * <code>create-partitioned-topic</code> * <code>create-missed-partitions</code> * <code>delete-partitioned-topic</code> * <code>create</code> * <code>get-partitioned-topic-metadata</code> * <code>update-partitioned-topic</code> * <code>list-partitioned-topics</code> * <code>list</code> * <code>terminate</code> * <code>permissions</code> * <code>grant-permission</cod [...]
+<p>From Pulsar 2.7.0, some namespace-level policies are available on topic level. To enable topic-level policy in Pulsar, you need to configure the following parameters in the <code>broker.conf</code> file.</p>
+<pre><code class="hljs css language-shell">systemTopicEnabled=true
+topicLevelPoliciesEnabled=true
+</code></pre>
+<p>Subcommands * <code>compact</code> * <code>compaction-status</code> * <code>offload</code> * <code>offload-status</code> * <code>create-partitioned-topic</code> * <code>create-missed-partitions</code> * <code>delete-partitioned-topic</code> * <code>create</code> * <code>get-partitioned-topic-metadata</code> * <code>update-partitioned-topic</code> * <code>list-partitioned-topics</code> * <code>list</code> * <code>terminate</code> * <code>permissions</code> * <code>grant-permission</cod [...]
 <h3><a class="anchor" aria-hidden="true" id="compact"></a><a href="#compact" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>Run compaction on the specified topic (persistent topics only)</p>
 <p>用法</p>
diff --git a/content/docs/zh-CN/next/reference-configuration.html b/content/docs/zh-CN/next/reference-configuration.html
index 1dab05d..3b5b4d5 100644
--- a/content/docs/zh-CN/next/reference-configuration.html
+++ b/content/docs/zh-CN/next/reference-configuration.html
@@ -259,6 +259,7 @@ Instead, you can set a subscription expiration time for each <strong>命名空
 </tbody>
 </table>
 <h2><a class="anchor" aria-hidden="true" id="log4j"></a><a href="#log4j" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>You can set the log level and configuration in the <a href="https://github.com/apache/pulsar/blob/d557e0aa286866363bc6261dec87790c055db1b0/conf/log4j2.yaml#L155">log4j2.yaml</a> file. The following logging configuration parameters are available.</p>
 <table>
 <thead>
 <tr><th>配置项</th><th>默认值</th></tr>
@@ -305,7 +306,7 @@ Instead, you can set a subscription expiration time for each <strong>命名空
 </tbody>
 </table>
 <h2><a class="anchor" aria-hidden="true" id="standalone"></a><a href="#standalone" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>|Name|Description|Default| |---|---|---| |authenticateOriginalAuthData| If this flag is set to <code>true</code>,broker 验证原始 Auth 数据,否则它只接受 originalPrincipal 并授权给它(如有需要)。 |false| |zookeeperServers| The quorum connection string for local ZooKeeper || |zooKeeperCacheExpirySeconds|ZooKeeper cache expiry time in seconds|300 |configurationStoreServers| Configuration store connection string (as a comma-separated list) || |brokerServicePort| The port on which the standalone broker listens fo [...]
+<p>|Name|Description|Default| |---|---|---| |authenticateOriginalAuthData| If this flag is set to <code>true</code>,broker 验证原始 Auth 数据,否则它只接受 originalPrincipal 并授权给它(如有需要)。 |false| |zookeeperServers| The quorum connection string for local ZooKeeper || |zooKeeperCacheExpirySeconds|ZooKeeper cache expiry time in seconds|300 |configurationStoreServers| Configuration store connection string (as a comma-separated list) || |brokerServicePort| The port on which the standalone broker listens fo [...]
 <ul>
 <li>JKS
 <ul>
diff --git a/content/docs/zh-CN/next/reference-configuration/index.html b/content/docs/zh-CN/next/reference-configuration/index.html
index 1dab05d..3b5b4d5 100644
--- a/content/docs/zh-CN/next/reference-configuration/index.html
+++ b/content/docs/zh-CN/next/reference-configuration/index.html
@@ -259,6 +259,7 @@ Instead, you can set a subscription expiration time for each <strong>命名空
 </tbody>
 </table>
 <h2><a class="anchor" aria-hidden="true" id="log4j"></a><a href="#log4j" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>You can set the log level and configuration in the <a href="https://github.com/apache/pulsar/blob/d557e0aa286866363bc6261dec87790c055db1b0/conf/log4j2.yaml#L155">log4j2.yaml</a> file. The following logging configuration parameters are available.</p>
 <table>
 <thead>
 <tr><th>配置项</th><th>默认值</th></tr>
@@ -305,7 +306,7 @@ Instead, you can set a subscription expiration time for each <strong>命名空
 </tbody>
 </table>
 <h2><a class="anchor" aria-hidden="true" id="standalone"></a><a href="#standalone" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>|Name|Description|Default| |---|---|---| |authenticateOriginalAuthData| If this flag is set to <code>true</code>,broker 验证原始 Auth 数据,否则它只接受 originalPrincipal 并授权给它(如有需要)。 |false| |zookeeperServers| The quorum connection string for local ZooKeeper || |zooKeeperCacheExpirySeconds|ZooKeeper cache expiry time in seconds|300 |configurationStoreServers| Configuration store connection string (as a comma-separated list) || |brokerServicePort| The port on which the standalone broker listens fo [...]
+<p>|Name|Description|Default| |---|---|---| |authenticateOriginalAuthData| If this flag is set to <code>true</code>,broker 验证原始 Auth 数据,否则它只接受 originalPrincipal 并授权给它(如有需要)。 |false| |zookeeperServers| The quorum connection string for local ZooKeeper || |zooKeeperCacheExpirySeconds|ZooKeeper cache expiry time in seconds|300 |configurationStoreServers| Configuration store connection string (as a comma-separated list) || |brokerServicePort| The port on which the standalone broker listens fo [...]
 <ul>
 <li>JKS
 <ul>
diff --git a/content/docs/zh-CN/next/reference-metrics.html b/content/docs/zh-CN/next/reference-metrics.html
index 4159e91..0b0bfcc 100644
--- a/content/docs/zh-CN/next/reference-metrics.html
+++ b/content/docs/zh-CN/next/reference-metrics.html
@@ -142,7 +142,7 @@
 <li>1: bookie 正运行于可写入模式。</li>
 <li>0: bookie 正运行于只读模式。</li>
 </ul>
-<p>| | bookkeeper_server_ADD_ENTRY_count | 计数器 | bookie 收到的 ADD_ENTRY 请求数总数。 <code>success</code> 标签会被用于区分成功与失败。 | | bookkeeper_server_READ_ENTRY_count | 计数器 | bookie 收到的 READ_ENTRY 请求数总数。 <code>success</code> 标签会被用于区分成功与失败。 | | bookie_WRITE_BYTES | 计数器 | 写入 bookie 的总字节数。 | | bookie_READ_BYTES | 计数器 | 从 bookie 读取的总字节数。 | | bookkeeper_server_ADD_ENTRY_REQUEST | 直方图 | bookie 上 ADD_ENTRY 请求延迟的直方图。 <code>success</code> 标签会被用于区分成功与失败。 | | bookkeeper_server_READ_ENTRY_REQUEST | 直方图 | bookie 上  [...]
+<p>| | bookkeeper_server_ADD_ENTRY_count | 计数器 | bookie 收到的 ADD_ENTRY 请求数总数。 <code>success</code> 标签会被用于区分成功与失败。 | | bookkeeper_server_READ_ENTRY_count | 计数器 | bookie 收到的 READ_ENTRY 请求数总数。 <code>success</code> 标签会被用于区分成功与失败。 | | bookie_WRITE_BYTES | 计数器 | 写入 bookie 的总字节数。 | | bookie_READ_BYTES | 计数器 | 从 bookie 读取的总字节数。 | | bookkeeper_server_ADD_ENTRY_REQUEST | Summary | The summary of request latency of ADD_ENTRY requests at the bookie. <code>success</code> 标签会被用于区分成功与失败。 | | bookkeeper_ [...]
 <h3><a class="anchor" aria-hidden="true" id="日志度量值"></a><a href="#日志度量值" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09 [...]
 <table>
 <thead>
@@ -153,8 +153,8 @@
 <tr><td>bookie_journal_JOURNAL_QUEUE_SIZE</td><td>计量表</td><td>日志队列中待处理的请求总数。</td></tr>
 <tr><td>bookie_journal_JOURNAL_FORCE_WRITE_QUEUE_SIZE</td><td>计量表</td><td>在强制写入队列中等待的强制写入 (fsync) 请求总数。</td></tr>
 <tr><td>bookie_journal_JOURNAL_CB_QUEUE_SIZE</td><td>计量表</td><td>回调队列中待处理的回调总数。</td></tr>
-<tr><td>bookie_journal_JOURNAL_ADD_ENTRY</td><td>直方图</td><td>在日志中添加条目的请求延迟的直方图。</td></tr>
-<tr><td>bookie_journal_JOURNAL_SYNC</td><td>直方图</td><td>同步数据到日志磁盘的 fsync 延迟的直方图。</td></tr>
+<tr><td>bookie_journal_JOURNAL_ADD_ENTRY</td><td>总结</td><td>The summary of request latency of adding entries to the journal.</td></tr>
+<tr><td>bookie_journal_JOURNAL_SYNC</td><td>总结</td><td>The summary of fsync latency of syncing data to the journal disk.</td></tr>
 </tbody>
 </table>
 <h3><a class="anchor" aria-hidden="true" id="存储度量值"></a><a href="#存储度量值" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09 [...]
diff --git a/content/docs/zh-CN/next/reference-metrics/index.html b/content/docs/zh-CN/next/reference-metrics/index.html
index 4159e91..0b0bfcc 100644
--- a/content/docs/zh-CN/next/reference-metrics/index.html
+++ b/content/docs/zh-CN/next/reference-metrics/index.html
@@ -142,7 +142,7 @@
 <li>1: bookie 正运行于可写入模式。</li>
 <li>0: bookie 正运行于只读模式。</li>
 </ul>
-<p>| | bookkeeper_server_ADD_ENTRY_count | 计数器 | bookie 收到的 ADD_ENTRY 请求数总数。 <code>success</code> 标签会被用于区分成功与失败。 | | bookkeeper_server_READ_ENTRY_count | 计数器 | bookie 收到的 READ_ENTRY 请求数总数。 <code>success</code> 标签会被用于区分成功与失败。 | | bookie_WRITE_BYTES | 计数器 | 写入 bookie 的总字节数。 | | bookie_READ_BYTES | 计数器 | 从 bookie 读取的总字节数。 | | bookkeeper_server_ADD_ENTRY_REQUEST | 直方图 | bookie 上 ADD_ENTRY 请求延迟的直方图。 <code>success</code> 标签会被用于区分成功与失败。 | | bookkeeper_server_READ_ENTRY_REQUEST | 直方图 | bookie 上  [...]
+<p>| | bookkeeper_server_ADD_ENTRY_count | 计数器 | bookie 收到的 ADD_ENTRY 请求数总数。 <code>success</code> 标签会被用于区分成功与失败。 | | bookkeeper_server_READ_ENTRY_count | 计数器 | bookie 收到的 READ_ENTRY 请求数总数。 <code>success</code> 标签会被用于区分成功与失败。 | | bookie_WRITE_BYTES | 计数器 | 写入 bookie 的总字节数。 | | bookie_READ_BYTES | 计数器 | 从 bookie 读取的总字节数。 | | bookkeeper_server_ADD_ENTRY_REQUEST | Summary | The summary of request latency of ADD_ENTRY requests at the bookie. <code>success</code> 标签会被用于区分成功与失败。 | | bookkeeper_ [...]
 <h3><a class="anchor" aria-hidden="true" id="日志度量值"></a><a href="#日志度量值" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09 [...]
 <table>
 <thead>
@@ -153,8 +153,8 @@
 <tr><td>bookie_journal_JOURNAL_QUEUE_SIZE</td><td>计量表</td><td>日志队列中待处理的请求总数。</td></tr>
 <tr><td>bookie_journal_JOURNAL_FORCE_WRITE_QUEUE_SIZE</td><td>计量表</td><td>在强制写入队列中等待的强制写入 (fsync) 请求总数。</td></tr>
 <tr><td>bookie_journal_JOURNAL_CB_QUEUE_SIZE</td><td>计量表</td><td>回调队列中待处理的回调总数。</td></tr>
-<tr><td>bookie_journal_JOURNAL_ADD_ENTRY</td><td>直方图</td><td>在日志中添加条目的请求延迟的直方图。</td></tr>
-<tr><td>bookie_journal_JOURNAL_SYNC</td><td>直方图</td><td>同步数据到日志磁盘的 fsync 延迟的直方图。</td></tr>
+<tr><td>bookie_journal_JOURNAL_ADD_ENTRY</td><td>总结</td><td>The summary of request latency of adding entries to the journal.</td></tr>
+<tr><td>bookie_journal_JOURNAL_SYNC</td><td>总结</td><td>The summary of fsync latency of syncing data to the journal disk.</td></tr>
 </tbody>
 </table>
 <h3><a class="anchor" aria-hidden="true" id="存储度量值"></a><a href="#存储度量值" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09 [...]
diff --git a/content/docs/zh-CN/next/tiered-storage-aws.html b/content/docs/zh-CN/next/tiered-storage-aws.html
index 18c26d8..5c511ac 100644
--- a/content/docs/zh-CN/next/tiered-storage-aws.html
+++ b/content/docs/zh-CN/next/tiered-storage-aws.html
@@ -128,7 +128,7 @@ tiered-storage-jcloud-2.5.1.nar
 <li><p><strong>Required</strong> configurations are as below.</p>
 <p>Required configuration | Description | Example value |---|---|--- <code>managedLedgerOffloadDriver</code> | Offloader driver name, which is case-insensitive. <br><br><strong>Note</strong>: there is a third driver type, S3, which is identical to AWS S3, though S3 requires that you specify an endpoint URL using <code>s3ManagedLedgerOffloadServiceEndpoint</code>. This is useful if using an S3 compatible data store other than AWS S3. | aws-s3 <code>offloadersDirectory</code> | Offloader d [...]
 <li><p><strong>Optional</strong> configurations are as below.</p>
-<p>Optional | Description | Example value |---|---|--- <code>s3ManagedLedgerOffloadRegion</code> | Bucket region | eu-west-3 <code>s3ManagedLedgerOffloadReadBufferSizeInBytes</code>|Size of block read|1 MB <code>s3ManagedLedgerOffloadMaxBlockSizeInBytes</code>|Size of block write|64 MB <code>managedLedgerMinLedgerRolloverTimeMinutes</code>|Minimum time between ledger rollover for a topic<br><br><strong>Note</strong>: it is not recommended that you set this configuration in the production [...]
+<p>Optional | Description | Example value |---|---|--- <code>s3ManagedLedgerOffloadRegion</code> | Bucket region <br><br><strong>Note</strong>: before specifying a value for this parameter, you need to set the following configurations. Otherwise, you might get an error.<br><br>- Set <a href="https://docs.aws.amazon.com/general/latest/gr/s3.html"><code>s3ManagedLedgerOffloadServiceEndpoint</code></a>.<br><br>Example<br><code>s3ManagedLedgerOffloadServiceEndpoint=https://s3.YOUR_REGION.ama [...]
 </ul>
 <h4><a class="anchor" aria-hidden="true" id="bucket-required"></a><a href="#bucket-required" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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  [...]
 <p>A bucket is a basic container that holds your data. Everything you store in AWS S3 must be contained in a bucket. You can use a bucket to organize your data and control access to your data, but unlike directory and folder, you cannot nest a bucket.</p>
diff --git a/content/docs/zh-CN/next/tiered-storage-aws/index.html b/content/docs/zh-CN/next/tiered-storage-aws/index.html
index 18c26d8..5c511ac 100644
--- a/content/docs/zh-CN/next/tiered-storage-aws/index.html
+++ b/content/docs/zh-CN/next/tiered-storage-aws/index.html
@@ -128,7 +128,7 @@ tiered-storage-jcloud-2.5.1.nar
 <li><p><strong>Required</strong> configurations are as below.</p>
 <p>Required configuration | Description | Example value |---|---|--- <code>managedLedgerOffloadDriver</code> | Offloader driver name, which is case-insensitive. <br><br><strong>Note</strong>: there is a third driver type, S3, which is identical to AWS S3, though S3 requires that you specify an endpoint URL using <code>s3ManagedLedgerOffloadServiceEndpoint</code>. This is useful if using an S3 compatible data store other than AWS S3. | aws-s3 <code>offloadersDirectory</code> | Offloader d [...]
 <li><p><strong>Optional</strong> configurations are as below.</p>
-<p>Optional | Description | Example value |---|---|--- <code>s3ManagedLedgerOffloadRegion</code> | Bucket region | eu-west-3 <code>s3ManagedLedgerOffloadReadBufferSizeInBytes</code>|Size of block read|1 MB <code>s3ManagedLedgerOffloadMaxBlockSizeInBytes</code>|Size of block write|64 MB <code>managedLedgerMinLedgerRolloverTimeMinutes</code>|Minimum time between ledger rollover for a topic<br><br><strong>Note</strong>: it is not recommended that you set this configuration in the production [...]
+<p>Optional | Description | Example value |---|---|--- <code>s3ManagedLedgerOffloadRegion</code> | Bucket region <br><br><strong>Note</strong>: before specifying a value for this parameter, you need to set the following configurations. Otherwise, you might get an error.<br><br>- Set <a href="https://docs.aws.amazon.com/general/latest/gr/s3.html"><code>s3ManagedLedgerOffloadServiceEndpoint</code></a>.<br><br>Example<br><code>s3ManagedLedgerOffloadServiceEndpoint=https://s3.YOUR_REGION.ama [...]
 </ul>
 <h4><a class="anchor" aria-hidden="true" id="bucket-required"></a><a href="#bucket-required" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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  [...]
 <p>A bucket is a basic container that holds your data. Everything you store in AWS S3 must be contained in a bucket. You can use a bucket to organize your data and control access to your data, but unlike directory and folder, you cannot nest a bucket.</p>
diff --git a/content/docs/zh-CN/pulsar-admin.html b/content/docs/zh-CN/pulsar-admin.html
index 43cb32d..7f31edb 100644
--- a/content/docs/zh-CN/pulsar-admin.html
+++ b/content/docs/zh-CN/pulsar-admin.html
@@ -1656,6 +1656,10 @@
 <p>用法</p>
 <pre><code class="hljs css language-bash">$ pulsar-admin topics subcommand
 </code></pre>
+<p>Some namespace-level policies are available on topic level. To enable topic-level policy in Pulsar, you need to configure the following parameters in the <code>broker.conf</code> file.</p>
+<pre><code class="hljs css language-shell">systemTopicEnabled=true
+topicLevelPoliciesEnabled=true
+</code></pre>
 <p>Subcommands</p>
 <ul>
 <li><code>compact</code></li>
@@ -1706,6 +1710,36 @@
 <li><code>get-deduplication</code></li>
 <li><code>set-deduplication</code></li>
 <li><code>remove-deduplication</code></li>
+<li><code>get-max-producers</code></li>
+<li><code>set-max-producers</code></li>
+<li><code>remove-max-producers</code></li>
+<li><code>get-max-consumers</code></li>
+<li><code>set-max-consumers</code></li>
+<li><code>remove-max-consumers</code></li>
+<li><code>get-retention</code></li>
+<li><code>set-retention</code></li>
+<li><code>remove-retention</code></li>
+<li><code>get-dispatch-rate</code></li>
+<li><code>set-dispatch-rate</code></li>
+<li><code>remove-dispatch-rate</code></li>
+<li><code>get-compaction-threshold</code></li>
+<li><code>set-compaction-threshold</code></li>
+<li><code>remove-compaction-threshold</code></li>
+<li><code>get-offload-policies</code></li>
+<li><code>set-offload-policies</code></li>
+<li><code>remove-offload-policies</code></li>
+<li><code>get-max-unacked-messages-per-subscription</code></li>
+<li><code>set-max-unacked-messages-per-subscription</code></li>
+<li><code>remove-max-unacked-messages-per-subscription</code></li>
+<li><code>get-max-unacked-messages-per-consumer</code></li>
+<li><code>set-max-unacked-messages-per-consumer</code></li>
+<li><code>remove-max-unacked-messages-per-consumer</code></li>
+<li><code>get-delayed-delivery</code></li>
+<li><code>set-delayed-delivery</code></li>
+<li><code>remove-delayed-delivery</code></li>
+<li><code>get-inactive-topic-policies</code></li>
+<li><code>set-inactive-topic-policies</code></li>
+<li><code>remove-inactive-topic-policies</code></li>
 </ul>
 <h3><a class="anchor" aria-hidden="true" id="compact"></a><a href="#compact" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>Run compaction on the specified topic (persistent topics only)</p>
diff --git a/content/docs/zh-CN/pulsar-admin/index.html b/content/docs/zh-CN/pulsar-admin/index.html
index 43cb32d..7f31edb 100644
--- a/content/docs/zh-CN/pulsar-admin/index.html
+++ b/content/docs/zh-CN/pulsar-admin/index.html
@@ -1656,6 +1656,10 @@
 <p>用法</p>
 <pre><code class="hljs css language-bash">$ pulsar-admin topics subcommand
 </code></pre>
+<p>Some namespace-level policies are available on topic level. To enable topic-level policy in Pulsar, you need to configure the following parameters in the <code>broker.conf</code> file.</p>
+<pre><code class="hljs css language-shell">systemTopicEnabled=true
+topicLevelPoliciesEnabled=true
+</code></pre>
 <p>Subcommands</p>
 <ul>
 <li><code>compact</code></li>
@@ -1706,6 +1710,36 @@
 <li><code>get-deduplication</code></li>
 <li><code>set-deduplication</code></li>
 <li><code>remove-deduplication</code></li>
+<li><code>get-max-producers</code></li>
+<li><code>set-max-producers</code></li>
+<li><code>remove-max-producers</code></li>
+<li><code>get-max-consumers</code></li>
+<li><code>set-max-consumers</code></li>
+<li><code>remove-max-consumers</code></li>
+<li><code>get-retention</code></li>
+<li><code>set-retention</code></li>
+<li><code>remove-retention</code></li>
+<li><code>get-dispatch-rate</code></li>
+<li><code>set-dispatch-rate</code></li>
+<li><code>remove-dispatch-rate</code></li>
+<li><code>get-compaction-threshold</code></li>
+<li><code>set-compaction-threshold</code></li>
+<li><code>remove-compaction-threshold</code></li>
+<li><code>get-offload-policies</code></li>
+<li><code>set-offload-policies</code></li>
+<li><code>remove-offload-policies</code></li>
+<li><code>get-max-unacked-messages-per-subscription</code></li>
+<li><code>set-max-unacked-messages-per-subscription</code></li>
+<li><code>remove-max-unacked-messages-per-subscription</code></li>
+<li><code>get-max-unacked-messages-per-consumer</code></li>
+<li><code>set-max-unacked-messages-per-consumer</code></li>
+<li><code>remove-max-unacked-messages-per-consumer</code></li>
+<li><code>get-delayed-delivery</code></li>
+<li><code>set-delayed-delivery</code></li>
+<li><code>remove-delayed-delivery</code></li>
+<li><code>get-inactive-topic-policies</code></li>
+<li><code>set-inactive-topic-policies</code></li>
+<li><code>remove-inactive-topic-policies</code></li>
 </ul>
 <h3><a class="anchor" aria-hidden="true" id="compact"></a><a href="#compact" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>Run compaction on the specified topic (persistent topics only)</p>
diff --git a/content/docs/zh-CN/reference-metrics.html b/content/docs/zh-CN/reference-metrics.html
index 0e2becc..c2d0c78 100644
--- a/content/docs/zh-CN/reference-metrics.html
+++ b/content/docs/zh-CN/reference-metrics.html
@@ -133,8 +133,8 @@
 <tr><td>bookkeeper_server_READ_ENTRY_count</td><td>计数器</td><td>The total number of READ_ENTRY requests received at the bookie. <code>success</code> 标签会被用于区分成功与失败。</td></tr>
 <tr><td>bookie_WRITE_BYTES</td><td>计数器</td><td>The total number of bytes written to the bookie.</td></tr>
 <tr><td>bookie_READ_BYTES</td><td>计数器</td><td>The total number of bytes read from the bookie.</td></tr>
-<tr><td>bookkeeper_server_ADD_ENTRY_REQUEST</td><td>直方图</td><td>The histogram of request latency of ADD_ENTRY requests at the bookie. <code>success</code> 标签会被用于区分成功与失败。</td></tr>
-<tr><td>bookkeeper_server_READ_ENTRY_REQUEST</td><td>直方图</td><td>The histogram of request latency of READ_ENTRY requests at the bookie. <code>success</code> 标签会被用于区分成功与失败。</td></tr>
+<tr><td>bookkeeper_server_ADD_ENTRY_REQUEST</td><td>总结</td><td>The summary of request latency of ADD_ENTRY requests at the bookie. <code>success</code> 标签会被用于区分成功与失败。</td></tr>
+<tr><td>bookkeeper_server_READ_ENTRY_REQUEST</td><td>总结</td><td>The summary of request latency of READ_ENTRY requests at the bookie. <code>success</code> 标签会被用于区分成功与失败。</td></tr>
 </tbody>
 </table>
 <h3><a class="anchor" aria-hidden="true" id="日志度量值"></a><a href="#日志度量值" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09 [...]
@@ -147,8 +147,8 @@
 <tr><td>bookie_journal_JOURNAL_QUEUE_SIZE</td><td>计量表</td><td>日志队列中待处理的请求总数。</td></tr>
 <tr><td>bookie_journal_JOURNAL_FORCE_WRITE_QUEUE_SIZE</td><td>计量表</td><td>在强制写入队列中等待的强制写入 (fsync) 请求总数。</td></tr>
 <tr><td>bookie_journal_JOURNAL_CB_QUEUE_SIZE</td><td>计量表</td><td>回调队列中待处理的回调总数。</td></tr>
-<tr><td>bookie_journal_JOURNAL_ADD_ENTRY</td><td>直方图</td><td>在日志中添加条目的请求延迟的直方图。</td></tr>
-<tr><td>bookie_journal_JOURNAL_SYNC</td><td>直方图</td><td>同步数据到日志磁盘的 fsync 延迟的直方图。</td></tr>
+<tr><td>bookie_journal_JOURNAL_ADD_ENTRY</td><td>总结</td><td>The summary of request latency of adding entries to the journal.</td></tr>
+<tr><td>bookie_journal_JOURNAL_SYNC</td><td>总结</td><td>The summary of fsync latency of syncing data to the journal disk.</td></tr>
 </tbody>
 </table>
 <h3><a class="anchor" aria-hidden="true" id="存储度量值"></a><a href="#存储度量值" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09 [...]
diff --git a/content/docs/zh-CN/reference-metrics/index.html b/content/docs/zh-CN/reference-metrics/index.html
index 0e2becc..c2d0c78 100644
--- a/content/docs/zh-CN/reference-metrics/index.html
+++ b/content/docs/zh-CN/reference-metrics/index.html
@@ -133,8 +133,8 @@
 <tr><td>bookkeeper_server_READ_ENTRY_count</td><td>计数器</td><td>The total number of READ_ENTRY requests received at the bookie. <code>success</code> 标签会被用于区分成功与失败。</td></tr>
 <tr><td>bookie_WRITE_BYTES</td><td>计数器</td><td>The total number of bytes written to the bookie.</td></tr>
 <tr><td>bookie_READ_BYTES</td><td>计数器</td><td>The total number of bytes read from the bookie.</td></tr>
-<tr><td>bookkeeper_server_ADD_ENTRY_REQUEST</td><td>直方图</td><td>The histogram of request latency of ADD_ENTRY requests at the bookie. <code>success</code> 标签会被用于区分成功与失败。</td></tr>
-<tr><td>bookkeeper_server_READ_ENTRY_REQUEST</td><td>直方图</td><td>The histogram of request latency of READ_ENTRY requests at the bookie. <code>success</code> 标签会被用于区分成功与失败。</td></tr>
+<tr><td>bookkeeper_server_ADD_ENTRY_REQUEST</td><td>总结</td><td>The summary of request latency of ADD_ENTRY requests at the bookie. <code>success</code> 标签会被用于区分成功与失败。</td></tr>
+<tr><td>bookkeeper_server_READ_ENTRY_REQUEST</td><td>总结</td><td>The summary of request latency of READ_ENTRY requests at the bookie. <code>success</code> 标签会被用于区分成功与失败。</td></tr>
 </tbody>
 </table>
 <h3><a class="anchor" aria-hidden="true" id="日志度量值"></a><a href="#日志度量值" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09 [...]
@@ -147,8 +147,8 @@
 <tr><td>bookie_journal_JOURNAL_QUEUE_SIZE</td><td>计量表</td><td>日志队列中待处理的请求总数。</td></tr>
 <tr><td>bookie_journal_JOURNAL_FORCE_WRITE_QUEUE_SIZE</td><td>计量表</td><td>在强制写入队列中等待的强制写入 (fsync) 请求总数。</td></tr>
 <tr><td>bookie_journal_JOURNAL_CB_QUEUE_SIZE</td><td>计量表</td><td>回调队列中待处理的回调总数。</td></tr>
-<tr><td>bookie_journal_JOURNAL_ADD_ENTRY</td><td>直方图</td><td>在日志中添加条目的请求延迟的直方图。</td></tr>
-<tr><td>bookie_journal_JOURNAL_SYNC</td><td>直方图</td><td>同步数据到日志磁盘的 fsync 延迟的直方图。</td></tr>
+<tr><td>bookie_journal_JOURNAL_ADD_ENTRY</td><td>总结</td><td>The summary of request latency of adding entries to the journal.</td></tr>
+<tr><td>bookie_journal_JOURNAL_SYNC</td><td>总结</td><td>The summary of fsync latency of syncing data to the journal disk.</td></tr>
 </tbody>
 </table>
 <h3><a class="anchor" aria-hidden="true" id="存储度量值"></a><a href="#存储度量值" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09 [...]
diff --git a/content/docs/zh-CN/tiered-storage-aws.html b/content/docs/zh-CN/tiered-storage-aws.html
index 87e8948..0a88d09 100644
--- a/content/docs/zh-CN/tiered-storage-aws.html
+++ b/content/docs/zh-CN/tiered-storage-aws.html
@@ -127,7 +127,7 @@ tiered-storage-jcloud-2.5.1.nar
 <li><p><strong>Required</strong> configurations are as below.</p>
 <p>Required configuration | Description | Example value |---|---|--- <code>managedLedgerOffloadDriver</code> | Offloader driver name, which is case-insensitive. <br><br><strong>Note</strong>: there is a third driver type, S3, which is identical to AWS S3, though S3 requires that you specify an endpoint URL using <code>s3ManagedLedgerOffloadServiceEndpoint</code>. This is useful if using an S3 compatible data store other than AWS S3. | aws-s3 <code>offloadersDirectory</code> | Offloader d [...]
 <li><p><strong>Optional</strong> configurations are as below.</p>
-<p>Optional | Description | Example value |---|---|--- <code>s3ManagedLedgerOffloadRegion</code> | Bucket region | eu-west-3 <code>s3ManagedLedgerOffloadReadBufferSizeInBytes</code>|Size of block read|1 MB <code>s3ManagedLedgerOffloadMaxBlockSizeInBytes</code>|Size of block write|64 MB <code>managedLedgerMinLedgerRolloverTimeMinutes</code>|Minimum time between ledger rollover for a topic<br><br><strong>Note</strong>: it is not recommended that you set this configuration in the production [...]
+<p>Optional | Description | Example value |---|---|--- <code>s3ManagedLedgerOffloadRegion</code> | Bucket region <br><br><strong>Note</strong>: before specifying a value for this parameter, you need to set the following configurations. Otherwise, you might get an error.<br><br>- Set <a href="https://docs.aws.amazon.com/general/latest/gr/s3.html"><code>s3ManagedLedgerOffloadServiceEndpoint</code></a>.<br><br>Example<br><code>s3ManagedLedgerOffloadServiceEndpoint=https://s3.YOUR_REGION.ama [...]
 </ul>
 <h4><a class="anchor" aria-hidden="true" id="bucket-required"></a><a href="#bucket-required" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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  [...]
 <p>A bucket is a basic container that holds your data. Everything you store in AWS S3 must be contained in a bucket. You can use a bucket to organize your data and control access to your data, but unlike directory and folder, you cannot nest a bucket.</p>
diff --git a/content/docs/zh-CN/tiered-storage-aws/index.html b/content/docs/zh-CN/tiered-storage-aws/index.html
index 87e8948..0a88d09 100644
--- a/content/docs/zh-CN/tiered-storage-aws/index.html
+++ b/content/docs/zh-CN/tiered-storage-aws/index.html
@@ -127,7 +127,7 @@ tiered-storage-jcloud-2.5.1.nar
 <li><p><strong>Required</strong> configurations are as below.</p>
 <p>Required configuration | Description | Example value |---|---|--- <code>managedLedgerOffloadDriver</code> | Offloader driver name, which is case-insensitive. <br><br><strong>Note</strong>: there is a third driver type, S3, which is identical to AWS S3, though S3 requires that you specify an endpoint URL using <code>s3ManagedLedgerOffloadServiceEndpoint</code>. This is useful if using an S3 compatible data store other than AWS S3. | aws-s3 <code>offloadersDirectory</code> | Offloader d [...]
 <li><p><strong>Optional</strong> configurations are as below.</p>
-<p>Optional | Description | Example value |---|---|--- <code>s3ManagedLedgerOffloadRegion</code> | Bucket region | eu-west-3 <code>s3ManagedLedgerOffloadReadBufferSizeInBytes</code>|Size of block read|1 MB <code>s3ManagedLedgerOffloadMaxBlockSizeInBytes</code>|Size of block write|64 MB <code>managedLedgerMinLedgerRolloverTimeMinutes</code>|Minimum time between ledger rollover for a topic<br><br><strong>Note</strong>: it is not recommended that you set this configuration in the production [...]
+<p>Optional | Description | Example value |---|---|--- <code>s3ManagedLedgerOffloadRegion</code> | Bucket region <br><br><strong>Note</strong>: before specifying a value for this parameter, you need to set the following configurations. Otherwise, you might get an error.<br><br>- Set <a href="https://docs.aws.amazon.com/general/latest/gr/s3.html"><code>s3ManagedLedgerOffloadServiceEndpoint</code></a>.<br><br>Example<br><code>s3ManagedLedgerOffloadServiceEndpoint=https://s3.YOUR_REGION.ama [...]
 </ul>
 <h4><a class="anchor" aria-hidden="true" id="bucket-required"></a><a href="#bucket-required" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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  [...]
 <p>A bucket is a basic container that holds your data. Everything you store in AWS S3 must be contained in a bucket. You can use a bucket to organize your data and control access to your data, but unlike directory and folder, you cannot nest a bucket.</p>
diff --git a/content/docs/zh-TW/2.4.0/reference-metrics.html b/content/docs/zh-TW/2.4.0/reference-metrics.html
index 27cab5c..c0b1c5b 100644
--- a/content/docs/zh-TW/2.4.0/reference-metrics.html
+++ b/content/docs/zh-TW/2.4.0/reference-metrics.html
@@ -75,8 +75,8 @@
 <tr><td>bookkeeper_server_READ_ENTRY_count</td><td>Counter</td><td>The total number of READ_ENTRY requests received at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
 <tr><td>bookie_WRITE_BYTES</td><td>Counter</td><td>The total number of bytes written to the bookie.</td></tr>
 <tr><td>bookie_READ_BYTES</td><td>Counter</td><td>The total number of bytes read from the bookie.</td></tr>
-<tr><td>bookkeeper_server_ADD_ENTRY_REQUEST</td><td>Histogram</td><td>The histogram of request latency of ADD_ENTRY requests at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
-<tr><td>bookkeeper_server_READ_ENTRY_REQUEST</td><td>Histogram</td><td>The histogram of request latency of READ_ENTRY requests at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
+<tr><td>bookkeeper_server_ADD_ENTRY_REQUEST</td><td>總結</td><td>The summary of request latency of ADD_ENTRY requests at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
+<tr><td>bookkeeper_server_READ_ENTRY_REQUEST</td><td>總結</td><td>The summary of request latency of READ_ENTRY requests at the bookie. The <code>success</code> label is used to distinguish successes and failures.</td></tr>
 </tbody>
 </table>
 <h3><a class="anchor" aria-hidden="true" id="journal-metrics"></a><a href="#journal-metrics" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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  [...]
@@ -89,8 +89,8 @@
 <tr><td>bookie_journal_JOURNAL_QUEUE_SIZE</td><td>Gauge</td><td>The total number of requests pending in the journal queue.</td></tr>
 <tr><td>bookie_journal_JOURNAL_FORCE_WRITE_QUEUE_SIZE</td><td>Gauge</td><td>The total number of force write (fsync) requests pending in the force-write queue.</td></tr>
 <tr><td>bookie_journal_JOURNAL_CB_QUEUE_SIZE</td><td>Gauge</td><td>The total number of callbacks pending in the callback queue.</td></tr>
-<tr><td>bookie_journal_JOURNAL_ADD_ENTRY</td><td>Histogram</td><td>The histogram of request latency of adding entries to the journal.</td></tr>
-<tr><td>bookie_journal_JOURNAL_SYNC</td><td>Histogram</td><td>The histogram of fsync latency of syncing data to the journal disk.</td></tr>
+<tr><td>bookie_journal_JOURNAL_ADD_ENTRY</td><td>總結</td><td>The summary of request latency of adding entries to the journal.</td></tr>
+<tr><td>bookie_journal_JOURNAL_SYNC</td><td>總結</td><td>The summary of fsync latency of syncing data to the journal disk.</td></tr>
 </tbody>
 </table>
 <h3><a class="anchor" aria-hidden="true" id="storage-metrics"></a><a href="#storage-metrics" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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  [...]
diff --git a/content/docs/zh-TW/2.4.0/reference-metrics/index.html b/content/docs/zh-TW/2.4.0/reference-metrics/index.html
index 27cab5c..c0b1c5b 100644
--- a/content/docs/zh-TW/2.4.0/reference-metrics/index.html
+++ b/content/docs/zh-TW/2.4.0/reference-metrics/index.html
... 21750 lines suppressed ...