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

yuzhou pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/rocketmq.git


The following commit(s) were added to refs/heads/develop by this push:
     new 71659e35f2 [ISSUE #8903] fix dledger mode expired message can not 
delete on jdk9+ (#9851)
71659e35f2 is described below

commit 71659e35f25f0ed93371f037dbe6b20bc99ea7c0
Author: littleboy <[email protected]>
AuthorDate: Mon Dec 15 15:09:01 2025 +0800

    [ISSUE #8903] fix dledger mode expired message can not delete on jdk9+ 
(#9851)
---
 WORKSPACE                                               |  2 +-
 .../controller/impl/DLedgerControllerStateMachine.java  | 17 ++++++++++++++---
 pom.xml                                                 |  2 +-
 3 files changed, 16 insertions(+), 5 deletions(-)

diff --git a/WORKSPACE b/WORKSPACE
index da58ae6763..0f06aa2112 100644
--- a/WORKSPACE
+++ b/WORKSPACE
@@ -54,7 +54,7 @@ maven_install(
         "commons-validator:commons-validator:1.7",
         "org.apache.commons:commons-lang3:3.12.0",
         "org.hamcrest:hamcrest-core:1.3",
-        "io.openmessaging.storage:dledger:0.3.1",
+        "io.openmessaging.storage:dledger:0.3.2",
         "net.java.dev.jna:jna:4.2.2",
         "ch.qos.logback:logback-classic:1.2.10",
         "ch.qos.logback:logback-core:1.2.10",
diff --git 
a/controller/src/main/java/org/apache/rocketmq/controller/impl/DLedgerControllerStateMachine.java
 
b/controller/src/main/java/org/apache/rocketmq/controller/impl/DLedgerControllerStateMachine.java
index 70c65c00f4..f67967e960 100644
--- 
a/controller/src/main/java/org/apache/rocketmq/controller/impl/DLedgerControllerStateMachine.java
+++ 
b/controller/src/main/java/org/apache/rocketmq/controller/impl/DLedgerControllerStateMachine.java
@@ -17,6 +17,7 @@
 package org.apache.rocketmq.controller.impl;
 
 import io.openmessaging.storage.dledger.entry.DLedgerEntry;
+import io.openmessaging.storage.dledger.exception.DLedgerException;
 import io.openmessaging.storage.dledger.snapshot.SnapshotReader;
 import io.openmessaging.storage.dledger.snapshot.SnapshotWriter;
 import io.openmessaging.storage.dledger.statemachine.CommittedEntryIterator;
@@ -28,8 +29,6 @@ import 
org.apache.rocketmq.controller.impl.manager.ReplicasInfoManager;
 import org.apache.rocketmq.logging.org.slf4j.Logger;
 import org.apache.rocketmq.logging.org.slf4j.LoggerFactory;
 
-import java.util.concurrent.CompletableFuture;
-
 /**
  * The state machine implementation of the dledger controller
  */
@@ -46,6 +45,11 @@ public class DLedgerControllerStateMachine implements 
StateMachine {
         this.dLedgerId = generateDLedgerId(dLedgerGroupId, dLedgerSelfId);
     }
 
+    @Override
+    public String generateDLedgerId(String dLedgerGroupId, String 
dLedgerSelfId) {
+        return new 
StringBuilder(20).append(dLedgerGroupId).append("#").append(dLedgerSelfId).toString();
+    }
+
     @Override
     public void onApply(CommittedEntryIterator iterator) {
         int applyingSize = 0;
@@ -66,7 +70,8 @@ public class DLedgerControllerStateMachine implements 
StateMachine {
     }
 
     @Override
-    public void onSnapshotSave(SnapshotWriter writer, 
CompletableFuture<Boolean> future) {
+    public boolean onSnapshotSave(SnapshotWriter writer) {
+        return true;
     }
 
     @Override
@@ -76,6 +81,12 @@ public class DLedgerControllerStateMachine implements 
StateMachine {
 
     @Override
     public void onShutdown() {
+        log.info("StateMachine {} onShutdown", this.dLedgerId);
+    }
+
+    @Override
+    public void onError(DLedgerException exception) {
+        log.error("Encountered an error on StateMachine {}, dLedger may stop 
working since some error occurs, you should figure out the cause and repair or 
remove this node.", this.dLedgerId, exception);
     }
 
     @Override
diff --git a/pom.xml b/pom.xml
index 56830f15a3..4343c3a574 100644
--- a/pom.xml
+++ b/pom.xml
@@ -123,7 +123,7 @@
         <lz4-java.version>1.8.0</lz4-java.version>
         <opentracing.version>0.33.0</opentracing.version>
         <jaeger.version>1.8.1</jaeger.version>
-        <dleger.version>0.3.1.2</dleger.version>
+        <dleger.version>0.3.2</dleger.version>
         <annotations-api.version>6.0.53</annotations-api.version>
         <extra-enforcer-rules.version>1.0-beta-4</extra-enforcer-rules.version>
         
<concurrentlinkedhashmap-lru.version>1.4.2</concurrentlinkedhashmap-lru.version>

Reply via email to