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

lizhimins 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 6a9e84f113 [ISSUE #10651] bump DLedger to 0.3.3.4 (maintenance line) 
(#10958)
6a9e84f113 is described below

commit 6a9e84f1132df46f56168b1f40e009e38383e39a
Author: rongtong <[email protected]>
AuthorDate: Wed Aug 19 14:58:30 2026 +0800

    [ISSUE #10651] bump DLedger to 0.3.3.4 (maintenance line) (#10958)
    
    * chore: bump DLedger to 0.3.3.4 (maintenance line)
    
    Update the DLedger dependency from 0.3.2 to 0.3.3.4, the latest
    release on the 0.3.x maintenance line published on Maven Central.
    The 0.3.3.4 release is API-compatible with 0.3.2 and only carries
    dependency hygiene fixes (aligning fastjson2 and excluding fastjson1
    from its rocketmq-remoting transitive path).
    
    Also update the Bazel WORKSPACE artifact coordinate to keep the two
    build systems in sync.
    
    * chore: fully remove fastjson1 from the build
    
    DLedger 0.3.3.4 already excludes com.alibaba:fastjson from its
    rocketmq-remoting dependency and its bytecode only references
    fastjson2, but rocketmq still declared fastjson1 itself, so it kept
    leaking onto every module compile classpath through rocketmq-common.
    
    - drop the com.alibaba:fastjson property and dependencyManagement
      entry from the root pom
    - drop the unused com.alibaba:fastjson dependency from rocketmq-common
      (no main source imports com.alibaba.fastjson.*)
    - drop the fastjson1 pin from WORKSPACE and the fastjson1 dep from the
      remoting test target in remoting/BUILD.bazel
    - migrate RemotingSerializableCompatTest to fastjson2: use the
      fastjson2 JSONField annotation (which is what the protocol classes
      actually carry) and round trip through RemotingSerializable instead
      of com.alibaba.fastjson.JSON
    
    fastjson1 wire-format coverage is retained by the frozen fastjson1
    payload already asserted in testCompatibilityCheckWithBitSet.
    
    * fix(bazel): exclude rocketmq-remoting from coursier resolution
    
    dledger 0.3.3.4 depends on rocketmq-remoting:5.5.0, which Coursier
    fetches from Maven Central. That artifact transitively brings
    grpc-netty-shaded:1.53.0 with a strict [1.53.0] range on grpc-core,
    conflicting with the WORKSPACE-declared grpc 1.47.0 artifacts.
    
    Since rocketmq-remoting is built from source in this repo (//remoting),
    exclude it from external resolution — matching what PR #10947 already
    does for the DLedger 0.4.x line.
    
    ---------
    
    Co-authored-by: 通融 <[email protected]>
---
 WORKSPACE                                                        | 4 ++--
 common/pom.xml                                                   | 4 ----
 pom.xml                                                          | 8 +-------
 remoting/BUILD.bazel                                             | 1 -
 .../remoting/protocol/RemotingSerializableCompatTest.java        | 9 ++++++---
 5 files changed, 9 insertions(+), 17 deletions(-)

diff --git a/WORKSPACE b/WORKSPACE
index 0e95cd42e8..7d055482b1 100644
--- a/WORKSPACE
+++ b/WORKSPACE
@@ -40,7 +40,6 @@ load("@rules_jvm_external//:defs.bzl", "maven_install")
 maven_install(
     artifacts = [
         "junit:junit:4.13.2",
-        "com.alibaba:fastjson:1.2.83",
         "com.alibaba.fastjson2:fastjson2:2.0.59",
         "org.hamcrest:hamcrest-library:1.3",
         "io.netty:netty-all:4.1.130.Final",
@@ -54,7 +53,7 @@ maven_install(
         "commons-validator:commons-validator:1.10.0",
         "org.apache.commons:commons-lang3:3.20.0",
         "org.hamcrest:hamcrest-core:1.3",
-        "io.openmessaging.storage:dledger:0.3.2",
+        "io.openmessaging.storage:dledger:0.3.3.4",
         "net.java.dev.jna:jna:4.2.2",
         "ch.qos.logback:logback-classic:1.2.10",
         "ch.qos.logback:logback-core:1.2.10",
@@ -117,6 +116,7 @@ maven_install(
         "org.slf4j:slf4j-api:2.0.3",
         "org.javassist:javassist:3.20.0-GA",
     ],
+    excluded_artifacts = ["org.apache.rocketmq:rocketmq-remoting"],
     fetch_sources = False,
     repositories = [
         "https://repo1.maven.org/maven2";,
diff --git a/common/pom.xml b/common/pom.xml
index b931afcb89..caa9d6b537 100644
--- a/common/pom.xml
+++ b/common/pom.xml
@@ -32,10 +32,6 @@
     </properties>
 
     <dependencies>
-        <dependency>
-            <groupId>com.alibaba</groupId>
-            <artifactId>fastjson</artifactId>
-        </dependency>
         <dependency>
             <groupId>com.alibaba.fastjson2</groupId>
             <artifactId>fastjson2</artifactId>
diff --git a/pom.xml b/pom.xml
index 645ad51225..da23575f4e 100644
--- a/pom.xml
+++ b/pom.xml
@@ -104,7 +104,6 @@
         <netty.version>4.1.130.Final</netty.version>
         <netty.tcnative.version>2.0.53.Final</netty.tcnative.version>
         <bcpkix-jdk18on.version>1.83</bcpkix-jdk18on.version>
-        <fastjson.version>1.2.83</fastjson.version>
         <fastjson2.version>2.0.63</fastjson2.version>
         <javassist.version>3.20.0-GA</javassist.version>
         <jna.version>4.2.2</jna.version>
@@ -123,7 +122,7 @@
         <lz4-java.version>1.10.3</lz4-java.version>
         <opentracing.version>0.33.0</opentracing.version>
         <jaeger.version>1.8.1</jaeger.version>
-        <dleger.version>0.3.2</dleger.version>
+        <dleger.version>0.3.3.4</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>
@@ -688,11 +687,6 @@
                 <type>jar</type>
                 <version>${bcpkix-jdk18on.version}</version>
             </dependency>
-            <dependency>
-                <groupId>com.alibaba</groupId>
-                <artifactId>fastjson</artifactId>
-                <version>${fastjson.version}</version>
-            </dependency>
             <dependency>
                 <groupId>com.alibaba.fastjson2</groupId>
                 <artifactId>fastjson2</artifactId>
diff --git a/remoting/BUILD.bazel b/remoting/BUILD.bazel
index 62273e5e9d..2d91b53c9e 100644
--- a/remoting/BUILD.bazel
+++ b/remoting/BUILD.bazel
@@ -52,7 +52,6 @@ java_library(
         "//common",
         "//:test_deps",
         "@maven//:org_objenesis_objenesis",
-        "@maven//:com_alibaba_fastjson",
         "@maven//:com_alibaba_fastjson2_fastjson2",
         "@maven//:com_google_code_gson_gson",
         "@maven//:com_google_guava_guava",
diff --git 
a/remoting/src/test/java/org/apache/rocketmq/remoting/protocol/RemotingSerializableCompatTest.java
 
b/remoting/src/test/java/org/apache/rocketmq/remoting/protocol/RemotingSerializableCompatTest.java
index 35c1c7b891..edacc44941 100644
--- 
a/remoting/src/test/java/org/apache/rocketmq/remoting/protocol/RemotingSerializableCompatTest.java
+++ 
b/remoting/src/test/java/org/apache/rocketmq/remoting/protocol/RemotingSerializableCompatTest.java
@@ -17,8 +17,8 @@
 
 package org.apache.rocketmq.remoting.protocol;
 
-import com.alibaba.fastjson.annotation.JSONField;
 import com.alibaba.fastjson2.JSON;
+import com.alibaba.fastjson2.annotation.JSONField;
 import org.apache.rocketmq.remoting.protocol.body.BatchAck;
 import org.junit.Test;
 import org.objenesis.ObjenesisStd;
@@ -408,10 +408,13 @@ public class RemotingSerializableCompatTest {
     }
     
     private boolean checkCompatible(final Object original, final Class<?> 
clazz) {
-        String json = com.alibaba.fastjson.JSON.toJSONString(original);
+        // fastjson1 is no longer on the classpath, so the round trip goes 
through the
+        // production codec. Compatibility with the fastjson1 wire format is 
pinned by the
+        // frozen fastjson1 payload asserted in 
testCompatibilityCheckWithBitSet.
+        String json = RemotingSerializable.toJson(original, false);
         Object deserialized;
         try {
-            deserialized = com.alibaba.fastjson2.JSON.parseObject(json, clazz);
+            deserialized = RemotingSerializable.fromJson(json, clazz);
         } catch (Exception e) {
             System.err.printf("Deserialization failed for %s: %s\n", 
clazz.getName(), e.getMessage());
             return false;

Reply via email to