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>