apache / apache/rocketmq

[Enhancement] Upgrade DLedger to 0.3.3-SNAPSHOT

Open
#10,651 1 comment 0 reactions 0 assignees View on GitHub
Dominant language
Java
Stars
22.6k
Forks
12k
Avg merge
3d 1h
Merged PRs (30d)
27

Description

### Before Creating the Enhancement Request

- [x] I have confirmed that this should be classified as an enhancement rather than a bug/feature.

### Summary

Upgrade RocketMQ's DLedger dependency to `0.3.3-SNAPSHOT`.

### Motivation

RocketMQ currently depends on DLedger `0.3.2`. Upgrading to `0.3.3-SNAPSHOT` helps RocketMQ keep aligned with the latest DLedger changes and removes the need to keep the corresponding `fastjson1` dependency in RocketMQ, because the newer DLedger version no longer depends on `fastjson1`.

### Describe the Solution You'd Like

Upgrade the DLedger version from `0.3.2` to `0.3.3-SNAPSHOT` and adapt RocketMQ to the related DLedger API changes, including:

- Update moved DLedger future classes to the new package.
- Replace deprecated or removed DLedger configuration and store APIs.
- Adapt DLedger controller state machine code to the new apply iterator API.
- Remove the obsolete `fastjson1` dependency and use `fastjson2` where necessary.

### Describe Alternatives You've Considered

Keep using DLedger `0.3.2` and retain the existing dependency setup. However, this leaves RocketMQ behind the latest DLedger updates and keeps the no-longer-needed `fastjson1` dependency in the project.

### Additional Context

A corresponding pull request will be linked to this issue.

Contributor guide

Open the contributing guide

Research direction

Start by locating RocketMQ's DLedger 0.3.2 dependency and the DLedger future, configuration, store, controller state machine, and fastjson1 usages described in the issue. Review the DLedger 0.3.3-SNAPSHOT API changes, then verify the project builds and tests pass with fastjson1 removed and the affected APIs adapted.

Written by the indexing model from the issue text.

Assessment

Tech stack
java
Domain
distributed-systems
Issue type
Refactor
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
48/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.