Skip to content

[Bug] TopicConfig DataVersion not persisted in split registration path #10604

Description

@imzs

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

.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions