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

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

commit 5a7ad7edad4c095162839b4de46cc213eae95a99
Author: Lari Hotari <[email protected]>
AuthorDate: Mon Jun 9 10:20:27 2025 +0300

    [improve][broker] Add managedCursor/LedgerInfoCompressionType settings to 
broker.conf (#24391)
    
    (cherry picked from commit 1cc2402e07d225276f81d891bd466e7d6f11cbb9)
---
 conf/broker.conf     | 23 +++++++++++++++++++++++
 conf/standalone.conf | 23 +++++++++++++++++++++++
 2 files changed, 46 insertions(+)

diff --git a/conf/broker.conf b/conf/broker.conf
index 0d942da8182..a5c15cce46b 100644
--- a/conf/broker.conf
+++ b/conf/broker.conf
@@ -1267,6 +1267,29 @@ managedLedgerUnackedRangesOpenCacheSetEnabled=true
 # MetadataStore.
 managedLedgerMaxUnackedRangesToPersistInMetadataStore=1000
 
+# ManagedCursorInfo compression type, option values (NONE, LZ4, ZLIB, ZSTD, 
SNAPPY).
+# If value is NONE, then save the ManagedCursorInfo bytes data directly 
without compression.
+# Using compression reduces the size of persistent cursor (subscription) 
metadata. This enables using a higher
+# managedLedgerMaxUnackedRangesToPersistInMetadataStore value and reduces the 
overall metadata stored in
+# the metadata store such as ZooKeeper.
+managedCursorInfoCompressionType=NONE
+
+# ManagedCursorInfo compression size threshold (bytes), only compress metadata 
when origin size more then this value.
+# 0 means compression will always apply.
+managedCursorInfoCompressionThresholdInBytes=16384
+
+# ManagedLedgerInfo compression type, option values (NONE, LZ4, ZLIB, ZSTD, 
SNAPPY).
+# If value is invalid or NONE, then save the ManagedLedgerInfo bytes data 
directly without compression.
+# Using compression reduces the size of the persistent topic metadata. When a 
topic contains a large number of
+# individual ledgers in BookKeeper or tiered storage, compression helps 
prevent the metadata size from exceeding
+# the maximum size of a metadata store entry (ZNode in ZooKeeper). This also 
reduces the overall metadata stored
+# in the metadata store such as ZooKeeper.
+managedLedgerInfoCompressionType=NONE
+
+# ManagedLedgerInfo compression size threshold (bytes), only compress metadata 
when origin size more then this value.
+# 0 means compression will always apply.
+managedLedgerInfoCompressionThresholdInBytes=16384
+
 # Skip reading non-recoverable/unreadable data-ledger under managed-ledger's 
list. It helps when data-ledgers gets
 # corrupted at bookkeeper and managed-cursor is stuck at that ledger.
 autoSkipNonRecoverableData=false
diff --git a/conf/standalone.conf b/conf/standalone.conf
index 32bbce18405..f112b301450 100644
--- a/conf/standalone.conf
+++ b/conf/standalone.conf
@@ -813,6 +813,29 @@ managedLedgerUnackedRangesOpenCacheSetEnabled=true
 # MetadataStore.
 managedLedgerMaxUnackedRangesToPersistInMetadataStore=1000
 
+# ManagedCursorInfo compression type, option values (NONE, LZ4, ZLIB, ZSTD, 
SNAPPY).
+# If value is NONE, then save the ManagedCursorInfo bytes data directly 
without compression.
+# Using compression reduces the size of persistent cursor (subscription) 
metadata. This enables using a higher
+# managedLedgerMaxUnackedRangesToPersistInMetadataStore value and reduces the 
overall metadata stored in
+# the metadata store such as ZooKeeper.
+managedCursorInfoCompressionType=NONE
+
+# ManagedCursorInfo compression size threshold (bytes), only compress metadata 
when origin size more then this value.
+# 0 means compression will always apply.
+managedCursorInfoCompressionThresholdInBytes=16384
+
+# ManagedLedgerInfo compression type, option values (NONE, LZ4, ZLIB, ZSTD, 
SNAPPY).
+# If value is invalid or NONE, then save the ManagedLedgerInfo bytes data 
directly without compression.
+# Using compression reduces the size of the persistent topic metadata. When a 
topic contains a large number of
+# individual ledgers in BookKeeper or tiered storage, compression helps 
prevent the metadata size from exceeding
+# the maximum size of a metadata store entry (ZNode in ZooKeeper). This also 
reduces the overall metadata stored
+# in the metadata store such as ZooKeeper.
+managedLedgerInfoCompressionType=NONE
+
+# ManagedLedgerInfo compression size threshold (bytes), only compress metadata 
when origin size more then this value.
+# 0 means compression will always apply.
+managedLedgerInfoCompressionThresholdInBytes=16384
+
 # Skip reading non-recoverable/unreadable data-ledger under managed-ledger's 
list. It helps when data-ledgers gets
 # corrupted at bookkeeper and managed-cursor is stuck at that ledger.
 autoSkipNonRecoverableData=false

Reply via email to