Before Creating the Bug Report
Runtime platform environment
When upgrading RocketMQ from 5.4.0 to 5.5.0, the Slave node throws
com.alibaba.fastjson2.JSONException: not support unquoted name
during consumerOffset synchronization.
2026-04-30 14:08:29 ERROR BrokerControllerScheduledThread1 - SyncConsumerOffset Exception, 10.10.10.76:10911
com.alibaba.fastjson2.JSONException: not support unquoted name, offset 1608, character 0, line 1, column 1608, fastjson-version 2.0.59 {"dataVersion":{"counter":565102,"stateVersion":34,"timestamp":1777529309588},"groupTopicMap":{"gid-test-rocketmq-tx":["%RETRY%gid-test-rocketmq-tx","TopicTest-tx-high"],"CID_RMQ_SYS_TRANS":["RMQ_SYS_TRANS_HALF_TOPIC","RMQ_SYS_TRANS_OP_HALF_TOPIC"],"GID-test_rmq_5point4":["%RETRY%GID-test_rmq_5point4","test_rmq_5point4"],"GID-test_tx_controller_mode":["%RETRY%GID-test_tx_controller_mode","test_tx_controller_mode"],"GID_TopicTest-delay-upgrade":["TopicTest-delay-upgrade","%RETRY%GID_TopicTest-delay-upgrade"],"gid-test-rocketmq":["TopicTest-high","%RETRY%gid-test-rocketmq"]},"offsetTable":{"%RETRY%GID-test_rmq_5point4@GID-test_rmq_5point4":{0:0},"%RETRY%gid-test-rocketmq-tx@gid-test-rocketmq-tx":{0:0},"TopicTest-high@gid-test-rocketmq":{0:3959363757,1:3959136846,2:80629020,3:80629016,4:80629008,5:80628834,6:80629199,7:80629026,8:63966738,9:63966733,10:63966732,11:63966737,12:63966738,13:63966747,14:63966744,15:63966742},"RMQ_SYS_TRANS_HALF_TOPIC@CID_RMQ_SYS_TRANS":{0:2166432},"test_rmq_5point4@GID-test_rmq_5point4":{0:667273,1:667276},"%RETRY%GID-test_tx_controller_mode@GID-test_tx_controller_mode":{0:0},"TopicTest-tx-high@gid-test-rocketmq-tx":{0:182636,1:170672,2:154594,3:166873,4:13608,5:13606,6:13608,7:13599},"%RETRY%GID_TopicTest-delay-upgrade@GID_TopicTest-delay-upgrade":{0:0},"%RETRY%gid-test-rocketmq@gid-test-rocketmq":{0:0},"TopicTest-delay-upgrade@GID_TopicTest-delay-upgrade":{0:24268,1:24270,2:24271,3:24272},"RMQ_SYS_TRANS_OP_HALF_TOPIC@CID_RMQ_SYS_TRANS":{0:129594},"test_tx_controller_mode@GID-test_tx_controller_mode":{0:47742,1:47741,2:47739,3:47735}},"pullOffsetTable":{"%RETRY%gid-test-rocketmq-tx@gid-test-rocketmq-tx":{0:0},"TopicTest-tx-high@gid-test-rocketmq-tx":{0:182636,1:170672,2:154594,3:166873},"%RETRY%gid-test-rocketmq@gid-test-rocketmq":{0:0},"TopicTest-high@gid-test-rocketmq":{0:3959363779,1:3959136868}}}
at com.alibaba.fastjson2.JSONReader.notSupportName(JSONReader.java:6564)
at com.alibaba.fastjson2.JSONReader.checkNameBegin(JSONReader.java:6558)
at com.alibaba.fastjson2.JSONReaderUTF8.skipName(JSONReaderUTF8.java:4286)
at com.alibaba.fastjson2.JSONReaderUTF8.skipObject(JSONReaderUTF8.java:4480)
at com.alibaba.fastjson2.JSONReaderUTF8.skipValue(JSONReaderUTF8.java:4698)
at com.alibaba.fastjson2.JSONReaderUTF8.skipObject(JSONReaderUTF8.java:4481)
at com.alibaba.fastjson2.JSONReaderUTF8.skipValue(JSONReaderUTF8.java:4698)
at com.alibaba.fastjson2.JSONReaderUTF8.skipValue(JSONReaderUTF8.java:4710)
at com.alibaba.fastjson2.reader.ObjectReaderBean.processExtra(ObjectReaderBean.java:134)
at com.alibaba.fastjson2.reader.ObjectReaderBean.processExtra(ObjectReaderBean.java:96)
at com.alibaba.fastjson2.reader.ObjectReaderAdapter.readFieldValue(ObjectReaderAdapter.java:512)
at com.alibaba.fastjson2.reader.ORG_24_2_ConsumerOffsetSerializeWrapper.readObject(Unknown Source)
at com.alibaba.fastjson2.JSON.parseObject(JSON.java:1605)
at org.apache.rocketmq.remoting.protocol.RemotingSerializable.decode(RemotingSerializable.java:47)
at org.apache.rocketmq.broker.out.BrokerOuterAPI.getAllConsumerOffset(BrokerOuterAPI.java:896)
at org.apache.rocketmq.broker.slave.SlaveSynchronize.syncConsumerOffset(SlaveSynchronize.java:130)
at org.apache.rocketmq.broker.slave.SlaveSynchronize.syncAll(SlaveSynchronize.java:67)
at org.apache.rocketmq.broker.controller.ReplicasManager.lambda$handleSlaveSynchronize$2(ReplicasManager.java:357)
at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305)
at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
at java.base/java.lang.Thread.run(Thread.java:834)
RocketMQ version
5.5.0
JDK Version
openjdk 11
Describe the Bug
When upgrading RocketMQ from 5.4.x to 5.5.x, the Slave node throws
com.alibaba.fastjson2.JSONException: not support unquoted name
during consumerOffset synchronization.
Steps to Reproduce
RocketMQ from 5.4.0 to 5.5.0
What Did You Expect to See?
maintain backward compatibility with data serialized by older versions
What Did You See Instead?
JSONException: not support unquoted name
Additional Context
No response
Before Creating the Bug Report
I found a bug, not just asking a question, which should be created in GitHub Discussions.
I have searched the GitHub Issues and GitHub Discussions of this repository and believe that this is not a duplicate.
I have confirmed that this bug belongs to the current repository, not other repositories of RocketMQ.
Runtime platform environment
When upgrading RocketMQ from 5.4.0 to 5.5.0, the Slave node throws
com.alibaba.fastjson2.JSONException: not support unquoted nameduring consumerOffset synchronization.
RocketMQ version
5.5.0
JDK Version
openjdk 11
Describe the Bug
When upgrading RocketMQ from 5.4.x to 5.5.x, the Slave node throws
com.alibaba.fastjson2.JSONException: not support unquoted nameduring consumerOffset synchronization.
Steps to Reproduce
RocketMQ from 5.4.0 to 5.5.0
What Did You Expect to See?
maintain backward compatibility with data serialized by older versions
What Did You See Instead?
JSONException: not support unquoted name
Additional Context
No response