Before Creating the Bug Report
Runtime platform environment
.
RocketMQ version
.
JDK Version
.
Describe the Bug
In TopicConfigManager#buildSerializeWrapper, when enableSplitRegistration
is enabled, the DataVersion was advanced by directly calling getDataVersion().nextVersion().
Under RocksDB config storage, the version was only bumped in memory
and never persisted, since RocksDBTopicConfigManager overrides
updateDataVersion() to write the version into RocksDB.
We should use updateDataVersion() to advance the version through the unified,
overridable path so it is persisted correctly and carries the proper stateMachineVersion.
Steps to Reproduce
.
What Did You Expect to See?
.
What Did You See Instead?
.
Additional Context
.
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
.
RocketMQ version
.
JDK Version
.
Describe the Bug
In TopicConfigManager#buildSerializeWrapper, when enableSplitRegistration
is enabled, the DataVersion was advanced by directly calling getDataVersion().nextVersion().
Under RocksDB config storage, the version was only bumped in memory
and never persisted, since RocksDBTopicConfigManager overrides
updateDataVersion() to write the version into RocksDB.
We should use updateDataVersion() to advance the version through the unified,
overridable path so it is persisted correctly and carries the proper stateMachineVersion.
Steps to Reproduce
.
What Did You Expect to See?
.
What Did You See Instead?
.
Additional Context
.