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

hzh0425 pushed a commit to branch dledger-controller-snapshot
in repository https://gitbox.apache.org/repos/asf/rocketmq.git


The following commit(s) were added to refs/heads/dledger-controller-snapshot by 
this push:
     new aa206bed0 Add two dledger configs for controller (#5705)
aa206bed0 is described below

commit aa206bed05405a3bffb4e1a683a667d27a43de29
Author: hzh0425 <[email protected]>
AuthorDate: Thu Dec 15 21:53:36 2022 +0800

    Add two dledger configs for controller (#5705)
---
 .../apache/rocketmq/common/ControllerConfig.java   | 26 ++++++++++++++++++++++
 .../controller/impl/DLedgerController.java         |  2 ++
 2 files changed, 28 insertions(+)

diff --git 
a/common/src/main/java/org/apache/rocketmq/common/ControllerConfig.java 
b/common/src/main/java/org/apache/rocketmq/common/ControllerConfig.java
index 942c03874..0dffa927a 100644
--- a/common/src/main/java/org/apache/rocketmq/common/ControllerConfig.java
+++ b/common/src/main/java/org/apache/rocketmq/common/ControllerConfig.java
@@ -59,6 +59,16 @@ public class ControllerConfig {
      */
     private volatile boolean notifyBrokerRoleChanged = true;
 
+    /**
+     * How many DLedger logs are committed to trigger a snapshot
+     */
+    private int snapshotThreshold = 1000;
+
+    /**
+     * The max number of snapshot files keeping within the store.
+     */
+    private int maxSnapshotReservedNum = 3;
+
     public String getRocketmqHome() {
         return rocketmqHome;
     }
@@ -162,4 +172,20 @@ public class ControllerConfig {
     public void setNotifyBrokerRoleChanged(boolean notifyBrokerRoleChanged) {
         this.notifyBrokerRoleChanged = notifyBrokerRoleChanged;
     }
+
+    public int getSnapshotThreshold() {
+        return snapshotThreshold;
+    }
+
+    public void setSnapshotThreshold(int snapshotThreshold) {
+        this.snapshotThreshold = snapshotThreshold;
+    }
+
+    public int getMaxSnapshotReservedNum() {
+        return maxSnapshotReservedNum;
+    }
+
+    public void setMaxSnapshotReservedNum(int maxSnapshotReservedNum) {
+        this.maxSnapshotReservedNum = maxSnapshotReservedNum;
+    }
 }
diff --git 
a/controller/src/main/java/org/apache/rocketmq/controller/impl/DLedgerController.java
 
b/controller/src/main/java/org/apache/rocketmq/controller/impl/DLedgerController.java
index 27a75b2ea..50e71a574 100644
--- 
a/controller/src/main/java/org/apache/rocketmq/controller/impl/DLedgerController.java
+++ 
b/controller/src/main/java/org/apache/rocketmq/controller/impl/DLedgerController.java
@@ -106,6 +106,8 @@ public class DLedgerController implements Controller {
         
this.dLedgerConfig.setSelfId(controllerConfig.getControllerDLegerSelfId());
         
this.dLedgerConfig.setStoreBaseDir(controllerConfig.getControllerStorePath());
         
this.dLedgerConfig.setMappedFileSizeForEntryData(controllerConfig.getMappedFileSize());
+        
this.dLedgerConfig.setSnapshotThreshold(controllerConfig.getSnapshotThreshold());
+        
this.dLedgerConfig.setMaxSnapshotReservedNum(controllerConfig.getMaxSnapshotReservedNum());
 
         this.roleHandler = new RoleChangeHandler(dLedgerConfig.getSelfId());
         this.replicasInfoManager = new ReplicasInfoManager(controllerConfig);

Reply via email to