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());