Skip to content

[Bug] Cpp client serializes ConsumerRunningInfo.commitOffset with incompatible type for Java consumerRunningInfo decoding #511

@Kris20030907

Description

@Kris20030907

commitOffset 有可能为 -1/-2, 此时由于 uint64, 赋值时会溢出,从而设置为一个非常大的数,当 RocketMQ 服务端请求 GetRunningInfo 接口时会出现 Gson 解析错误,原因是超过了 long 的最大值,导致该接口请求失败。最终影响订阅一致性的判断以及客户端运行中信息的获取。当使用新订阅组时一定会遇到该问题。

The commitOffset could be -1 or -2. Since it's a uint64, this could overflow during assignment, resulting in a very large number. When the RocketMQ server requests the GetRunningInfo interface, a Gson parsing error will occur because the value exceeds the long threshold, causing the request to fail. Ultimately, this affects the consistency of the subscription.This issue will definitely occur when using a new subscription group.

Python SDK 底层会依赖 CPP, 因此 ERROR:

Image

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions