This is an automated email from the ASF dual-hosted git repository.
liuyu pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/pulsar.git
The following commit(s) were added to refs/heads/master by this push:
new 3c08686 [Doc] Add topic-level APIs for deduplication snapshot
interval, inactive topic policies and offload policies (#14396)
3c08686 is described below
commit 3c0868645f79f3dc0f454f2382abced4a10c11b2
Author: momo-jun <[email protected]>
AuthorDate: Tue Mar 1 10:13:37 2022 +0800
[Doc] Add topic-level APIs for deduplication snapshot interval, inactive
topic policies and offload policies (#14396)
---
site2/docs/admin-api-topics.md | 234 ++++++++++++++++++++
site2/docs/cookbooks-deduplication.md | 1 +
site2/docs/reference-configuration.md | 1 +
.../version-2.7.0/admin-api-topics.md | 234 ++++++++++++++++++++
.../version-2.7.0/cookbooks-deduplication.md | 1 +
.../version-2.7.0/reference-configuration.md | 1 +
.../version-2.7.1/admin-api-topics.md | 234 ++++++++++++++++++++
.../version-2.7.1/cookbooks-deduplication.md | 1 +
.../version-2.7.1/reference-configuration.md | 1 +
.../version-2.7.2/admin-api-topics.md | 234 ++++++++++++++++++++
.../version-2.7.2/cookbooks-deduplication.md | 1 +
.../version-2.7.2/reference-configuration.md | 1 +
.../version-2.7.3/admin-api-topics.md | 234 ++++++++++++++++++++
.../version-2.7.3/cookbooks-deduplication.md | 1 +
.../version-2.7.3/reference-configuration.md | 1 +
.../version-2.7.4/admin-api-topics.md | 234 ++++++++++++++++++++
.../version-2.7.4/cookbooks-deduplication.md | 1 +
.../version-2.7.4/reference-configuration.md | 1 +
.../version-2.8.0/admin-api-topics.md | 234 ++++++++++++++++++++
.../version-2.8.0/cookbooks-deduplication.md | 1 +
.../version-2.8.0/reference-configuration.md | 1 +
.../version-2.8.1/admin-api-topics.md | 235 +++++++++++++++++++++
.../version-2.8.1/cookbooks-deduplication.md | 1 +
.../version-2.8.1/reference-configuration.md | 1 +
.../version-2.8.2/admin-api-topics.md | 234 ++++++++++++++++++++
.../version-2.8.2/cookbooks-deduplication.md | 1 +
.../version-2.8.2/reference-configuration.md | 1 +
.../version-2.9.0/admin-api-topics.md | 234 ++++++++++++++++++++
.../version-2.9.0/cookbooks-deduplication.md | 1 +
.../version-2.9.0/reference-configuration.md | 1 +
.../version-2.9.1/admin-api-topics.md | 234 ++++++++++++++++++++
.../version-2.9.1/cookbooks-deduplication.md | 1 +
.../version-2.9.1/reference-configuration.md | 1 +
33 files changed, 2597 insertions(+)
diff --git a/site2/docs/admin-api-topics.md b/site2/docs/admin-api-topics.md
index 73bf850..60a8090 100644
--- a/site2/docs/admin-api-topics.md
+++ b/site2/docs/admin-api-topics.md
@@ -973,6 +973,240 @@ admin.topics().getBacklogSizeByMessageId(topic,
messageId);
<!--END_DOCUSAURUS_CODE_TABS-->
+
+### Configure deduplication snapshot interval
+
+#### Get deduplication snapshot interval
+
+To get the topic-level deduplication snapshot interval, use one of the
following methods.
+
+<!--DOCUSAURUS_CODE_TABS-->
+<!--Pulsar-admin API-->
+
+```
+pulsar-admin topics get-deduplication-snapshot-interval options
+```
+
+<!--REST API-->
+
+```
+{@inject:
endpoint|GET|/admin/v2/topics/:tenant/:namespace/:topic/deduplicationSnapshotInterval?version=[[pulsar:version_number]]}
+```
+
+<!--Java API-->
+
+```java
+admin.topics().getDeduplicationSnapshotInterval(topic)
+```
+<!--END_DOCUSAURUS_CODE_TABS-->
+
+#### Set deduplication snapshot interval
+
+To set the topic-level deduplication snapshot interval, use one of the
following methods.
+
+> **Prerequisite** `brokerDeduplicationEnabled` must be set to `true`.
+
+<!--DOCUSAURUS_CODE_TABS-->
+<!--Pulsar-admin API-->
+
+```
+pulsar-admin topics set-deduplication-snapshot-interval options
+```
+
+<!--REST API-->
+
+```
+{@inject:
endpoint|POST|/admin/v2/topics/:tenant/:namespace/:topic/deduplicationSnapshotInterval?version=[[pulsar:version_number]]}
+```
+
+```json
+{
+ "interval": 1000
+}
+```
+
+<!--Java API-->
+
+```java
+admin.topics().setDeduplicationSnapshotInterval(topic, 1000)
+```
+<!--END_DOCUSAURUS_CODE_TABS-->
+
+#### Remove deduplication snapshot interval
+
+To remove the topic-level deduplication snapshot interval, use one of the
following methods.
+
+<!--DOCUSAURUS_CODE_TABS-->
+<!--Pulsar-admin API-->
+
+```
+pulsar-admin topics remove-deduplication-snapshot-interval options
+```
+
+<!--REST API-->
+
+```
+{@inject:
endpoint|DELETE|/admin/v2/topics/:tenant/:namespace/:topic/deduplicationSnapshotInterval?version=[[pulsar:version_number]]}
+```
+
+<!--Java API-->
+
+```java
+admin.topics().removeDeduplicationSnapshotInterval(topic)
+```
+<!--END_DOCUSAURUS_CODE_TABS-->
+
+
+### Configure inactive topic policies
+
+#### Get inactive topic policies
+
+To get the topic-level inactive topic policies, use one of the following
methods.
+
+<!--DOCUSAURUS_CODE_TABS-->
+<!--Pulsar-admin API-->
+
+```
+pulsar-admin topics get-inactive-topic-policies options
+```
+
+<!--REST API-->
+
+```
+{@inject:
endpoint|GET|/admin/v2/topics/:tenant/:namespace/:topic/inactiveTopicPolicies?version=[[pulsar:version_number]]}
+```
+
+<!--Java API-->
+
+```java
+admin.topics().getInactiveTopicPolicies(topic)
+```
+<!--END_DOCUSAURUS_CODE_TABS-->
+
+#### Set inactive topic policies
+
+To set the topic-level inactive topic policies, use one of the following
methods.
+
+<!--DOCUSAURUS_CODE_TABS-->
+<!--Pulsar-admin API-->
+
+```
+pulsar-admin topics set-inactive-topic-policies options
+```
+
+<!--REST API-->
+
+```
+{@inject:
endpoint|POST|/admin/v2/topics/:tenant/:namespace/:topic/inactiveTopicPolicies?version=[[pulsar:version_number]]}
+```
+
+<!--Java API-->
+
+```java
+admin.topics().setInactiveTopicPolicies(topic, inactiveTopicPolicies)
+```
+<!--END_DOCUSAURUS_CODE_TABS-->
+
+#### Remove inactive topic policies
+
+To remove the topic-level inactive topic policies, use one of the following
methods.
+
+<!--DOCUSAURUS_CODE_TABS-->
+<!--Pulsar-admin API-->
+
+```
+pulsar-admin topics remove-inactive-topic-policies options
+```
+
+<!--REST API-->
+
+```
+{@inject:
endpoint|DELETE|/admin/v2/topics/:tenant/:namespace/:topic/inactiveTopicPolicies?version=[[pulsar:version_number]]}
+```
+
+<!--Java API-->
+
+```java
+admin.topics().removeInactiveTopicPolicies(topic)
+```
+<!--END_DOCUSAURUS_CODE_TABS-->
+
+
+### Configure offload policies
+
+#### Get offload policies
+
+To get the topic-level offload policies, use one of the following methods.
+
+<!--DOCUSAURUS_CODE_TABS-->
+<!--Pulsar-admin API-->
+
+```
+pulsar-admin topics get-offload-policies options
+```
+
+<!--REST API-->
+
+```
+{@inject:
endpoint|GET|/admin/v2/topics/:tenant/:namespace/:topic/offloadPolicies?version=[[pulsar:version_number]]}
+```
+
+<!--Java API-->
+
+```java
+admin.topics().getOffloadPolicies(topic)
+```
+<!--END_DOCUSAURUS_CODE_TABS-->
+
+#### Set offload policies
+
+To set the topic-level offload policies, use one of the following methods.
+
+<!--DOCUSAURUS_CODE_TABS-->
+<!--Pulsar-admin API-->
+
+```
+pulsar-admin topics set-offload-policies options
+```
+
+<!--REST API-->
+
+```
+{@inject:
endpoint|POST|/admin/v2/topics/:tenant/:namespace/:topic/offloadPolicies?version=[[pulsar:version_number]]}
+```
+
+<!--Java API-->
+
+```java
+admin.topics().setOffloadPolicies(topic, offloadPolicies)
+```
+<!--END_DOCUSAURUS_CODE_TABS-->
+
+#### Remove offload policies
+
+To remove the topic-level offload policies, use one of the following methods.
+
+<!--DOCUSAURUS_CODE_TABS-->
+<!--Pulsar-admin API-->
+
+```
+pulsar-admin topics remove-offload-policies options
+```
+
+<!--REST API-->
+
+```
+{@inject:
endpoint|DELETE|/admin/v2/topics/:tenant/:namespace/:topic/offloadPolicies?version=[[pulsar:version_number]]}
+```
+
+<!--Java API-->
+
+```java
+admin.topics().removeOffloadPolicies(topic)
+```
+<!--END_DOCUSAURUS_CODE_TABS-->
+
+
## Manage non-partitioned topics
You can use Pulsar [admin API](admin-api-overview.md) to create, delete and
check status of non-partitioned topics.
diff --git a/site2/docs/cookbooks-deduplication.md
b/site2/docs/cookbooks-deduplication.md
index 6140bde..0c067b6 100644
--- a/site2/docs/cookbooks-deduplication.md
+++ b/site2/docs/cookbooks-deduplication.md
@@ -25,6 +25,7 @@ Parameter | Description | Default
`brokerDeduplicationEnabled` | Sets the default behavior for message
deduplication in the Pulsar broker. If it is set to `true`, message
deduplication is enabled on all namespaces/topics. If it is set to `false`, you
have to enable or disable deduplication at the namespace level or the topic
level. | `false`
`brokerDeduplicationMaxNumberOfProducers` | The maximum number of producers
for which information is stored for deduplication purposes. | `10000`
`brokerDeduplicationEntriesInterval` | The number of entries after which a
deduplication informational snapshot is taken. A larger interval leads to fewer
snapshots being taken, though this lengthens the topic recovery time (the time
required for entries published after the snapshot to be replayed). | `1000`
+`brokerDeduplicationSnapshotIntervalSeconds`| The time period after which a
deduplication informational snapshot is taken. It runs simultaneously with
`brokerDeduplicationEntriesInterval`. |`120`
`brokerDeduplicationProducerInactivityTimeoutMinutes` | The time of inactivity
(in minutes) after which the broker discards deduplication information related
to a disconnected producer. | `360` (6 hours)
### Set default value at the broker-level
diff --git a/site2/docs/reference-configuration.md
b/site2/docs/reference-configuration.md
index d767eeb..9e4dfc0 100644
--- a/site2/docs/reference-configuration.md
+++ b/site2/docs/reference-configuration.md
@@ -168,6 +168,7 @@ Pulsar brokers are responsible for handling incoming
messages from producers, di
|brokerDeduplicationEnabled| Sets the default behavior for message
deduplication in the broker. If enabled, the broker will reject messages that
were already stored in the topic. This setting can be overridden on a
per-namespace basis. |false|
|brokerDeduplicationMaxNumberOfProducers| The maximum number of producers for
which information will be stored for deduplication purposes. |10000|
|brokerDeduplicationEntriesInterval| The number of entries after which a
deduplication informational snapshot is taken. A larger interval will lead to
fewer snapshots being taken, though this would also lengthen the topic recovery
time (the time required for entries published after the snapshot to be
replayed). |1000|
+|brokerDeduplicationSnapshotIntervalSeconds| The time period after which a
deduplication informational snapshot is taken. It runs simultaneously with
`brokerDeduplicationEntriesInterval`. |120|
|brokerDeduplicationProducerInactivityTimeoutMinutes| The time of inactivity
(in minutes) after which the broker will discard deduplication information
related to a disconnected producer. |360|
|brokerDeduplicationSnapshotFrequencyInSeconds| How often is the thread pool
scheduled to check whether a snapshot needs to be taken. The value of `0` means
it is disabled. |120|
|dispatchThrottlingRateInMsg| Dispatch throttling-limit of messages for a
broker (per second). 0 means the dispatch throttling-limit is disabled. |0|
diff --git a/site2/website/versioned_docs/version-2.7.0/admin-api-topics.md
b/site2/website/versioned_docs/version-2.7.0/admin-api-topics.md
index 6d3f719..d64ef2d 100644
--- a/site2/website/versioned_docs/version-2.7.0/admin-api-topics.md
+++ b/site2/website/versioned_docs/version-2.7.0/admin-api-topics.md
@@ -676,6 +676,240 @@ admin.topics().getLastMessage(topic);
<!--END_DOCUSAURUS_CODE_TABS-->
+
+### Configure deduplication snapshot interval
+
+#### Get deduplication snapshot interval
+
+To get the topic-level deduplication snapshot interval, use one of the
following methods.
+
+<!--DOCUSAURUS_CODE_TABS-->
+<!--Pulsar-admin API-->
+
+```
+pulsar-admin topics get-deduplication-snapshot-interval options
+```
+
+<!--REST API-->
+
+```
+{@inject:
endpoint|GET|/admin/v2/topics/:tenant/:namespace/:topic/deduplicationSnapshotInterval?version=[[pulsar:version_number]]}
+```
+
+<!--Java API-->
+
+```java
+admin.topics().getDeduplicationSnapshotInterval(topic)
+```
+<!--END_DOCUSAURUS_CODE_TABS-->
+
+#### Set deduplication snapshot interval
+
+To set the topic-level deduplication snapshot interval, use one of the
following methods.
+
+> **Prerequisite** `brokerDeduplicationEnabled` must be set to `true`.
+
+<!--DOCUSAURUS_CODE_TABS-->
+<!--Pulsar-admin API-->
+
+```
+pulsar-admin topics set-deduplication-snapshot-interval options
+```
+
+<!--REST API-->
+
+```
+{@inject:
endpoint|POST|/admin/v2/topics/:tenant/:namespace/:topic/deduplicationSnapshotInterval?version=[[pulsar:version_number]]}
+```
+
+```json
+{
+ "interval": 1000
+}
+```
+
+<!--Java API-->
+
+```java
+admin.topics().setDeduplicationSnapshotInterval(topic, 1000)
+```
+<!--END_DOCUSAURUS_CODE_TABS-->
+
+#### Remove deduplication snapshot interval
+
+To remove the topic-level deduplication snapshot interval, use one of the
following methods.
+
+<!--DOCUSAURUS_CODE_TABS-->
+<!--Pulsar-admin API-->
+
+```
+pulsar-admin topics remove-deduplication-snapshot-interval options
+```
+
+<!--REST API-->
+
+```
+{@inject:
endpoint|DELETE|/admin/v2/topics/:tenant/:namespace/:topic/deduplicationSnapshotInterval?version=[[pulsar:version_number]]}
+```
+
+<!--Java API-->
+
+```java
+admin.topics().removeDeduplicationSnapshotInterval(topic)
+```
+<!--END_DOCUSAURUS_CODE_TABS-->
+
+
+### Configure inactive topic policies
+
+#### Get inactive topic policies
+
+To get the topic-level inactive topic policies, use one of the following
methods.
+
+<!--DOCUSAURUS_CODE_TABS-->
+<!--Pulsar-admin API-->
+
+```
+pulsar-admin topics get-inactive-topic-policies options
+```
+
+<!--REST API-->
+
+```
+{@inject:
endpoint|GET|/admin/v2/topics/:tenant/:namespace/:topic/inactiveTopicPolicies?version=[[pulsar:version_number]]}
+```
+
+<!--Java API-->
+
+```java
+admin.topics().getInactiveTopicPolicies(topic)
+```
+<!--END_DOCUSAURUS_CODE_TABS-->
+
+#### Set inactive topic policies
+
+To set the topic-level inactive topic policies, use one of the following
methods.
+
+<!--DOCUSAURUS_CODE_TABS-->
+<!--Pulsar-admin API-->
+
+```
+pulsar-admin topics set-inactive-topic-policies options
+```
+
+<!--REST API-->
+
+```
+{@inject:
endpoint|POST|/admin/v2/topics/:tenant/:namespace/:topic/inactiveTopicPolicies?version=[[pulsar:version_number]]}
+```
+
+<!--Java API-->
+
+```java
+admin.topics().setInactiveTopicPolicies(topic, inactiveTopicPolicies)
+```
+<!--END_DOCUSAURUS_CODE_TABS-->
+
+#### Remove inactive topic policies
+
+To remove the topic-level inactive topic policies, use one of the following
methods.
+
+<!--DOCUSAURUS_CODE_TABS-->
+<!--Pulsar-admin API-->
+
+```
+pulsar-admin topics remove-inactive-topic-policies options
+```
+
+<!--REST API-->
+
+```
+{@inject:
endpoint|DELETE|/admin/v2/topics/:tenant/:namespace/:topic/inactiveTopicPolicies?version=[[pulsar:version_number]]}
+```
+
+<!--Java API-->
+
+```java
+admin.topics().removeInactiveTopicPolicies(topic)
+```
+<!--END_DOCUSAURUS_CODE_TABS-->
+
+
+### Configure offload policies
+
+#### Get offload policies
+
+To get the topic-level offload policies, use one of the following methods.
+
+<!--DOCUSAURUS_CODE_TABS-->
+<!--Pulsar-admin API-->
+
+```
+pulsar-admin topics get-offload-policies options
+```
+
+<!--REST API-->
+
+```
+{@inject:
endpoint|GET|/admin/v2/topics/:tenant/:namespace/:topic/offloadPolicies?version=[[pulsar:version_number]]}
+```
+
+<!--Java API-->
+
+```java
+admin.topics().getOffloadPolicies(topic)
+```
+<!--END_DOCUSAURUS_CODE_TABS-->
+
+#### Set offload policies
+
+To set the topic-level offload policies, use one of the following methods.
+
+<!--DOCUSAURUS_CODE_TABS-->
+<!--Pulsar-admin API-->
+
+```
+pulsar-admin topics set-offload-policies options
+```
+
+<!--REST API-->
+
+```
+{@inject:
endpoint|POST|/admin/v2/topics/:tenant/:namespace/:topic/offloadPolicies?version=[[pulsar:version_number]]}
+```
+
+<!--Java API-->
+
+```java
+admin.topics().setOffloadPolicies(topic, offloadPolicies)
+```
+<!--END_DOCUSAURUS_CODE_TABS-->
+
+#### Remove offload policies
+
+To remove the topic-level offload policies, use one of the following methods.
+
+<!--DOCUSAURUS_CODE_TABS-->
+<!--Pulsar-admin API-->
+
+```
+pulsar-admin topics remove-offload-policies options
+```
+
+<!--REST API-->
+
+```
+{@inject:
endpoint|DELETE|/admin/v2/topics/:tenant/:namespace/:topic/offloadPolicies?version=[[pulsar:version_number]]}
+```
+
+<!--Java API-->
+
+```java
+admin.topics().removeOffloadPolicies(topic)
+```
+<!--END_DOCUSAURUS_CODE_TABS-->
+
+
## Manage non-partitioned topics
You can use Pulsar [admin API](admin-api-overview.md) to create, delete and
check status of non-partitioned topics.
diff --git
a/site2/website/versioned_docs/version-2.7.0/cookbooks-deduplication.md
b/site2/website/versioned_docs/version-2.7.0/cookbooks-deduplication.md
index 5be280a..90c9874 100644
--- a/site2/website/versioned_docs/version-2.7.0/cookbooks-deduplication.md
+++ b/site2/website/versioned_docs/version-2.7.0/cookbooks-deduplication.md
@@ -26,6 +26,7 @@ Parameter | Description | Default
`brokerDeduplicationEnabled` | Sets the default behavior for message
deduplication in the Pulsar broker. If it is set to `true`, message
deduplication is enabled on all namespaces/topics. If it is set to `false`, you
have to enable or disable deduplication at the namespace level or the topic
level. | `false`
`brokerDeduplicationMaxNumberOfProducers` | The maximum number of producers
for which information is stored for deduplication purposes. | `10000`
`brokerDeduplicationEntriesInterval` | The number of entries after which a
deduplication informational snapshot is taken. A larger interval leads to fewer
snapshots being taken, though this lengthens the topic recovery time (the time
required for entries published after the snapshot to be replayed). | `1000`
+`brokerDeduplicationSnapshotIntervalSeconds`| The time period after which a
deduplication informational snapshot is taken. It runs simultaneously with
`brokerDeduplicationEntriesInterval`. |`120`
`brokerDeduplicationProducerInactivityTimeoutMinutes` | The time of inactivity
(in minutes) after which the broker discards deduplication information related
to a disconnected producer. | `360` (6 hours)
### Set default value at the broker-level
diff --git
a/site2/website/versioned_docs/version-2.7.0/reference-configuration.md
b/site2/website/versioned_docs/version-2.7.0/reference-configuration.md
index 6c06503..afbe667 100644
--- a/site2/website/versioned_docs/version-2.7.0/reference-configuration.md
+++ b/site2/website/versioned_docs/version-2.7.0/reference-configuration.md
@@ -171,6 +171,7 @@ Pulsar brokers are responsible for handling incoming
messages from producers, di
|brokerDeduplicationEnabled| Sets the default behavior for message
deduplication in the broker. If enabled, the broker will reject messages that
were already stored in the topic. This setting can be overridden on a
per-namespace basis. |false|
|brokerDeduplicationMaxNumberOfProducers| The maximum number of producers for
which information will be stored for deduplication purposes. |10000|
|brokerDeduplicationEntriesInterval| The number of entries after which a
deduplication informational snapshot is taken. A larger interval will lead to
fewer snapshots being taken, though this would also lengthen the topic recovery
time (the time required for entries published after the snapshot to be
replayed). |1000|
+|brokerDeduplicationSnapshotIntervalSeconds| The time period after which a
deduplication informational snapshot is taken. It runs simultaneously with
`brokerDeduplicationEntriesInterval`. |120|
|brokerDeduplicationProducerInactivityTimeoutMinutes| The time of inactivity
(in minutes) after which the broker will discard deduplication information
related to a disconnected producer. |360|
|dispatchThrottlingRatePerReplicatorInMsg| The default messages per second
dispatch throttling-limit for every replicator in replication. The value of `0`
means disabling replication message dispatch-throttling| 0 |
|dispatchThrottlingRatePerReplicatorInByte| The default bytes per second
dispatch throttling-limit for every replicator in replication. The value of `0`
means disabling replication message-byte dispatch-throttling| 0 |
diff --git a/site2/website/versioned_docs/version-2.7.1/admin-api-topics.md
b/site2/website/versioned_docs/version-2.7.1/admin-api-topics.md
index 18ce3f4..7e60100 100644
--- a/site2/website/versioned_docs/version-2.7.1/admin-api-topics.md
+++ b/site2/website/versioned_docs/version-2.7.1/admin-api-topics.md
@@ -676,6 +676,240 @@ admin.topics().getLastMessage(topic);
<!--END_DOCUSAURUS_CODE_TABS-->
+
+### Configure deduplication snapshot interval
+
+#### Get deduplication snapshot interval
+
+To get the topic-level deduplication snapshot interval, use one of the
following methods.
+
+<!--DOCUSAURUS_CODE_TABS-->
+<!--Pulsar-admin API-->
+
+```
+pulsar-admin topics get-deduplication-snapshot-interval options
+```
+
+<!--REST API-->
+
+```
+{@inject:
endpoint|GET|/admin/v2/topics/:tenant/:namespace/:topic/deduplicationSnapshotInterval?version=[[pulsar:version_number]]}
+```
+
+<!--Java API-->
+
+```java
+admin.topics().getDeduplicationSnapshotInterval(topic)
+```
+<!--END_DOCUSAURUS_CODE_TABS-->
+
+#### Set deduplication snapshot interval
+
+To set the topic-level deduplication snapshot interval, use one of the
following methods.
+
+> **Prerequisite** `brokerDeduplicationEnabled` must be set to `true`.
+
+<!--DOCUSAURUS_CODE_TABS-->
+<!--Pulsar-admin API-->
+
+```
+pulsar-admin topics set-deduplication-snapshot-interval options
+```
+
+<!--REST API-->
+
+```
+{@inject:
endpoint|POST|/admin/v2/topics/:tenant/:namespace/:topic/deduplicationSnapshotInterval?version=[[pulsar:version_number]]}
+```
+
+```json
+{
+ "interval": 1000
+}
+```
+
+<!--Java API-->
+
+```java
+admin.topics().setDeduplicationSnapshotInterval(topic, 1000)
+```
+<!--END_DOCUSAURUS_CODE_TABS-->
+
+#### Remove deduplication snapshot interval
+
+To remove the topic-level deduplication snapshot interval, use one of the
following methods.
+
+<!--DOCUSAURUS_CODE_TABS-->
+<!--Pulsar-admin API-->
+
+```
+pulsar-admin topics remove-deduplication-snapshot-interval options
+```
+
+<!--REST API-->
+
+```
+{@inject:
endpoint|DELETE|/admin/v2/topics/:tenant/:namespace/:topic/deduplicationSnapshotInterval?version=[[pulsar:version_number]]}
+```
+
+<!--Java API-->
+
+```java
+admin.topics().removeDeduplicationSnapshotInterval(topic)
+```
+<!--END_DOCUSAURUS_CODE_TABS-->
+
+
+### Configure inactive topic policies
+
+#### Get inactive topic policies
+
+To get the topic-level inactive topic policies, use one of the following
methods.
+
+<!--DOCUSAURUS_CODE_TABS-->
+<!--Pulsar-admin API-->
+
+```
+pulsar-admin topics get-inactive-topic-policies options
+```
+
+<!--REST API-->
+
+```
+{@inject:
endpoint|GET|/admin/v2/topics/:tenant/:namespace/:topic/inactiveTopicPolicies?version=[[pulsar:version_number]]}
+```
+
+<!--Java API-->
+
+```java
+admin.topics().getInactiveTopicPolicies(topic)
+```
+<!--END_DOCUSAURUS_CODE_TABS-->
+
+#### Set inactive topic policies
+
+To set the topic-level inactive topic policies, use one of the following
methods.
+
+<!--DOCUSAURUS_CODE_TABS-->
+<!--Pulsar-admin API-->
+
+```
+pulsar-admin topics set-inactive-topic-policies options
+```
+
+<!--REST API-->
+
+```
+{@inject:
endpoint|POST|/admin/v2/topics/:tenant/:namespace/:topic/inactiveTopicPolicies?version=[[pulsar:version_number]]}
+```
+
+<!--Java API-->
+
+```java
+admin.topics().setInactiveTopicPolicies(topic, inactiveTopicPolicies)
+```
+<!--END_DOCUSAURUS_CODE_TABS-->
+
+#### Remove inactive topic policies
+
+To remove the topic-level inactive topic policies, use one of the following
methods.
+
+<!--DOCUSAURUS_CODE_TABS-->
+<!--Pulsar-admin API-->
+
+```
+pulsar-admin topics remove-inactive-topic-policies options
+```
+
+<!--REST API-->
+
+```
+{@inject:
endpoint|DELETE|/admin/v2/topics/:tenant/:namespace/:topic/inactiveTopicPolicies?version=[[pulsar:version_number]]}
+```
+
+<!--Java API-->
+
+```java
+admin.topics().removeInactiveTopicPolicies(topic)
+```
+<!--END_DOCUSAURUS_CODE_TABS-->
+
+
+### Configure offload policies
+
+#### Get offload policies
+
+To get the topic-level offload policies, use one of the following methods.
+
+<!--DOCUSAURUS_CODE_TABS-->
+<!--Pulsar-admin API-->
+
+```
+pulsar-admin topics get-offload-policies options
+```
+
+<!--REST API-->
+
+```
+{@inject:
endpoint|GET|/admin/v2/topics/:tenant/:namespace/:topic/offloadPolicies?version=[[pulsar:version_number]]}
+```
+
+<!--Java API-->
+
+```java
+admin.topics().getOffloadPolicies(topic)
+```
+<!--END_DOCUSAURUS_CODE_TABS-->
+
+#### Set offload policies
+
+To set the topic-level offload policies, use one of the following methods.
+
+<!--DOCUSAURUS_CODE_TABS-->
+<!--Pulsar-admin API-->
+
+```
+pulsar-admin topics set-offload-policies options
+```
+
+<!--REST API-->
+
+```
+{@inject:
endpoint|POST|/admin/v2/topics/:tenant/:namespace/:topic/offloadPolicies?version=[[pulsar:version_number]]}
+```
+
+<!--Java API-->
+
+```java
+admin.topics().setOffloadPolicies(topic, offloadPolicies)
+```
+<!--END_DOCUSAURUS_CODE_TABS-->
+
+#### Remove offload policies
+
+To remove the topic-level offload policies, use one of the following methods.
+
+<!--DOCUSAURUS_CODE_TABS-->
+<!--Pulsar-admin API-->
+
+```
+pulsar-admin topics remove-offload-policies options
+```
+
+<!--REST API-->
+
+```
+{@inject:
endpoint|DELETE|/admin/v2/topics/:tenant/:namespace/:topic/offloadPolicies?version=[[pulsar:version_number]]}
+```
+
+<!--Java API-->
+
+```java
+admin.topics().removeOffloadPolicies(topic)
+```
+<!--END_DOCUSAURUS_CODE_TABS-->
+
+
## Manage non-partitioned topics
You can use Pulsar [admin API](admin-api-overview.md) to create, delete and
check status of non-partitioned topics.
diff --git
a/site2/website/versioned_docs/version-2.7.1/cookbooks-deduplication.md
b/site2/website/versioned_docs/version-2.7.1/cookbooks-deduplication.md
index 9ec8569..3f4c4c7 100644
--- a/site2/website/versioned_docs/version-2.7.1/cookbooks-deduplication.md
+++ b/site2/website/versioned_docs/version-2.7.1/cookbooks-deduplication.md
@@ -26,6 +26,7 @@ Parameter | Description | Default
`brokerDeduplicationEnabled` | Sets the default behavior for message
deduplication in the Pulsar broker. If it is set to `true`, message
deduplication is enabled on all namespaces/topics. If it is set to `false`, you
have to enable or disable deduplication at the namespace level or the topic
level. | `false`
`brokerDeduplicationMaxNumberOfProducers` | The maximum number of producers
for which information is stored for deduplication purposes. | `10000`
`brokerDeduplicationEntriesInterval` | The number of entries after which a
deduplication informational snapshot is taken. A larger interval leads to fewer
snapshots being taken, though this lengthens the topic recovery time (the time
required for entries published after the snapshot to be replayed). | `1000`
+`brokerDeduplicationSnapshotIntervalSeconds`| The time period after which a
deduplication informational snapshot is taken. It runs simultaneously with
`brokerDeduplicationEntriesInterval`. |`120`
`brokerDeduplicationProducerInactivityTimeoutMinutes` | The time of inactivity
(in minutes) after which the broker discards deduplication information related
to a disconnected producer. | `360` (6 hours)
### Set default value at the broker-level
diff --git
a/site2/website/versioned_docs/version-2.7.1/reference-configuration.md
b/site2/website/versioned_docs/version-2.7.1/reference-configuration.md
index d622174..8e580c7 100644
--- a/site2/website/versioned_docs/version-2.7.1/reference-configuration.md
+++ b/site2/website/versioned_docs/version-2.7.1/reference-configuration.md
@@ -171,6 +171,7 @@ Pulsar brokers are responsible for handling incoming
messages from producers, di
|brokerDeduplicationEnabled| Sets the default behavior for message
deduplication in the broker. If enabled, the broker will reject messages that
were already stored in the topic. This setting can be overridden on a
per-namespace basis. |false|
|brokerDeduplicationMaxNumberOfProducers| The maximum number of producers for
which information will be stored for deduplication purposes. |10000|
|brokerDeduplicationEntriesInterval| The number of entries after which a
deduplication informational snapshot is taken. A larger interval will lead to
fewer snapshots being taken, though this would also lengthen the topic recovery
time (the time required for entries published after the snapshot to be
replayed). |1000|
+|brokerDeduplicationSnapshotIntervalSeconds| The time period after which a
deduplication informational snapshot is taken. It runs simultaneously with
`brokerDeduplicationEntriesInterval`. |120|
|brokerDeduplicationProducerInactivityTimeoutMinutes| The time of inactivity
(in minutes) after which the broker will discard deduplication information
related to a disconnected producer. |360|
|dispatchThrottlingRatePerReplicatorInMsg| The default messages per second
dispatch throttling-limit for every replicator in replication. The value of `0`
means disabling replication message dispatch-throttling| 0 |
|dispatchThrottlingRatePerReplicatorInByte| The default bytes per second
dispatch throttling-limit for every replicator in replication. The value of `0`
means disabling replication message-byte dispatch-throttling| 0 |
diff --git a/site2/website/versioned_docs/version-2.7.2/admin-api-topics.md
b/site2/website/versioned_docs/version-2.7.2/admin-api-topics.md
index 02a5a3a..e633d42 100644
--- a/site2/website/versioned_docs/version-2.7.2/admin-api-topics.md
+++ b/site2/website/versioned_docs/version-2.7.2/admin-api-topics.md
@@ -676,6 +676,240 @@ admin.topics().getLastMessage(topic);
<!--END_DOCUSAURUS_CODE_TABS-->
+
+### Configure deduplication snapshot interval
+
+#### Get deduplication snapshot interval
+
+To get the topic-level deduplication snapshot interval, use one of the
following methods.
+
+<!--DOCUSAURUS_CODE_TABS-->
+<!--Pulsar-admin API-->
+
+```
+pulsar-admin topics get-deduplication-snapshot-interval options
+```
+
+<!--REST API-->
+
+```
+{@inject:
endpoint|GET|/admin/v2/topics/:tenant/:namespace/:topic/deduplicationSnapshotInterval?version=[[pulsar:version_number]]}
+```
+
+<!--Java API-->
+
+```java
+admin.topics().getDeduplicationSnapshotInterval(topic)
+```
+<!--END_DOCUSAURUS_CODE_TABS-->
+
+#### Set deduplication snapshot interval
+
+To set the topic-level deduplication snapshot interval, use one of the
following methods.
+
+> **Prerequisite** `brokerDeduplicationEnabled` must be set to `true`.
+
+<!--DOCUSAURUS_CODE_TABS-->
+<!--Pulsar-admin API-->
+
+```
+pulsar-admin topics set-deduplication-snapshot-interval options
+```
+
+<!--REST API-->
+
+```
+{@inject:
endpoint|POST|/admin/v2/topics/:tenant/:namespace/:topic/deduplicationSnapshotInterval?version=[[pulsar:version_number]]}
+```
+
+```json
+{
+ "interval": 1000
+}
+```
+
+<!--Java API-->
+
+```java
+admin.topics().setDeduplicationSnapshotInterval(topic, 1000)
+```
+<!--END_DOCUSAURUS_CODE_TABS-->
+
+#### Remove deduplication snapshot interval
+
+To remove the topic-level deduplication snapshot interval, use one of the
following methods.
+
+<!--DOCUSAURUS_CODE_TABS-->
+<!--Pulsar-admin API-->
+
+```
+pulsar-admin topics remove-deduplication-snapshot-interval options
+```
+
+<!--REST API-->
+
+```
+{@inject:
endpoint|DELETE|/admin/v2/topics/:tenant/:namespace/:topic/deduplicationSnapshotInterval?version=[[pulsar:version_number]]}
+```
+
+<!--Java API-->
+
+```java
+admin.topics().removeDeduplicationSnapshotInterval(topic)
+```
+<!--END_DOCUSAURUS_CODE_TABS-->
+
+
+### Configure inactive topic policies
+
+#### Get inactive topic policies
+
+To get the topic-level inactive topic policies, use one of the following
methods.
+
+<!--DOCUSAURUS_CODE_TABS-->
+<!--Pulsar-admin API-->
+
+```
+pulsar-admin topics get-inactive-topic-policies options
+```
+
+<!--REST API-->
+
+```
+{@inject:
endpoint|GET|/admin/v2/topics/:tenant/:namespace/:topic/inactiveTopicPolicies?version=[[pulsar:version_number]]}
+```
+
+<!--Java API-->
+
+```java
+admin.topics().getInactiveTopicPolicies(topic)
+```
+<!--END_DOCUSAURUS_CODE_TABS-->
+
+#### Set inactive topic policies
+
+To set the topic-level inactive topic policies, use one of the following
methods.
+
+<!--DOCUSAURUS_CODE_TABS-->
+<!--Pulsar-admin API-->
+
+```
+pulsar-admin topics set-inactive-topic-policies options
+```
+
+<!--REST API-->
+
+```
+{@inject:
endpoint|POST|/admin/v2/topics/:tenant/:namespace/:topic/inactiveTopicPolicies?version=[[pulsar:version_number]]}
+```
+
+<!--Java API-->
+
+```java
+admin.topics().setInactiveTopicPolicies(topic, inactiveTopicPolicies)
+```
+<!--END_DOCUSAURUS_CODE_TABS-->
+
+#### Remove inactive topic policies
+
+To remove the topic-level inactive topic policies, use one of the following
methods.
+
+<!--DOCUSAURUS_CODE_TABS-->
+<!--Pulsar-admin API-->
+
+```
+pulsar-admin topics remove-inactive-topic-policies options
+```
+
+<!--REST API-->
+
+```
+{@inject:
endpoint|DELETE|/admin/v2/topics/:tenant/:namespace/:topic/inactiveTopicPolicies?version=[[pulsar:version_number]]}
+```
+
+<!--Java API-->
+
+```java
+admin.topics().removeInactiveTopicPolicies(topic)
+```
+<!--END_DOCUSAURUS_CODE_TABS-->
+
+
+### Configure offload policies
+
+#### Get offload policies
+
+To get the topic-level offload policies, use one of the following methods.
+
+<!--DOCUSAURUS_CODE_TABS-->
+<!--Pulsar-admin API-->
+
+```
+pulsar-admin topics get-offload-policies options
+```
+
+<!--REST API-->
+
+```
+{@inject:
endpoint|GET|/admin/v2/topics/:tenant/:namespace/:topic/offloadPolicies?version=[[pulsar:version_number]]}
+```
+
+<!--Java API-->
+
+```java
+admin.topics().getOffloadPolicies(topic)
+```
+<!--END_DOCUSAURUS_CODE_TABS-->
+
+#### Set offload policies
+
+To set the topic-level offload policies, use one of the following methods.
+
+<!--DOCUSAURUS_CODE_TABS-->
+<!--Pulsar-admin API-->
+
+```
+pulsar-admin topics set-offload-policies options
+```
+
+<!--REST API-->
+
+```
+{@inject:
endpoint|POST|/admin/v2/topics/:tenant/:namespace/:topic/offloadPolicies?version=[[pulsar:version_number]]}
+```
+
+<!--Java API-->
+
+```java
+admin.topics().setOffloadPolicies(topic, offloadPolicies)
+```
+<!--END_DOCUSAURUS_CODE_TABS-->
+
+#### Remove offload policies
+
+To remove the topic-level offload policies, use one of the following methods.
+
+<!--DOCUSAURUS_CODE_TABS-->
+<!--Pulsar-admin API-->
+
+```
+pulsar-admin topics remove-offload-policies options
+```
+
+<!--REST API-->
+
+```
+{@inject:
endpoint|DELETE|/admin/v2/topics/:tenant/:namespace/:topic/offloadPolicies?version=[[pulsar:version_number]]}
+```
+
+<!--Java API-->
+
+```java
+admin.topics().removeOffloadPolicies(topic)
+```
+<!--END_DOCUSAURUS_CODE_TABS-->
+
+
## Manage non-partitioned topics
You can use Pulsar [admin API](admin-api-overview.md) to create, delete and
check status of non-partitioned topics.
diff --git
a/site2/website/versioned_docs/version-2.7.2/cookbooks-deduplication.md
b/site2/website/versioned_docs/version-2.7.2/cookbooks-deduplication.md
index e0412eb..2327511 100644
--- a/site2/website/versioned_docs/version-2.7.2/cookbooks-deduplication.md
+++ b/site2/website/versioned_docs/version-2.7.2/cookbooks-deduplication.md
@@ -26,6 +26,7 @@ Parameter | Description | Default
`brokerDeduplicationEnabled` | Sets the default behavior for message
deduplication in the Pulsar broker. If it is set to `true`, message
deduplication is enabled on all namespaces/topics. If it is set to `false`, you
have to enable or disable deduplication at the namespace level or the topic
level. | `false`
`brokerDeduplicationMaxNumberOfProducers` | The maximum number of producers
for which information is stored for deduplication purposes. | `10000`
`brokerDeduplicationEntriesInterval` | The number of entries after which a
deduplication informational snapshot is taken. A larger interval leads to fewer
snapshots being taken, though this lengthens the topic recovery time (the time
required for entries published after the snapshot to be replayed). | `1000`
+`brokerDeduplicationSnapshotIntervalSeconds`| The time period after which a
deduplication informational snapshot is taken. It runs simultaneously with
`brokerDeduplicationEntriesInterval`. |`120`
`brokerDeduplicationProducerInactivityTimeoutMinutes` | The time of inactivity
(in minutes) after which the broker discards deduplication information related
to a disconnected producer. | `360` (6 hours)
### Set default value at the broker-level
diff --git
a/site2/website/versioned_docs/version-2.7.2/reference-configuration.md
b/site2/website/versioned_docs/version-2.7.2/reference-configuration.md
index 9ba7361..8b6532b 100644
--- a/site2/website/versioned_docs/version-2.7.2/reference-configuration.md
+++ b/site2/website/versioned_docs/version-2.7.2/reference-configuration.md
@@ -171,6 +171,7 @@ Pulsar brokers are responsible for handling incoming
messages from producers, di
|brokerDeduplicationEnabled| Sets the default behavior for message
deduplication in the broker. If enabled, the broker will reject messages that
were already stored in the topic. This setting can be overridden on a
per-namespace basis. |false|
|brokerDeduplicationMaxNumberOfProducers| The maximum number of producers for
which information will be stored for deduplication purposes. |10000|
|brokerDeduplicationEntriesInterval| The number of entries after which a
deduplication informational snapshot is taken. A larger interval will lead to
fewer snapshots being taken, though this would also lengthen the topic recovery
time (the time required for entries published after the snapshot to be
replayed). |1000|
+|brokerDeduplicationSnapshotIntervalSeconds| The time period after which a
deduplication informational snapshot is taken. It runs simultaneously with
`brokerDeduplicationEntriesInterval`. |120|
|brokerDeduplicationProducerInactivityTimeoutMinutes| The time of inactivity
(in minutes) after which the broker will discard deduplication information
related to a disconnected producer. |360|
|dispatchThrottlingRatePerReplicatorInMsg| The default messages per second
dispatch throttling-limit for every replicator in replication. The value of `0`
means disabling replication message dispatch-throttling| 0 |
|dispatchThrottlingRatePerReplicatorInByte| The default bytes per second
dispatch throttling-limit for every replicator in replication. The value of `0`
means disabling replication message-byte dispatch-throttling| 0 |
diff --git a/site2/website/versioned_docs/version-2.7.3/admin-api-topics.md
b/site2/website/versioned_docs/version-2.7.3/admin-api-topics.md
index aca6c6b..b3069d1 100644
--- a/site2/website/versioned_docs/version-2.7.3/admin-api-topics.md
+++ b/site2/website/versioned_docs/version-2.7.3/admin-api-topics.md
@@ -676,6 +676,240 @@ admin.topics().getLastMessage(topic);
<!--END_DOCUSAURUS_CODE_TABS-->
+
+### Configure deduplication snapshot interval
+
+#### Get deduplication snapshot interval
+
+To get the topic-level deduplication snapshot interval, use one of the
following methods.
+
+<!--DOCUSAURUS_CODE_TABS-->
+<!--Pulsar-admin API-->
+
+```
+pulsar-admin topics get-deduplication-snapshot-interval options
+```
+
+<!--REST API-->
+
+```
+{@inject:
endpoint|GET|/admin/v2/topics/:tenant/:namespace/:topic/deduplicationSnapshotInterval?version=[[pulsar:version_number]]}
+```
+
+<!--Java API-->
+
+```java
+admin.topics().getDeduplicationSnapshotInterval(topic)
+```
+<!--END_DOCUSAURUS_CODE_TABS-->
+
+#### Set deduplication snapshot interval
+
+To set the topic-level deduplication snapshot interval, use one of the
following methods.
+
+> **Prerequisite** `brokerDeduplicationEnabled` must be set to `true`.
+
+<!--DOCUSAURUS_CODE_TABS-->
+<!--Pulsar-admin API-->
+
+```
+pulsar-admin topics set-deduplication-snapshot-interval options
+```
+
+<!--REST API-->
+
+```
+{@inject:
endpoint|POST|/admin/v2/topics/:tenant/:namespace/:topic/deduplicationSnapshotInterval?version=[[pulsar:version_number]]}
+```
+
+```json
+{
+ "interval": 1000
+}
+```
+
+<!--Java API-->
+
+```java
+admin.topics().setDeduplicationSnapshotInterval(topic, 1000)
+```
+<!--END_DOCUSAURUS_CODE_TABS-->
+
+#### Remove deduplication snapshot interval
+
+To remove the topic-level deduplication snapshot interval, use one of the
following methods.
+
+<!--DOCUSAURUS_CODE_TABS-->
+<!--Pulsar-admin API-->
+
+```
+pulsar-admin topics remove-deduplication-snapshot-interval options
+```
+
+<!--REST API-->
+
+```
+{@inject:
endpoint|DELETE|/admin/v2/topics/:tenant/:namespace/:topic/deduplicationSnapshotInterval?version=[[pulsar:version_number]]}
+```
+
+<!--Java API-->
+
+```java
+admin.topics().removeDeduplicationSnapshotInterval(topic)
+```
+<!--END_DOCUSAURUS_CODE_TABS-->
+
+
+### Configure inactive topic policies
+
+#### Get inactive topic policies
+
+To get the topic-level inactive topic policies, use one of the following
methods.
+
+<!--DOCUSAURUS_CODE_TABS-->
+<!--Pulsar-admin API-->
+
+```
+pulsar-admin topics get-inactive-topic-policies options
+```
+
+<!--REST API-->
+
+```
+{@inject:
endpoint|GET|/admin/v2/topics/:tenant/:namespace/:topic/inactiveTopicPolicies?version=[[pulsar:version_number]]}
+```
+
+<!--Java API-->
+
+```java
+admin.topics().getInactiveTopicPolicies(topic)
+```
+<!--END_DOCUSAURUS_CODE_TABS-->
+
+#### Set inactive topic policies
+
+To set the topic-level inactive topic policies, use one of the following
methods.
+
+<!--DOCUSAURUS_CODE_TABS-->
+<!--Pulsar-admin API-->
+
+```
+pulsar-admin topics set-inactive-topic-policies options
+```
+
+<!--REST API-->
+
+```
+{@inject:
endpoint|POST|/admin/v2/topics/:tenant/:namespace/:topic/inactiveTopicPolicies?version=[[pulsar:version_number]]}
+```
+
+<!--Java API-->
+
+```java
+admin.topics().setInactiveTopicPolicies(topic, inactiveTopicPolicies)
+```
+<!--END_DOCUSAURUS_CODE_TABS-->
+
+#### Remove inactive topic policies
+
+To remove the topic-level inactive topic policies, use one of the following
methods.
+
+<!--DOCUSAURUS_CODE_TABS-->
+<!--Pulsar-admin API-->
+
+```
+pulsar-admin topics remove-inactive-topic-policies options
+```
+
+<!--REST API-->
+
+```
+{@inject:
endpoint|DELETE|/admin/v2/topics/:tenant/:namespace/:topic/inactiveTopicPolicies?version=[[pulsar:version_number]]}
+```
+
+<!--Java API-->
+
+```java
+admin.topics().removeInactiveTopicPolicies(topic)
+```
+<!--END_DOCUSAURUS_CODE_TABS-->
+
+
+### Configure offload policies
+
+#### Get offload policies
+
+To get the topic-level offload policies, use one of the following methods.
+
+<!--DOCUSAURUS_CODE_TABS-->
+<!--Pulsar-admin API-->
+
+```
+pulsar-admin topics get-offload-policies options
+```
+
+<!--REST API-->
+
+```
+{@inject:
endpoint|GET|/admin/v2/topics/:tenant/:namespace/:topic/offloadPolicies?version=[[pulsar:version_number]]}
+```
+
+<!--Java API-->
+
+```java
+admin.topics().getOffloadPolicies(topic)
+```
+<!--END_DOCUSAURUS_CODE_TABS-->
+
+#### Set offload policies
+
+To set the topic-level offload policies, use one of the following methods.
+
+<!--DOCUSAURUS_CODE_TABS-->
+<!--Pulsar-admin API-->
+
+```
+pulsar-admin topics set-offload-policies options
+```
+
+<!--REST API-->
+
+```
+{@inject:
endpoint|POST|/admin/v2/topics/:tenant/:namespace/:topic/offloadPolicies?version=[[pulsar:version_number]]}
+```
+
+<!--Java API-->
+
+```java
+admin.topics().setOffloadPolicies(topic, offloadPolicies)
+```
+<!--END_DOCUSAURUS_CODE_TABS-->
+
+#### Remove offload policies
+
+To remove the topic-level offload policies, use one of the following methods.
+
+<!--DOCUSAURUS_CODE_TABS-->
+<!--Pulsar-admin API-->
+
+```
+pulsar-admin topics remove-offload-policies options
+```
+
+<!--REST API-->
+
+```
+{@inject:
endpoint|DELETE|/admin/v2/topics/:tenant/:namespace/:topic/offloadPolicies?version=[[pulsar:version_number]]}
+```
+
+<!--Java API-->
+
+```java
+admin.topics().removeOffloadPolicies(topic)
+```
+<!--END_DOCUSAURUS_CODE_TABS-->
+
+
## Manage non-partitioned topics
You can use Pulsar [admin API](admin-api-overview.md) to create, delete and
check status of non-partitioned topics.
diff --git
a/site2/website/versioned_docs/version-2.7.3/cookbooks-deduplication.md
b/site2/website/versioned_docs/version-2.7.3/cookbooks-deduplication.md
index cc415e0..b3d573a 100644
--- a/site2/website/versioned_docs/version-2.7.3/cookbooks-deduplication.md
+++ b/site2/website/versioned_docs/version-2.7.3/cookbooks-deduplication.md
@@ -26,6 +26,7 @@ Parameter | Description | Default
`brokerDeduplicationEnabled` | Sets the default behavior for message
deduplication in the Pulsar broker. If it is set to `true`, message
deduplication is enabled on all namespaces/topics. If it is set to `false`, you
have to enable or disable deduplication at the namespace level or the topic
level. | `false`
`brokerDeduplicationMaxNumberOfProducers` | The maximum number of producers
for which information is stored for deduplication purposes. | `10000`
`brokerDeduplicationEntriesInterval` | The number of entries after which a
deduplication informational snapshot is taken. A larger interval leads to fewer
snapshots being taken, though this lengthens the topic recovery time (the time
required for entries published after the snapshot to be replayed). | `1000`
+`brokerDeduplicationSnapshotIntervalSeconds`| The time period after which a
deduplication informational snapshot is taken. It runs simultaneously with
`brokerDeduplicationEntriesInterval`. |`120`
`brokerDeduplicationProducerInactivityTimeoutMinutes` | The time of inactivity
(in minutes) after which the broker discards deduplication information related
to a disconnected producer. | `360` (6 hours)
### Set default value at the broker-level
diff --git
a/site2/website/versioned_docs/version-2.7.3/reference-configuration.md
b/site2/website/versioned_docs/version-2.7.3/reference-configuration.md
index c4804fb..e9f3aac 100644
--- a/site2/website/versioned_docs/version-2.7.3/reference-configuration.md
+++ b/site2/website/versioned_docs/version-2.7.3/reference-configuration.md
@@ -171,6 +171,7 @@ Pulsar brokers are responsible for handling incoming
messages from producers, di
|brokerDeduplicationEnabled| Sets the default behavior for message
deduplication in the broker. If enabled, the broker will reject messages that
were already stored in the topic. This setting can be overridden on a
per-namespace basis. |false|
|brokerDeduplicationMaxNumberOfProducers| The maximum number of producers for
which information will be stored for deduplication purposes. |10000|
|brokerDeduplicationEntriesInterval| The number of entries after which a
deduplication informational snapshot is taken. A larger interval will lead to
fewer snapshots being taken, though this would also lengthen the topic recovery
time (the time required for entries published after the snapshot to be
replayed). |1000|
+|brokerDeduplicationSnapshotIntervalSeconds| The time period after which a
deduplication informational snapshot is taken. It runs simultaneously with
`brokerDeduplicationEntriesInterval`. |120|
|brokerDeduplicationProducerInactivityTimeoutMinutes| The time of inactivity
(in minutes) after which the broker will discard deduplication information
related to a disconnected producer. |360|
|dispatchThrottlingRatePerReplicatorInMsg| The default messages per second
dispatch throttling-limit for every replicator in replication. The value of `0`
means disabling replication message dispatch-throttling| 0 |
|dispatchThrottlingRatePerReplicatorInByte| The default bytes per second
dispatch throttling-limit for every replicator in replication. The value of `0`
means disabling replication message-byte dispatch-throttling| 0 |
diff --git a/site2/website/versioned_docs/version-2.7.4/admin-api-topics.md
b/site2/website/versioned_docs/version-2.7.4/admin-api-topics.md
index 05ded04..eca3ac4 100644
--- a/site2/website/versioned_docs/version-2.7.4/admin-api-topics.md
+++ b/site2/website/versioned_docs/version-2.7.4/admin-api-topics.md
@@ -676,6 +676,240 @@ admin.topics().getLastMessage(topic);
<!--END_DOCUSAURUS_CODE_TABS-->
+
+### Configure deduplication snapshot interval
+
+#### Get deduplication snapshot interval
+
+To get the topic-level deduplication snapshot interval, use one of the
following methods.
+
+<!--DOCUSAURUS_CODE_TABS-->
+<!--Pulsar-admin API-->
+
+```
+pulsar-admin topics get-deduplication-snapshot-interval options
+```
+
+<!--REST API-->
+
+```
+{@inject:
endpoint|GET|/admin/v2/topics/:tenant/:namespace/:topic/deduplicationSnapshotInterval?version=[[pulsar:version_number]]}
+```
+
+<!--Java API-->
+
+```java
+admin.topics().getDeduplicationSnapshotInterval(topic)
+```
+<!--END_DOCUSAURUS_CODE_TABS-->
+
+#### Set deduplication snapshot interval
+
+To set the topic-level deduplication snapshot interval, use one of the
following methods.
+
+> **Prerequisite** `brokerDeduplicationEnabled` must be set to `true`.
+
+<!--DOCUSAURUS_CODE_TABS-->
+<!--Pulsar-admin API-->
+
+```
+pulsar-admin topics set-deduplication-snapshot-interval options
+```
+
+<!--REST API-->
+
+```
+{@inject:
endpoint|POST|/admin/v2/topics/:tenant/:namespace/:topic/deduplicationSnapshotInterval?version=[[pulsar:version_number]]}
+```
+
+```json
+{
+ "interval": 1000
+}
+```
+
+<!--Java API-->
+
+```java
+admin.topics().setDeduplicationSnapshotInterval(topic, 1000)
+```
+<!--END_DOCUSAURUS_CODE_TABS-->
+
+#### Remove deduplication snapshot interval
+
+To remove the topic-level deduplication snapshot interval, use one of the
following methods.
+
+<!--DOCUSAURUS_CODE_TABS-->
+<!--Pulsar-admin API-->
+
+```
+pulsar-admin topics remove-deduplication-snapshot-interval options
+```
+
+<!--REST API-->
+
+```
+{@inject:
endpoint|DELETE|/admin/v2/topics/:tenant/:namespace/:topic/deduplicationSnapshotInterval?version=[[pulsar:version_number]]}
+```
+
+<!--Java API-->
+
+```java
+admin.topics().removeDeduplicationSnapshotInterval(topic)
+```
+<!--END_DOCUSAURUS_CODE_TABS-->
+
+
+### Configure inactive topic policies
+
+#### Get inactive topic policies
+
+To get the topic-level inactive topic policies, use one of the following
methods.
+
+<!--DOCUSAURUS_CODE_TABS-->
+<!--Pulsar-admin API-->
+
+```
+pulsar-admin topics get-inactive-topic-policies options
+```
+
+<!--REST API-->
+
+```
+{@inject:
endpoint|GET|/admin/v2/topics/:tenant/:namespace/:topic/inactiveTopicPolicies?version=[[pulsar:version_number]]}
+```
+
+<!--Java API-->
+
+```java
+admin.topics().getInactiveTopicPolicies(topic)
+```
+<!--END_DOCUSAURUS_CODE_TABS-->
+
+#### Set inactive topic policies
+
+To set the topic-level inactive topic policies, use one of the following
methods.
+
+<!--DOCUSAURUS_CODE_TABS-->
+<!--Pulsar-admin API-->
+
+```
+pulsar-admin topics set-inactive-topic-policies options
+```
+
+<!--REST API-->
+
+```
+{@inject:
endpoint|POST|/admin/v2/topics/:tenant/:namespace/:topic/inactiveTopicPolicies?version=[[pulsar:version_number]]}
+```
+
+<!--Java API-->
+
+```java
+admin.topics().setInactiveTopicPolicies(topic, inactiveTopicPolicies)
+```
+<!--END_DOCUSAURUS_CODE_TABS-->
+
+#### Remove inactive topic policies
+
+To remove the topic-level inactive topic policies, use one of the following
methods.
+
+<!--DOCUSAURUS_CODE_TABS-->
+<!--Pulsar-admin API-->
+
+```
+pulsar-admin topics remove-inactive-topic-policies options
+```
+
+<!--REST API-->
+
+```
+{@inject:
endpoint|DELETE|/admin/v2/topics/:tenant/:namespace/:topic/inactiveTopicPolicies?version=[[pulsar:version_number]]}
+```
+
+<!--Java API-->
+
+```java
+admin.topics().removeInactiveTopicPolicies(topic)
+```
+<!--END_DOCUSAURUS_CODE_TABS-->
+
+
+### Configure offload policies
+
+#### Get offload policies
+
+To get the topic-level offload policies, use one of the following methods.
+
+<!--DOCUSAURUS_CODE_TABS-->
+<!--Pulsar-admin API-->
+
+```
+pulsar-admin topics get-offload-policies options
+```
+
+<!--REST API-->
+
+```
+{@inject:
endpoint|GET|/admin/v2/topics/:tenant/:namespace/:topic/offloadPolicies?version=[[pulsar:version_number]]}
+```
+
+<!--Java API-->
+
+```java
+admin.topics().getOffloadPolicies(topic)
+```
+<!--END_DOCUSAURUS_CODE_TABS-->
+
+#### Set offload policies
+
+To set the topic-level offload policies, use one of the following methods.
+
+<!--DOCUSAURUS_CODE_TABS-->
+<!--Pulsar-admin API-->
+
+```
+pulsar-admin topics set-offload-policies options
+```
+
+<!--REST API-->
+
+```
+{@inject:
endpoint|POST|/admin/v2/topics/:tenant/:namespace/:topic/offloadPolicies?version=[[pulsar:version_number]]}
+```
+
+<!--Java API-->
+
+```java
+admin.topics().setOffloadPolicies(topic, offloadPolicies)
+```
+<!--END_DOCUSAURUS_CODE_TABS-->
+
+#### Remove offload policies
+
+To remove the topic-level offload policies, use one of the following methods.
+
+<!--DOCUSAURUS_CODE_TABS-->
+<!--Pulsar-admin API-->
+
+```
+pulsar-admin topics remove-offload-policies options
+```
+
+<!--REST API-->
+
+```
+{@inject:
endpoint|DELETE|/admin/v2/topics/:tenant/:namespace/:topic/offloadPolicies?version=[[pulsar:version_number]]}
+```
+
+<!--Java API-->
+
+```java
+admin.topics().removeOffloadPolicies(topic)
+```
+<!--END_DOCUSAURUS_CODE_TABS-->
+
+
## Manage non-partitioned topics
You can use Pulsar [admin API](admin-api-overview.md) to create, delete and
check status of non-partitioned topics.
diff --git
a/site2/website/versioned_docs/version-2.7.4/cookbooks-deduplication.md
b/site2/website/versioned_docs/version-2.7.4/cookbooks-deduplication.md
index 34eefcf..5b21422 100644
--- a/site2/website/versioned_docs/version-2.7.4/cookbooks-deduplication.md
+++ b/site2/website/versioned_docs/version-2.7.4/cookbooks-deduplication.md
@@ -26,6 +26,7 @@ Parameter | Description | Default
`brokerDeduplicationEnabled` | Sets the default behavior for message
deduplication in the Pulsar broker. If it is set to `true`, message
deduplication is enabled on all namespaces/topics. If it is set to `false`, you
have to enable or disable deduplication at the namespace level or the topic
level. | `false`
`brokerDeduplicationMaxNumberOfProducers` | The maximum number of producers
for which information is stored for deduplication purposes. | `10000`
`brokerDeduplicationEntriesInterval` | The number of entries after which a
deduplication informational snapshot is taken. A larger interval leads to fewer
snapshots being taken, though this lengthens the topic recovery time (the time
required for entries published after the snapshot to be replayed). | `1000`
+`brokerDeduplicationSnapshotIntervalSeconds`| The time period after which a
deduplication informational snapshot is taken. It runs simultaneously with
`brokerDeduplicationEntriesInterval`. |`120`
`brokerDeduplicationProducerInactivityTimeoutMinutes` | The time of inactivity
(in minutes) after which the broker discards deduplication information related
to a disconnected producer. | `360` (6 hours)
### Set default value at the broker-level
diff --git
a/site2/website/versioned_docs/version-2.7.4/reference-configuration.md
b/site2/website/versioned_docs/version-2.7.4/reference-configuration.md
index 0d9c094..022a905 100644
--- a/site2/website/versioned_docs/version-2.7.4/reference-configuration.md
+++ b/site2/website/versioned_docs/version-2.7.4/reference-configuration.md
@@ -169,6 +169,7 @@ Pulsar brokers are responsible for handling incoming
messages from producers, di
|brokerDeduplicationEnabled| Sets the default behavior for message
deduplication in the broker. If enabled, the broker will reject messages that
were already stored in the topic. This setting can be overridden on a
per-namespace basis. |false|
|brokerDeduplicationMaxNumberOfProducers| The maximum number of producers for
which information will be stored for deduplication purposes. |10000|
|brokerDeduplicationEntriesInterval| The number of entries after which a
deduplication informational snapshot is taken. A larger interval will lead to
fewer snapshots being taken, though this would also lengthen the topic recovery
time (the time required for entries published after the snapshot to be
replayed). |1000|
+|brokerDeduplicationSnapshotIntervalSeconds| The time period after which a
deduplication informational snapshot is taken. It runs simultaneously with
`brokerDeduplicationEntriesInterval`. |120|
|brokerDeduplicationProducerInactivityTimeoutMinutes| The time of inactivity
(in minutes) after which the broker will discard deduplication information
related to a disconnected producer. |360|
|dispatchThrottlingRatePerReplicatorInMsg| The default messages per second
dispatch throttling-limit for every replicator in replication. The value of `0`
means disabling replication message dispatch-throttling| 0 |
|dispatchThrottlingRatePerReplicatorInByte| The default bytes per second
dispatch throttling-limit for every replicator in replication. The value of `0`
means disabling replication message-byte dispatch-throttling| 0 |
diff --git a/site2/website/versioned_docs/version-2.8.0/admin-api-topics.md
b/site2/website/versioned_docs/version-2.8.0/admin-api-topics.md
index 2c2ed95..1e3c3e0 100644
--- a/site2/website/versioned_docs/version-2.8.0/admin-api-topics.md
+++ b/site2/website/versioned_docs/version-2.8.0/admin-api-topics.md
@@ -706,6 +706,240 @@ admin.topics().getLastMessage(topic);
<!--END_DOCUSAURUS_CODE_TABS-->
+
+### Configure deduplication snapshot interval
+
+#### Get deduplication snapshot interval
+
+To get the topic-level deduplication snapshot interval, use one of the
following methods.
+
+<!--DOCUSAURUS_CODE_TABS-->
+<!--Pulsar-admin API-->
+
+```
+pulsar-admin topics get-deduplication-snapshot-interval options
+```
+
+<!--REST API-->
+
+```
+{@inject:
endpoint|GET|/admin/v2/topics/:tenant/:namespace/:topic/deduplicationSnapshotInterval?version=[[pulsar:version_number]]}
+```
+
+<!--Java API-->
+
+```java
+admin.topics().getDeduplicationSnapshotInterval(topic)
+```
+<!--END_DOCUSAURUS_CODE_TABS-->
+
+#### Set deduplication snapshot interval
+
+To set the topic-level deduplication snapshot interval, use one of the
following methods.
+
+> **Prerequisite** `brokerDeduplicationEnabled` must be set to `true`.
+
+<!--DOCUSAURUS_CODE_TABS-->
+<!--Pulsar-admin API-->
+
+```
+pulsar-admin topics set-deduplication-snapshot-interval options
+```
+
+<!--REST API-->
+
+```
+{@inject:
endpoint|POST|/admin/v2/topics/:tenant/:namespace/:topic/deduplicationSnapshotInterval?version=[[pulsar:version_number]]}
+```
+
+```json
+{
+ "interval": 1000
+}
+```
+
+<!--Java API-->
+
+```java
+admin.topics().setDeduplicationSnapshotInterval(topic, 1000)
+```
+<!--END_DOCUSAURUS_CODE_TABS-->
+
+#### Remove deduplication snapshot interval
+
+To remove the topic-level deduplication snapshot interval, use one of the
following methods.
+
+<!--DOCUSAURUS_CODE_TABS-->
+<!--Pulsar-admin API-->
+
+```
+pulsar-admin topics remove-deduplication-snapshot-interval options
+```
+
+<!--REST API-->
+
+```
+{@inject:
endpoint|DELETE|/admin/v2/topics/:tenant/:namespace/:topic/deduplicationSnapshotInterval?version=[[pulsar:version_number]]}
+```
+
+<!--Java API-->
+
+```java
+admin.topics().removeDeduplicationSnapshotInterval(topic)
+```
+<!--END_DOCUSAURUS_CODE_TABS-->
+
+
+### Configure inactive topic policies
+
+#### Get inactive topic policies
+
+To get the topic-level inactive topic policies, use one of the following
methods.
+
+<!--DOCUSAURUS_CODE_TABS-->
+<!--Pulsar-admin API-->
+
+```
+pulsar-admin topics get-inactive-topic-policies options
+```
+
+<!--REST API-->
+
+```
+{@inject:
endpoint|GET|/admin/v2/topics/:tenant/:namespace/:topic/inactiveTopicPolicies?version=[[pulsar:version_number]]}
+```
+
+<!--Java API-->
+
+```java
+admin.topics().getInactiveTopicPolicies(topic)
+```
+<!--END_DOCUSAURUS_CODE_TABS-->
+
+#### Set inactive topic policies
+
+To set the topic-level inactive topic policies, use one of the following
methods.
+
+<!--DOCUSAURUS_CODE_TABS-->
+<!--Pulsar-admin API-->
+
+```
+pulsar-admin topics set-inactive-topic-policies options
+```
+
+<!--REST API-->
+
+```
+{@inject:
endpoint|POST|/admin/v2/topics/:tenant/:namespace/:topic/inactiveTopicPolicies?version=[[pulsar:version_number]]}
+```
+
+<!--Java API-->
+
+```java
+admin.topics().setInactiveTopicPolicies(topic, inactiveTopicPolicies)
+```
+<!--END_DOCUSAURUS_CODE_TABS-->
+
+#### Remove inactive topic policies
+
+To remove the topic-level inactive topic policies, use one of the following
methods.
+
+<!--DOCUSAURUS_CODE_TABS-->
+<!--Pulsar-admin API-->
+
+```
+pulsar-admin topics remove-inactive-topic-policies options
+```
+
+<!--REST API-->
+
+```
+{@inject:
endpoint|DELETE|/admin/v2/topics/:tenant/:namespace/:topic/inactiveTopicPolicies?version=[[pulsar:version_number]]}
+```
+
+<!--Java API-->
+
+```java
+admin.topics().removeInactiveTopicPolicies(topic)
+```
+<!--END_DOCUSAURUS_CODE_TABS-->
+
+
+### Configure offload policies
+
+#### Get offload policies
+
+To get the topic-level offload policies, use one of the following methods.
+
+<!--DOCUSAURUS_CODE_TABS-->
+<!--Pulsar-admin API-->
+
+```
+pulsar-admin topics get-offload-policies options
+```
+
+<!--REST API-->
+
+```
+{@inject:
endpoint|GET|/admin/v2/topics/:tenant/:namespace/:topic/offloadPolicies?version=[[pulsar:version_number]]}
+```
+
+<!--Java API-->
+
+```java
+admin.topics().getOffloadPolicies(topic)
+```
+<!--END_DOCUSAURUS_CODE_TABS-->
+
+#### Set offload policies
+
+To set the topic-level offload policies, use one of the following methods.
+
+<!--DOCUSAURUS_CODE_TABS-->
+<!--Pulsar-admin API-->
+
+```
+pulsar-admin topics set-offload-policies options
+```
+
+<!--REST API-->
+
+```
+{@inject:
endpoint|POST|/admin/v2/topics/:tenant/:namespace/:topic/offloadPolicies?version=[[pulsar:version_number]]}
+```
+
+<!--Java API-->
+
+```java
+admin.topics().setOffloadPolicies(topic, offloadPolicies)
+```
+<!--END_DOCUSAURUS_CODE_TABS-->
+
+#### Remove offload policies
+
+To remove the topic-level offload policies, use one of the following methods.
+
+<!--DOCUSAURUS_CODE_TABS-->
+<!--Pulsar-admin API-->
+
+```
+pulsar-admin topics remove-offload-policies options
+```
+
+<!--REST API-->
+
+```
+{@inject:
endpoint|DELETE|/admin/v2/topics/:tenant/:namespace/:topic/offloadPolicies?version=[[pulsar:version_number]]}
+```
+
+<!--Java API-->
+
+```java
+admin.topics().removeOffloadPolicies(topic)
+```
+<!--END_DOCUSAURUS_CODE_TABS-->
+
+
## Manage non-partitioned topics
You can use Pulsar [admin API](admin-api-overview.md) to create, delete and
check status of non-partitioned topics.
diff --git
a/site2/website/versioned_docs/version-2.8.0/cookbooks-deduplication.md
b/site2/website/versioned_docs/version-2.8.0/cookbooks-deduplication.md
index fd3a82c..4248ff1 100644
--- a/site2/website/versioned_docs/version-2.8.0/cookbooks-deduplication.md
+++ b/site2/website/versioned_docs/version-2.8.0/cookbooks-deduplication.md
@@ -26,6 +26,7 @@ Parameter | Description | Default
`brokerDeduplicationEnabled` | Sets the default behavior for message
deduplication in the Pulsar broker. If it is set to `true`, message
deduplication is enabled on all namespaces/topics. If it is set to `false`, you
have to enable or disable deduplication at the namespace level or the topic
level. | `false`
`brokerDeduplicationMaxNumberOfProducers` | The maximum number of producers
for which information is stored for deduplication purposes. | `10000`
`brokerDeduplicationEntriesInterval` | The number of entries after which a
deduplication informational snapshot is taken. A larger interval leads to fewer
snapshots being taken, though this lengthens the topic recovery time (the time
required for entries published after the snapshot to be replayed). | `1000`
+`brokerDeduplicationSnapshotIntervalSeconds`| The time period after which a
deduplication informational snapshot is taken. It runs simultaneously with
`brokerDeduplicationEntriesInterval`. |`120`
`brokerDeduplicationProducerInactivityTimeoutMinutes` | The time of inactivity
(in minutes) after which the broker discards deduplication information related
to a disconnected producer. | `360` (6 hours)
### Set default value at the broker-level
diff --git
a/site2/website/versioned_docs/version-2.8.0/reference-configuration.md
b/site2/website/versioned_docs/version-2.8.0/reference-configuration.md
index 44583b6..665ee71 100644
--- a/site2/website/versioned_docs/version-2.8.0/reference-configuration.md
+++ b/site2/website/versioned_docs/version-2.8.0/reference-configuration.md
@@ -170,6 +170,7 @@ Pulsar brokers are responsible for handling incoming
messages from producers, di
|brokerDeduplicationEnabled| Sets the default behavior for message
deduplication in the broker. If enabled, the broker will reject messages that
were already stored in the topic. This setting can be overridden on a
per-namespace basis. |false|
|brokerDeduplicationMaxNumberOfProducers| The maximum number of producers for
which information will be stored for deduplication purposes. |10000|
|brokerDeduplicationEntriesInterval| The number of entries after which a
deduplication informational snapshot is taken. A larger interval will lead to
fewer snapshots being taken, though this would also lengthen the topic recovery
time (the time required for entries published after the snapshot to be
replayed). |1000|
+|brokerDeduplicationSnapshotIntervalSeconds| The time period after which a
deduplication informational snapshot is taken. It runs simultaneously with
`brokerDeduplicationEntriesInterval`. |120|
|brokerDeduplicationProducerInactivityTimeoutMinutes| The time of inactivity
(in minutes) after which the broker will discard deduplication information
related to a disconnected producer. |360|
|dispatchThrottlingRatePerReplicatorInMsg| The default messages per second
dispatch throttling-limit for every replicator in replication. The value of `0`
means disabling replication message dispatch-throttling| 0 |
|dispatchThrottlingRatePerReplicatorInByte| The default bytes per second
dispatch throttling-limit for every replicator in replication. The value of `0`
means disabling replication message-byte dispatch-throttling| 0 |
diff --git a/site2/website/versioned_docs/version-2.8.1/admin-api-topics.md
b/site2/website/versioned_docs/version-2.8.1/admin-api-topics.md
index 9dfd1d4..d254cd6 100644
--- a/site2/website/versioned_docs/version-2.8.1/admin-api-topics.md
+++ b/site2/website/versioned_docs/version-2.8.1/admin-api-topics.md
@@ -706,6 +706,241 @@ admin.topics().getLastMessage(topic);
<!--END_DOCUSAURUS_CODE_TABS-->
+
+
+### Configure deduplication snapshot interval
+
+#### Get deduplication snapshot interval
+
+To get the topic-level deduplication snapshot interval, use one of the
following methods.
+
+<!--DOCUSAURUS_CODE_TABS-->
+<!--Pulsar-admin API-->
+
+```
+pulsar-admin topics get-deduplication-snapshot-interval options
+```
+
+<!--REST API-->
+
+```
+{@inject:
endpoint|GET|/admin/v2/topics/:tenant/:namespace/:topic/deduplicationSnapshotInterval?version=[[pulsar:version_number]]}
+```
+
+<!--Java API-->
+
+```java
+admin.topics().getDeduplicationSnapshotInterval(topic)
+```
+<!--END_DOCUSAURUS_CODE_TABS-->
+
+#### Set deduplication snapshot interval
+
+To set the topic-level deduplication snapshot interval, use one of the
following methods.
+
+> **Prerequisite** `brokerDeduplicationEnabled` must be set to `true`.
+
+<!--DOCUSAURUS_CODE_TABS-->
+<!--Pulsar-admin API-->
+
+```
+pulsar-admin topics set-deduplication-snapshot-interval options
+```
+
+<!--REST API-->
+
+```
+{@inject:
endpoint|POST|/admin/v2/topics/:tenant/:namespace/:topic/deduplicationSnapshotInterval?version=[[pulsar:version_number]]}
+```
+
+```json
+{
+ "interval": 1000
+}
+```
+
+<!--Java API-->
+
+```java
+admin.topics().setDeduplicationSnapshotInterval(topic, 1000)
+```
+<!--END_DOCUSAURUS_CODE_TABS-->
+
+#### Remove deduplication snapshot interval
+
+To remove the topic-level deduplication snapshot interval, use one of the
following methods.
+
+<!--DOCUSAURUS_CODE_TABS-->
+<!--Pulsar-admin API-->
+
+```
+pulsar-admin topics remove-deduplication-snapshot-interval options
+```
+
+<!--REST API-->
+
+```
+{@inject:
endpoint|DELETE|/admin/v2/topics/:tenant/:namespace/:topic/deduplicationSnapshotInterval?version=[[pulsar:version_number]]}
+```
+
+<!--Java API-->
+
+```java
+admin.topics().removeDeduplicationSnapshotInterval(topic)
+```
+<!--END_DOCUSAURUS_CODE_TABS-->
+
+
+### Configure inactive topic policies
+
+#### Get inactive topic policies
+
+To get the topic-level inactive topic policies, use one of the following
methods.
+
+<!--DOCUSAURUS_CODE_TABS-->
+<!--Pulsar-admin API-->
+
+```
+pulsar-admin topics get-inactive-topic-policies options
+```
+
+<!--REST API-->
+
+```
+{@inject:
endpoint|GET|/admin/v2/topics/:tenant/:namespace/:topic/inactiveTopicPolicies?version=[[pulsar:version_number]]}
+```
+
+<!--Java API-->
+
+```java
+admin.topics().getInactiveTopicPolicies(topic)
+```
+<!--END_DOCUSAURUS_CODE_TABS-->
+
+#### Set inactive topic policies
+
+To set the topic-level inactive topic policies, use one of the following
methods.
+
+<!--DOCUSAURUS_CODE_TABS-->
+<!--Pulsar-admin API-->
+
+```
+pulsar-admin topics set-inactive-topic-policies options
+```
+
+<!--REST API-->
+
+```
+{@inject:
endpoint|POST|/admin/v2/topics/:tenant/:namespace/:topic/inactiveTopicPolicies?version=[[pulsar:version_number]]}
+```
+
+<!--Java API-->
+
+```java
+admin.topics().setInactiveTopicPolicies(topic, inactiveTopicPolicies)
+```
+<!--END_DOCUSAURUS_CODE_TABS-->
+
+#### Remove inactive topic policies
+
+To remove the topic-level inactive topic policies, use one of the following
methods.
+
+<!--DOCUSAURUS_CODE_TABS-->
+<!--Pulsar-admin API-->
+
+```
+pulsar-admin topics remove-inactive-topic-policies options
+```
+
+<!--REST API-->
+
+```
+{@inject:
endpoint|DELETE|/admin/v2/topics/:tenant/:namespace/:topic/inactiveTopicPolicies?version=[[pulsar:version_number]]}
+```
+
+<!--Java API-->
+
+```java
+admin.topics().removeInactiveTopicPolicies(topic)
+```
+<!--END_DOCUSAURUS_CODE_TABS-->
+
+
+### Configure offload policies
+
+#### Get offload policies
+
+To get the topic-level offload policies, use one of the following methods.
+
+<!--DOCUSAURUS_CODE_TABS-->
+<!--Pulsar-admin API-->
+
+```
+pulsar-admin topics get-offload-policies options
+```
+
+<!--REST API-->
+
+```
+{@inject:
endpoint|GET|/admin/v2/topics/:tenant/:namespace/:topic/offloadPolicies?version=[[pulsar:version_number]]}
+```
+
+<!--Java API-->
+
+```java
+admin.topics().getOffloadPolicies(topic)
+```
+<!--END_DOCUSAURUS_CODE_TABS-->
+
+#### Set offload policies
+
+To set the topic-level offload policies, use one of the following methods.
+
+<!--DOCUSAURUS_CODE_TABS-->
+<!--Pulsar-admin API-->
+
+```
+pulsar-admin topics set-offload-policies options
+```
+
+<!--REST API-->
+
+```
+{@inject:
endpoint|POST|/admin/v2/topics/:tenant/:namespace/:topic/offloadPolicies?version=[[pulsar:version_number]]}
+```
+
+<!--Java API-->
+
+```java
+admin.topics().setOffloadPolicies(topic, offloadPolicies)
+```
+<!--END_DOCUSAURUS_CODE_TABS-->
+
+#### Remove offload policies
+
+To remove the topic-level offload policies, use one of the following methods.
+
+<!--DOCUSAURUS_CODE_TABS-->
+<!--Pulsar-admin API-->
+
+```
+pulsar-admin topics remove-offload-policies options
+```
+
+<!--REST API-->
+
+```
+{@inject:
endpoint|DELETE|/admin/v2/topics/:tenant/:namespace/:topic/offloadPolicies?version=[[pulsar:version_number]]}
+```
+
+<!--Java API-->
+
+```java
+admin.topics().removeOffloadPolicies(topic)
+```
+<!--END_DOCUSAURUS_CODE_TABS-->
+
+
## Manage non-partitioned topics
You can use Pulsar [admin API](admin-api-overview.md) to create, delete and
check status of non-partitioned topics.
diff --git
a/site2/website/versioned_docs/version-2.8.1/cookbooks-deduplication.md
b/site2/website/versioned_docs/version-2.8.1/cookbooks-deduplication.md
index a5f05e2..0d230fd 100644
--- a/site2/website/versioned_docs/version-2.8.1/cookbooks-deduplication.md
+++ b/site2/website/versioned_docs/version-2.8.1/cookbooks-deduplication.md
@@ -26,6 +26,7 @@ Parameter | Description | Default
`brokerDeduplicationEnabled` | Sets the default behavior for message
deduplication in the Pulsar broker. If it is set to `true`, message
deduplication is enabled on all namespaces/topics. If it is set to `false`, you
have to enable or disable deduplication at the namespace level or the topic
level. | `false`
`brokerDeduplicationMaxNumberOfProducers` | The maximum number of producers
for which information is stored for deduplication purposes. | `10000`
`brokerDeduplicationEntriesInterval` | The number of entries after which a
deduplication informational snapshot is taken. A larger interval leads to fewer
snapshots being taken, though this lengthens the topic recovery time (the time
required for entries published after the snapshot to be replayed). | `1000`
+`brokerDeduplicationSnapshotIntervalSeconds`| The time period after which a
deduplication informational snapshot is taken. It runs simultaneously with
`brokerDeduplicationEntriesInterval`. |`120`
`brokerDeduplicationProducerInactivityTimeoutMinutes` | The time of inactivity
(in minutes) after which the broker discards deduplication information related
to a disconnected producer. | `360` (6 hours)
### Set default value at the broker-level
diff --git
a/site2/website/versioned_docs/version-2.8.1/reference-configuration.md
b/site2/website/versioned_docs/version-2.8.1/reference-configuration.md
index 7c4da96..d07a02a 100644
--- a/site2/website/versioned_docs/version-2.8.1/reference-configuration.md
+++ b/site2/website/versioned_docs/version-2.8.1/reference-configuration.md
@@ -170,6 +170,7 @@ Pulsar brokers are responsible for handling incoming
messages from producers, di
|brokerDeduplicationEnabled| Sets the default behavior for message
deduplication in the broker. If enabled, the broker will reject messages that
were already stored in the topic. This setting can be overridden on a
per-namespace basis. |false|
|brokerDeduplicationMaxNumberOfProducers| The maximum number of producers for
which information will be stored for deduplication purposes. |10000|
|brokerDeduplicationEntriesInterval| The number of entries after which a
deduplication informational snapshot is taken. A larger interval will lead to
fewer snapshots being taken, though this would also lengthen the topic recovery
time (the time required for entries published after the snapshot to be
replayed). |1000|
+|brokerDeduplicationSnapshotIntervalSeconds| The time period after which a
deduplication informational snapshot is taken. It runs simultaneously with
`brokerDeduplicationEntriesInterval`. |120|
|brokerDeduplicationProducerInactivityTimeoutMinutes| The time of inactivity
(in minutes) after which the broker will discard deduplication information
related to a disconnected producer. |360|
|dispatchThrottlingRatePerReplicatorInMsg| The default messages per second
dispatch throttling-limit for every replicator in replication. The value of `0`
means disabling replication message dispatch-throttling| 0 |
|dispatchThrottlingRatePerReplicatorInByte| The default bytes per second
dispatch throttling-limit for every replicator in replication. The value of `0`
means disabling replication message-byte dispatch-throttling| 0 |
diff --git a/site2/website/versioned_docs/version-2.8.2/admin-api-topics.md
b/site2/website/versioned_docs/version-2.8.2/admin-api-topics.md
index a893baa..29047fe 100644
--- a/site2/website/versioned_docs/version-2.8.2/admin-api-topics.md
+++ b/site2/website/versioned_docs/version-2.8.2/admin-api-topics.md
@@ -716,6 +716,240 @@ admin.topics().getLastMessage(topic);
<!--END_DOCUSAURUS_CODE_TABS-->
+
+### Configure deduplication snapshot interval
+
+#### Get deduplication snapshot interval
+
+To get the topic-level deduplication snapshot interval, use one of the
following methods.
+
+<!--DOCUSAURUS_CODE_TABS-->
+<!--Pulsar-admin API-->
+
+```
+pulsar-admin topics get-deduplication-snapshot-interval options
+```
+
+<!--REST API-->
+
+```
+{@inject:
endpoint|GET|/admin/v2/topics/:tenant/:namespace/:topic/deduplicationSnapshotInterval?version=[[pulsar:version_number]]}
+```
+
+<!--Java API-->
+
+```java
+admin.topics().getDeduplicationSnapshotInterval(topic)
+```
+<!--END_DOCUSAURUS_CODE_TABS-->
+
+#### Set deduplication snapshot interval
+
+To set the topic-level deduplication snapshot interval, use one of the
following methods.
+
+> **Prerequisite** `brokerDeduplicationEnabled` must be set to `true`.
+
+<!--DOCUSAURUS_CODE_TABS-->
+<!--Pulsar-admin API-->
+
+```
+pulsar-admin topics set-deduplication-snapshot-interval options
+```
+
+<!--REST API-->
+
+```
+{@inject:
endpoint|POST|/admin/v2/topics/:tenant/:namespace/:topic/deduplicationSnapshotInterval?version=[[pulsar:version_number]]}
+```
+
+```json
+{
+ "interval": 1000
+}
+```
+
+<!--Java API-->
+
+```java
+admin.topics().setDeduplicationSnapshotInterval(topic, 1000)
+```
+<!--END_DOCUSAURUS_CODE_TABS-->
+
+#### Remove deduplication snapshot interval
+
+To remove the topic-level deduplication snapshot interval, use one of the
following methods.
+
+<!--DOCUSAURUS_CODE_TABS-->
+<!--Pulsar-admin API-->
+
+```
+pulsar-admin topics remove-deduplication-snapshot-interval options
+```
+
+<!--REST API-->
+
+```
+{@inject:
endpoint|DELETE|/admin/v2/topics/:tenant/:namespace/:topic/deduplicationSnapshotInterval?version=[[pulsar:version_number]]}
+```
+
+<!--Java API-->
+
+```java
+admin.topics().removeDeduplicationSnapshotInterval(topic)
+```
+<!--END_DOCUSAURUS_CODE_TABS-->
+
+
+### Configure inactive topic policies
+
+#### Get inactive topic policies
+
+To get the topic-level inactive topic policies, use one of the following
methods.
+
+<!--DOCUSAURUS_CODE_TABS-->
+<!--Pulsar-admin API-->
+
+```
+pulsar-admin topics get-inactive-topic-policies options
+```
+
+<!--REST API-->
+
+```
+{@inject:
endpoint|GET|/admin/v2/topics/:tenant/:namespace/:topic/inactiveTopicPolicies?version=[[pulsar:version_number]]}
+```
+
+<!--Java API-->
+
+```java
+admin.topics().getInactiveTopicPolicies(topic)
+```
+<!--END_DOCUSAURUS_CODE_TABS-->
+
+#### Set inactive topic policies
+
+To set the topic-level inactive topic policies, use one of the following
methods.
+
+<!--DOCUSAURUS_CODE_TABS-->
+<!--Pulsar-admin API-->
+
+```
+pulsar-admin topics set-inactive-topic-policies options
+```
+
+<!--REST API-->
+
+```
+{@inject:
endpoint|POST|/admin/v2/topics/:tenant/:namespace/:topic/inactiveTopicPolicies?version=[[pulsar:version_number]]}
+```
+
+<!--Java API-->
+
+```java
+admin.topics().setInactiveTopicPolicies(topic, inactiveTopicPolicies)
+```
+<!--END_DOCUSAURUS_CODE_TABS-->
+
+#### Remove inactive topic policies
+
+To remove the topic-level inactive topic policies, use one of the following
methods.
+
+<!--DOCUSAURUS_CODE_TABS-->
+<!--Pulsar-admin API-->
+
+```
+pulsar-admin topics remove-inactive-topic-policies options
+```
+
+<!--REST API-->
+
+```
+{@inject:
endpoint|DELETE|/admin/v2/topics/:tenant/:namespace/:topic/inactiveTopicPolicies?version=[[pulsar:version_number]]}
+```
+
+<!--Java API-->
+
+```java
+admin.topics().removeInactiveTopicPolicies(topic)
+```
+<!--END_DOCUSAURUS_CODE_TABS-->
+
+
+### Configure offload policies
+
+#### Get offload policies
+
+To get the topic-level offload policies, use one of the following methods.
+
+<!--DOCUSAURUS_CODE_TABS-->
+<!--Pulsar-admin API-->
+
+```
+pulsar-admin topics get-offload-policies options
+```
+
+<!--REST API-->
+
+```
+{@inject:
endpoint|GET|/admin/v2/topics/:tenant/:namespace/:topic/offloadPolicies?version=[[pulsar:version_number]]}
+```
+
+<!--Java API-->
+
+```java
+admin.topics().getOffloadPolicies(topic)
+```
+<!--END_DOCUSAURUS_CODE_TABS-->
+
+#### Set offload policies
+
+To set the topic-level offload policies, use one of the following methods.
+
+<!--DOCUSAURUS_CODE_TABS-->
+<!--Pulsar-admin API-->
+
+```
+pulsar-admin topics set-offload-policies options
+```
+
+<!--REST API-->
+
+```
+{@inject:
endpoint|POST|/admin/v2/topics/:tenant/:namespace/:topic/offloadPolicies?version=[[pulsar:version_number]]}
+```
+
+<!--Java API-->
+
+```java
+admin.topics().setOffloadPolicies(topic, offloadPolicies)
+```
+<!--END_DOCUSAURUS_CODE_TABS-->
+
+#### Remove offload policies
+
+To remove the topic-level offload policies, use one of the following methods.
+
+<!--DOCUSAURUS_CODE_TABS-->
+<!--Pulsar-admin API-->
+
+```
+pulsar-admin topics remove-offload-policies options
+```
+
+<!--REST API-->
+
+```
+{@inject:
endpoint|DELETE|/admin/v2/topics/:tenant/:namespace/:topic/offloadPolicies?version=[[pulsar:version_number]]}
+```
+
+<!--Java API-->
+
+```java
+admin.topics().removeOffloadPolicies(topic)
+```
+<!--END_DOCUSAURUS_CODE_TABS-->
+
+
## Manage non-partitioned topics
You can use Pulsar [admin API](admin-api-overview.md) to create, delete and
check status of non-partitioned topics.
diff --git
a/site2/website/versioned_docs/version-2.8.2/cookbooks-deduplication.md
b/site2/website/versioned_docs/version-2.8.2/cookbooks-deduplication.md
index 0521521..16f2a2c 100644
--- a/site2/website/versioned_docs/version-2.8.2/cookbooks-deduplication.md
+++ b/site2/website/versioned_docs/version-2.8.2/cookbooks-deduplication.md
@@ -26,6 +26,7 @@ Parameter | Description | Default
`brokerDeduplicationEnabled` | Sets the default behavior for message
deduplication in the Pulsar broker. If it is set to `true`, message
deduplication is enabled on all namespaces/topics. If it is set to `false`, you
have to enable or disable deduplication at the namespace level or the topic
level. | `false`
`brokerDeduplicationMaxNumberOfProducers` | The maximum number of producers
for which information is stored for deduplication purposes. | `10000`
`brokerDeduplicationEntriesInterval` | The number of entries after which a
deduplication informational snapshot is taken. A larger interval leads to fewer
snapshots being taken, though this lengthens the topic recovery time (the time
required for entries published after the snapshot to be replayed). | `1000`
+`brokerDeduplicationSnapshotIntervalSeconds`| The time period after which a
deduplication informational snapshot is taken. It runs simultaneously with
`brokerDeduplicationEntriesInterval`. |`120`
`brokerDeduplicationProducerInactivityTimeoutMinutes` | The time of inactivity
(in minutes) after which the broker discards deduplication information related
to a disconnected producer. | `360` (6 hours)
### Set default value at the broker-level
diff --git
a/site2/website/versioned_docs/version-2.8.2/reference-configuration.md
b/site2/website/versioned_docs/version-2.8.2/reference-configuration.md
index 90a516a..6b8ca6c 100644
--- a/site2/website/versioned_docs/version-2.8.2/reference-configuration.md
+++ b/site2/website/versioned_docs/version-2.8.2/reference-configuration.md
@@ -170,6 +170,7 @@ Pulsar brokers are responsible for handling incoming
messages from producers, di
|brokerDeduplicationEnabled| Sets the default behavior for message
deduplication in the broker. If enabled, the broker will reject messages that
were already stored in the topic. This setting can be overridden on a
per-namespace basis. |false|
|brokerDeduplicationMaxNumberOfProducers| The maximum number of producers for
which information will be stored for deduplication purposes. |10000|
|brokerDeduplicationEntriesInterval| The number of entries after which a
deduplication informational snapshot is taken. A larger interval will lead to
fewer snapshots being taken, though this would also lengthen the topic recovery
time (the time required for entries published after the snapshot to be
replayed). |1000|
+|brokerDeduplicationSnapshotIntervalSeconds| The time period after which a
deduplication informational snapshot is taken. It runs simultaneously with
`brokerDeduplicationEntriesInterval`. |120|
|brokerDeduplicationProducerInactivityTimeoutMinutes| The time of inactivity
(in minutes) after which the broker will discard deduplication information
related to a disconnected producer. |360|
|dispatchThrottlingRatePerReplicatorInMsg| The default messages per second
dispatch throttling-limit for every replicator in replication. The value of `0`
means disabling replication message dispatch-throttling| 0 |
|dispatchThrottlingRatePerReplicatorInByte| The default bytes per second
dispatch throttling-limit for every replicator in replication. The value of `0`
means disabling replication message-byte dispatch-throttling| 0 |
diff --git a/site2/website/versioned_docs/version-2.9.0/admin-api-topics.md
b/site2/website/versioned_docs/version-2.9.0/admin-api-topics.md
index 2e820ba..920669a 100644
--- a/site2/website/versioned_docs/version-2.9.0/admin-api-topics.md
+++ b/site2/website/versioned_docs/version-2.9.0/admin-api-topics.md
@@ -934,6 +934,240 @@ admin.topics().getLastMessage(topic);
<!--END_DOCUSAURUS_CODE_TABS-->
+
+### Configure deduplication snapshot interval
+
+#### Get deduplication snapshot interval
+
+To get the topic-level deduplication snapshot interval, use one of the
following methods.
+
+<!--DOCUSAURUS_CODE_TABS-->
+<!--Pulsar-admin API-->
+
+```
+pulsar-admin topics get-deduplication-snapshot-interval options
+```
+
+<!--REST API-->
+
+```
+{@inject:
endpoint|GET|/admin/v2/topics/:tenant/:namespace/:topic/deduplicationSnapshotInterval?version=[[pulsar:version_number]]}
+```
+
+<!--Java API-->
+
+```java
+admin.topics().getDeduplicationSnapshotInterval(topic)
+```
+<!--END_DOCUSAURUS_CODE_TABS-->
+
+#### Set deduplication snapshot interval
+
+To set the topic-level deduplication snapshot interval, use one of the
following methods.
+
+> **Prerequisite** `brokerDeduplicationEnabled` must be set to `true`.
+
+<!--DOCUSAURUS_CODE_TABS-->
+<!--Pulsar-admin API-->
+
+```
+pulsar-admin topics set-deduplication-snapshot-interval options
+```
+
+<!--REST API-->
+
+```
+{@inject:
endpoint|POST|/admin/v2/topics/:tenant/:namespace/:topic/deduplicationSnapshotInterval?version=[[pulsar:version_number]]}
+```
+
+```json
+{
+ "interval": 1000
+}
+```
+
+<!--Java API-->
+
+```java
+admin.topics().setDeduplicationSnapshotInterval(topic, 1000)
+```
+<!--END_DOCUSAURUS_CODE_TABS-->
+
+#### Remove deduplication snapshot interval
+
+To remove the topic-level deduplication snapshot interval, use one of the
following methods.
+
+<!--DOCUSAURUS_CODE_TABS-->
+<!--Pulsar-admin API-->
+
+```
+pulsar-admin topics remove-deduplication-snapshot-interval options
+```
+
+<!--REST API-->
+
+```
+{@inject:
endpoint|DELETE|/admin/v2/topics/:tenant/:namespace/:topic/deduplicationSnapshotInterval?version=[[pulsar:version_number]]}
+```
+
+<!--Java API-->
+
+```java
+admin.topics().removeDeduplicationSnapshotInterval(topic)
+```
+<!--END_DOCUSAURUS_CODE_TABS-->
+
+
+### Configure inactive topic policies
+
+#### Get inactive topic policies
+
+To get the topic-level inactive topic policies, use one of the following
methods.
+
+<!--DOCUSAURUS_CODE_TABS-->
+<!--Pulsar-admin API-->
+
+```
+pulsar-admin topics get-inactive-topic-policies options
+```
+
+<!--REST API-->
+
+```
+{@inject:
endpoint|GET|/admin/v2/topics/:tenant/:namespace/:topic/inactiveTopicPolicies?version=[[pulsar:version_number]]}
+```
+
+<!--Java API-->
+
+```java
+admin.topics().getInactiveTopicPolicies(topic)
+```
+<!--END_DOCUSAURUS_CODE_TABS-->
+
+#### Set inactive topic policies
+
+To set the topic-level inactive topic policies, use one of the following
methods.
+
+<!--DOCUSAURUS_CODE_TABS-->
+<!--Pulsar-admin API-->
+
+```
+pulsar-admin topics set-inactive-topic-policies options
+```
+
+<!--REST API-->
+
+```
+{@inject:
endpoint|POST|/admin/v2/topics/:tenant/:namespace/:topic/inactiveTopicPolicies?version=[[pulsar:version_number]]}
+```
+
+<!--Java API-->
+
+```java
+admin.topics().setInactiveTopicPolicies(topic, inactiveTopicPolicies)
+```
+<!--END_DOCUSAURUS_CODE_TABS-->
+
+#### Remove inactive topic policies
+
+To remove the topic-level inactive topic policies, use one of the following
methods.
+
+<!--DOCUSAURUS_CODE_TABS-->
+<!--Pulsar-admin API-->
+
+```
+pulsar-admin topics remove-inactive-topic-policies options
+```
+
+<!--REST API-->
+
+```
+{@inject:
endpoint|DELETE|/admin/v2/topics/:tenant/:namespace/:topic/inactiveTopicPolicies?version=[[pulsar:version_number]]}
+```
+
+<!--Java API-->
+
+```java
+admin.topics().removeInactiveTopicPolicies(topic)
+```
+<!--END_DOCUSAURUS_CODE_TABS-->
+
+
+### Configure offload policies
+
+#### Get offload policies
+
+To get the topic-level offload policies, use one of the following methods.
+
+<!--DOCUSAURUS_CODE_TABS-->
+<!--Pulsar-admin API-->
+
+```
+pulsar-admin topics get-offload-policies options
+```
+
+<!--REST API-->
+
+```
+{@inject:
endpoint|GET|/admin/v2/topics/:tenant/:namespace/:topic/offloadPolicies?version=[[pulsar:version_number]]}
+```
+
+<!--Java API-->
+
+```java
+admin.topics().getOffloadPolicies(topic)
+```
+<!--END_DOCUSAURUS_CODE_TABS-->
+
+#### Set offload policies
+
+To set the topic-level offload policies, use one of the following methods.
+
+<!--DOCUSAURUS_CODE_TABS-->
+<!--Pulsar-admin API-->
+
+```
+pulsar-admin topics set-offload-policies options
+```
+
+<!--REST API-->
+
+```
+{@inject:
endpoint|POST|/admin/v2/topics/:tenant/:namespace/:topic/offloadPolicies?version=[[pulsar:version_number]]}
+```
+
+<!--Java API-->
+
+```java
+admin.topics().setOffloadPolicies(topic, offloadPolicies)
+```
+<!--END_DOCUSAURUS_CODE_TABS-->
+
+#### Remove offload policies
+
+To remove the topic-level offload policies, use one of the following methods.
+
+<!--DOCUSAURUS_CODE_TABS-->
+<!--Pulsar-admin API-->
+
+```
+pulsar-admin topics remove-offload-policies options
+```
+
+<!--REST API-->
+
+```
+{@inject:
endpoint|DELETE|/admin/v2/topics/:tenant/:namespace/:topic/offloadPolicies?version=[[pulsar:version_number]]}
+```
+
+<!--Java API-->
+
+```java
+admin.topics().removeOffloadPolicies(topic)
+```
+<!--END_DOCUSAURUS_CODE_TABS-->
+
+
## Manage non-partitioned topics
You can use Pulsar [admin API](admin-api-overview.md) to create, delete and
check status of non-partitioned topics.
diff --git
a/site2/website/versioned_docs/version-2.9.0/cookbooks-deduplication.md
b/site2/website/versioned_docs/version-2.9.0/cookbooks-deduplication.md
index 9097e5c..a44f5f4 100644
--- a/site2/website/versioned_docs/version-2.9.0/cookbooks-deduplication.md
+++ b/site2/website/versioned_docs/version-2.9.0/cookbooks-deduplication.md
@@ -26,6 +26,7 @@ Parameter | Description | Default
`brokerDeduplicationEnabled` | Sets the default behavior for message
deduplication in the Pulsar broker. If it is set to `true`, message
deduplication is enabled on all namespaces/topics. If it is set to `false`, you
have to enable or disable deduplication at the namespace level or the topic
level. | `false`
`brokerDeduplicationMaxNumberOfProducers` | The maximum number of producers
for which information is stored for deduplication purposes. | `10000`
`brokerDeduplicationEntriesInterval` | The number of entries after which a
deduplication informational snapshot is taken. A larger interval leads to fewer
snapshots being taken, though this lengthens the topic recovery time (the time
required for entries published after the snapshot to be replayed). | `1000`
+`brokerDeduplicationSnapshotIntervalSeconds`| The time period after which a
deduplication informational snapshot is taken. It runs simultaneously with
`brokerDeduplicationEntriesInterval`. |`120`
`brokerDeduplicationProducerInactivityTimeoutMinutes` | The time of inactivity
(in minutes) after which the broker discards deduplication information related
to a disconnected producer. | `360` (6 hours)
### Set default value at the broker-level
diff --git
a/site2/website/versioned_docs/version-2.9.0/reference-configuration.md
b/site2/website/versioned_docs/version-2.9.0/reference-configuration.md
index 950f1d8..b639df8 100644
--- a/site2/website/versioned_docs/version-2.9.0/reference-configuration.md
+++ b/site2/website/versioned_docs/version-2.9.0/reference-configuration.md
@@ -170,6 +170,7 @@ Pulsar brokers are responsible for handling incoming
messages from producers, di
|brokerDeduplicationEnabled| Sets the default behavior for message
deduplication in the broker. If enabled, the broker will reject messages that
were already stored in the topic. This setting can be overridden on a
per-namespace basis. |false|
|brokerDeduplicationMaxNumberOfProducers| The maximum number of producers for
which information will be stored for deduplication purposes. |10000|
|brokerDeduplicationEntriesInterval| The number of entries after which a
deduplication informational snapshot is taken. A larger interval will lead to
fewer snapshots being taken, though this would also lengthen the topic recovery
time (the time required for entries published after the snapshot to be
replayed). |1000|
+|brokerDeduplicationSnapshotIntervalSeconds| The time period after which a
deduplication informational snapshot is taken. It runs simultaneously with
`brokerDeduplicationEntriesInterval`. |120|
|brokerDeduplicationProducerInactivityTimeoutMinutes| The time of inactivity
(in minutes) after which the broker will discard deduplication information
related to a disconnected producer. |360|
|dispatchThrottlingRatePerReplicatorInMsg| The default messages per second
dispatch throttling-limit for every replicator in replication. The value of `0`
means disabling replication message dispatch-throttling| 0 |
|dispatchThrottlingRatePerReplicatorInByte| The default bytes per second
dispatch throttling-limit for every replicator in replication. The value of `0`
means disabling replication message-byte dispatch-throttling| 0 |
diff --git a/site2/website/versioned_docs/version-2.9.1/admin-api-topics.md
b/site2/website/versioned_docs/version-2.9.1/admin-api-topics.md
index b298974..96f7f2a 100644
--- a/site2/website/versioned_docs/version-2.9.1/admin-api-topics.md
+++ b/site2/website/versioned_docs/version-2.9.1/admin-api-topics.md
@@ -934,6 +934,240 @@ admin.topics().getLastMessage(topic);
<!--END_DOCUSAURUS_CODE_TABS-->
+
+
+### Configure deduplication snapshot interval
+
+#### Get deduplication snapshot interval
+
+To get the topic-level deduplication snapshot interval, use one of the
following methods.
+
+<!--DOCUSAURUS_CODE_TABS-->
+<!--Pulsar-admin API-->
+
+```
+pulsar-admin topics get-deduplication-snapshot-interval options
+```
+
+<!--REST API-->
+
+```
+{@inject:
endpoint|GET|/admin/v2/topics/:tenant/:namespace/:topic/deduplicationSnapshotInterval?version=[[pulsar:version_number]]}
+```
+
+<!--Java API-->
+
+```java
+admin.topics().getDeduplicationSnapshotInterval(topic)
+```
+<!--END_DOCUSAURUS_CODE_TABS-->
+
+#### Set deduplication snapshot interval
+
+To set the topic-level deduplication snapshot interval, use one of the
following methods.
+
+> **Prerequisite** `brokerDeduplicationEnabled` must be set to `true`.
+
+<!--DOCUSAURUS_CODE_TABS-->
+<!--Pulsar-admin API-->
+
+```
+pulsar-admin topics set-deduplication-snapshot-interval options
+```
+
+<!--REST API-->
+
+```
+{@inject:
endpoint|POST|/admin/v2/topics/:tenant/:namespace/:topic/deduplicationSnapshotInterval?version=[[pulsar:version_number]]}
+```
+
+```json
+{
+ "interval": 1000
+}
+```
+
+<!--Java API-->
+
+```java
+admin.topics().setDeduplicationSnapshotInterval(topic, 1000)
+```
+<!--END_DOCUSAURUS_CODE_TABS-->
+
+#### Remove deduplication snapshot interval
+
+To remove the topic-level deduplication snapshot interval, use one of the
following methods.
+
+<!--DOCUSAURUS_CODE_TABS-->
+<!--Pulsar-admin API-->
+
+```
+pulsar-admin topics remove-deduplication-snapshot-interval options
+```
+
+<!--REST API-->
+
+```
+{@inject:
endpoint|DELETE|/admin/v2/topics/:tenant/:namespace/:topic/deduplicationSnapshotInterval?version=[[pulsar:version_number]]}
+```
+
+<!--Java API-->
+
+```java
+admin.topics().removeDeduplicationSnapshotInterval(topic)
+```
+<!--END_DOCUSAURUS_CODE_TABS-->
+
+
+### Configure inactive topic policies
+
+#### Get inactive topic policies
+
+To get the topic-level inactive topic policies, use one of the following
methods.
+
+<!--DOCUSAURUS_CODE_TABS-->
+<!--Pulsar-admin API-->
+
+```
+pulsar-admin topics get-inactive-topic-policies options
+```
+
+<!--REST API-->
+
+```
+{@inject:
endpoint|GET|/admin/v2/topics/:tenant/:namespace/:topic/inactiveTopicPolicies?version=[[pulsar:version_number]]}
+```
+
+<!--Java API-->
+
+```java
+admin.topics().getInactiveTopicPolicies(topic)
+```
+<!--END_DOCUSAURUS_CODE_TABS-->
+
+#### Set inactive topic policies
+
+To set the topic-level inactive topic policies, use one of the following
methods.
+
+<!--DOCUSAURUS_CODE_TABS-->
+<!--Pulsar-admin API-->
+
+```
+pulsar-admin topics set-inactive-topic-policies options
+```
+
+<!--REST API-->
+
+```
+{@inject:
endpoint|POST|/admin/v2/topics/:tenant/:namespace/:topic/inactiveTopicPolicies?version=[[pulsar:version_number]]}
+```
+
+<!--Java API-->
+
+```java
+admin.topics().setInactiveTopicPolicies(topic, inactiveTopicPolicies)
+```
+<!--END_DOCUSAURUS_CODE_TABS-->
+
+#### Remove inactive topic policies
+
+To remove the topic-level inactive topic policies, use one of the following
methods.
+
+<!--DOCUSAURUS_CODE_TABS-->
+<!--Pulsar-admin API-->
+
+```
+pulsar-admin topics remove-inactive-topic-policies options
+```
+
+<!--REST API-->
+
+```
+{@inject:
endpoint|DELETE|/admin/v2/topics/:tenant/:namespace/:topic/inactiveTopicPolicies?version=[[pulsar:version_number]]}
+```
+
+<!--Java API-->
+
+```java
+admin.topics().removeInactiveTopicPolicies(topic)
+```
+<!--END_DOCUSAURUS_CODE_TABS-->
+
+
+### Configure offload policies
+
+#### Get offload policies
+
+To get the topic-level offload policies, use one of the following methods.
+
+<!--DOCUSAURUS_CODE_TABS-->
+<!--Pulsar-admin API-->
+
+```
+pulsar-admin topics get-offload-policies options
+```
+
+<!--REST API-->
+
+```
+{@inject:
endpoint|GET|/admin/v2/topics/:tenant/:namespace/:topic/offloadPolicies?version=[[pulsar:version_number]]}
+```
+
+<!--Java API-->
+
+```java
+admin.topics().getOffloadPolicies(topic)
+```
+<!--END_DOCUSAURUS_CODE_TABS-->
+
+#### Set offload policies
+
+To set the topic-level offload policies, use one of the following methods.
+
+<!--DOCUSAURUS_CODE_TABS-->
+<!--Pulsar-admin API-->
+
+```
+pulsar-admin topics set-offload-policies options
+```
+
+<!--REST API-->
+
+```
+{@inject:
endpoint|POST|/admin/v2/topics/:tenant/:namespace/:topic/offloadPolicies?version=[[pulsar:version_number]]}
+```
+
+<!--Java API-->
+
+```java
+admin.topics().setOffloadPolicies(topic, offloadPolicies)
+```
+<!--END_DOCUSAURUS_CODE_TABS-->
+
+#### Remove offload policies
+
+To remove the topic-level offload policies, use one of the following methods.
+
+<!--DOCUSAURUS_CODE_TABS-->
+<!--Pulsar-admin API-->
+
+```
+pulsar-admin topics remove-offload-policies options
+```
+
+<!--REST API-->
+
+```
+{@inject:
endpoint|DELETE|/admin/v2/topics/:tenant/:namespace/:topic/offloadPolicies?version=[[pulsar:version_number]]}
+```
+
+<!--Java API-->
+
+```java
+admin.topics().removeOffloadPolicies(topic)
+```
+<!--END_DOCUSAURUS_CODE_TABS-->
+
## Manage non-partitioned topics
You can use Pulsar [admin API](admin-api-overview.md) to create, delete and
check status of non-partitioned topics.
diff --git
a/site2/website/versioned_docs/version-2.9.1/cookbooks-deduplication.md
b/site2/website/versioned_docs/version-2.9.1/cookbooks-deduplication.md
index f961735..87d9bd3 100644
--- a/site2/website/versioned_docs/version-2.9.1/cookbooks-deduplication.md
+++ b/site2/website/versioned_docs/version-2.9.1/cookbooks-deduplication.md
@@ -26,6 +26,7 @@ Parameter | Description | Default
`brokerDeduplicationEnabled` | Sets the default behavior for message
deduplication in the Pulsar broker. If it is set to `true`, message
deduplication is enabled on all namespaces/topics. If it is set to `false`, you
have to enable or disable deduplication at the namespace level or the topic
level. | `false`
`brokerDeduplicationMaxNumberOfProducers` | The maximum number of producers
for which information is stored for deduplication purposes. | `10000`
`brokerDeduplicationEntriesInterval` | The number of entries after which a
deduplication informational snapshot is taken. A larger interval leads to fewer
snapshots being taken, though this lengthens the topic recovery time (the time
required for entries published after the snapshot to be replayed). | `1000`
+`brokerDeduplicationSnapshotIntervalSeconds`| The time period after which a
deduplication informational snapshot is taken. It runs simultaneously with
`brokerDeduplicationEntriesInterval`. |`120`
`brokerDeduplicationProducerInactivityTimeoutMinutes` | The time of inactivity
(in minutes) after which the broker discards deduplication information related
to a disconnected producer. | `360` (6 hours)
### Set default value at the broker-level
diff --git
a/site2/website/versioned_docs/version-2.9.1/reference-configuration.md
b/site2/website/versioned_docs/version-2.9.1/reference-configuration.md
index a0351fb..aedcff5 100644
--- a/site2/website/versioned_docs/version-2.9.1/reference-configuration.md
+++ b/site2/website/versioned_docs/version-2.9.1/reference-configuration.md
@@ -170,6 +170,7 @@ Pulsar brokers are responsible for handling incoming
messages from producers, di
|brokerDeduplicationEnabled| Sets the default behavior for message
deduplication in the broker. If enabled, the broker will reject messages that
were already stored in the topic. This setting can be overridden on a
per-namespace basis. |false|
|brokerDeduplicationMaxNumberOfProducers| The maximum number of producers for
which information will be stored for deduplication purposes. |10000|
|brokerDeduplicationEntriesInterval| The number of entries after which a
deduplication informational snapshot is taken. A larger interval will lead to
fewer snapshots being taken, though this would also lengthen the topic recovery
time (the time required for entries published after the snapshot to be
replayed). |1000|
+|brokerDeduplicationSnapshotIntervalSeconds| The time period after which a
deduplication informational snapshot is taken. It runs simultaneously with
`brokerDeduplicationEntriesInterval`. |120|
|brokerDeduplicationProducerInactivityTimeoutMinutes| The time of inactivity
(in minutes) after which the broker will discard deduplication information
related to a disconnected producer. |360|
|dispatchThrottlingRatePerReplicatorInMsg| The default messages per second
dispatch throttling-limit for every replicator in replication. The value of `0`
means disabling replication message dispatch-throttling| 0 |
|dispatchThrottlingRatePerReplicatorInByte| The default bytes per second
dispatch throttling-limit for every replicator in replication. The value of `0`
means disabling replication message-byte dispatch-throttling| 0 |