You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pulsar.apache.org by mm...@apache.org on 2020/05/31 21:41:45 UTC
[pulsar] branch master updated: add feature: enable
maxSizePerLedger settings in configuration (#7085)
This is an automated email from the ASF dual-hosted git repository.
mmerli 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 0f5ffbf add feature: enable maxSizePerLedger settings in configuration (#7085)
0f5ffbf is described below
commit 0f5ffbf5058884de29784b759929e12c1f8cc7a0
Author: Zhanpeng Wu <zh...@qq.com>
AuthorDate: Mon Jun 1 05:41:22 2020 +0800
add feature: enable maxSizePerLedger settings in configuration (#7085)
* add feature: enable maxSizePerLedger settings in configuration
* add feature: enable maxSizePerLedger settings in configuration
Co-authored-by: wuzhanpeng <wu...@bigo.sg>
---
conf/broker.conf | 3 +++
conf/standalone.conf | 3 +++
.../src/main/java/org/apache/pulsar/broker/ServiceConfiguration.java | 5 +++++
.../main/java/org/apache/pulsar/broker/service/BrokerService.java | 2 +-
4 files changed, 12 insertions(+), 1 deletion(-)
diff --git a/conf/broker.conf b/conf/broker.conf
index 426ddd1..6cb0d86 100644
--- a/conf/broker.conf
+++ b/conf/broker.conf
@@ -710,6 +710,9 @@ managedLedgerMinLedgerRolloverTimeMinutes=10
# Maximum time before forcing a ledger rollover for a topic
managedLedgerMaxLedgerRolloverTimeMinutes=240
+# Maximum ledger size before triggering a rollover for a topic (MB)
+managedLedgerMaxSizePerLedgerMbytes=2048
+
# Delay between a ledger being successfully offloaded to long term storage
# and the ledger being deleted from bookkeeper (default is 4 hours)
managedLedgerOffloadDeletionLagMs=14400000
diff --git a/conf/standalone.conf b/conf/standalone.conf
index 89fc9a5..0f58a87 100644
--- a/conf/standalone.conf
+++ b/conf/standalone.conf
@@ -522,6 +522,9 @@ managedLedgerCursorMaxEntriesPerLedger=50000
# Max time before triggering a rollover on a cursor ledger
managedLedgerCursorRolloverTimeInSeconds=14400
+# Maximum ledger size before triggering a rollover for a topic (MB)
+managedLedgerMaxSizePerLedgerMbytes=2048
+
# Max number of "acknowledgment holes" that are going to be persistently stored.
# When acknowledging out of order, a consumer will leave holes that are supposed
# to be quickly filled by acking all the messages. The information of which
diff --git a/pulsar-broker-common/src/main/java/org/apache/pulsar/broker/ServiceConfiguration.java b/pulsar-broker-common/src/main/java/org/apache/pulsar/broker/ServiceConfiguration.java
index af11a7e..b623afc 100644
--- a/pulsar-broker-common/src/main/java/org/apache/pulsar/broker/ServiceConfiguration.java
+++ b/pulsar-broker-common/src/main/java/org/apache/pulsar/broker/ServiceConfiguration.java
@@ -1111,6 +1111,11 @@ public class ServiceConfiguration implements PulsarConfiguration {
)
private int managedLedgerMaxLedgerRolloverTimeMinutes = 240;
@FieldContext(
+ category = CATEGORY_STORAGE_ML,
+ doc = "Maximum ledger size before triggering a rollover for a topic (MB)"
+ )
+ private int managedLedgerMaxSizePerLedgerMbytes = 2048;
+ @FieldContext(
category = CATEGORY_STORAGE_OFFLOADING,
doc = "Delay between a ledger being successfully offloaded to long term storage,"
+ " and the ledger being deleted from bookkeeper"
diff --git a/pulsar-broker/src/main/java/org/apache/pulsar/broker/service/BrokerService.java b/pulsar-broker/src/main/java/org/apache/pulsar/broker/service/BrokerService.java
index dd92af7..01d1e6c 100644
--- a/pulsar-broker/src/main/java/org/apache/pulsar/broker/service/BrokerService.java
+++ b/pulsar-broker/src/main/java/org/apache/pulsar/broker/service/BrokerService.java
@@ -1043,7 +1043,7 @@ public class BrokerService implements Closeable, ZooKeeperCacheListener<Policies
TimeUnit.MINUTES);
managedLedgerConfig.setMaximumRolloverTime(serviceConfig.getManagedLedgerMaxLedgerRolloverTimeMinutes(),
TimeUnit.MINUTES);
- managedLedgerConfig.setMaxSizePerLedgerMb(2048);
+ managedLedgerConfig.setMaxSizePerLedgerMb(serviceConfig.getManagedLedgerMaxSizePerLedgerMbytes());
managedLedgerConfig.setMetadataOperationsTimeoutSeconds(
serviceConfig.getManagedLedgerMetadataOperationsTimeoutSeconds());