apache / apache/rocketmq

[Bug] Consume TPS and message-out metrics are missing when KV POP is enabled

Open
#10,899 2 comments 0 reactions 0 assignees View on GitHub
Dominant language
Java
Stars
22.6k
Forks
12k
Avg merge
3d 1h
Merged PRs (30d)
27

Description

### Before Creating the Bug Report

- [x] I found a bug, not just asking a question, which should be created in [GitHub Discussions](https://github.com/apache/rocketmq/discussions).

- [x] I have searched the [GitHub Issues](https://github.com/apache/rocketmq/issues) and [GitHub Discussions](https://github.com/apache/rocketmq/discussions) of this repository and believe that this is not a duplicate.

- [x] I have confirmed that this bug belongs to the current repository, not other repositories of RocketMQ.

### Runtime platform environment

All

### RocketMQ version

develop

### JDK Version

All

### Describe the Bug

When KV POP is enabled, successful POP consumption does not update `BROKER_GET_NUMS`, `GROUP_GET_NUMS`, `GROUP_GET_SIZE`, `rocketmq_messages_out_total`, or `rocketmq_throughput_out_total`.

As a result, `mqadmin consumerProgress` reports an incorrect Consume TPS, and the related BrokerStats and OTel metrics are also inaccurate.

### Steps to Reproduce

Enable KV POP on the Broker using `popConsumerKVServiceInit=true` and `popConsumerKVServiceEnable=true`.

Send messages to a topic and continuously consume them. While messages are being consumed, run `mqadmin consumerProgress` and inspect the related BrokerStats or OTel metrics.

### What Did You Expect to See?

KV POP should update the same message-out statistics as traditional POP. Consume TPS and the related message count and size metrics should accurately reflect the actual consumption.

### What Did You See Instead?

Messages are consumed and acknowledged normally, but the Consume TPS reported by `mqadmin consumerProgress` remains 0. The related BrokerStats and OTel metrics are not updated.

### Additional Context

_No response_

Contributor guide

Open the contributing guide

Research direction

Start with the KV POP reproduction using popConsumerKVServiceInit=true and popConsumerKVServiceEnable=true, then trace mqadmin consumerProgress alongside BrokerStats and the OTel metrics. Compare successful KV POP consumption with traditional POP and verify that BROKER_GET_NUMS, GROUP_GET_NUMS, GROUP_GET_SIZE, rocketmq_messages_out_total, and rocketmq_throughput_out_total reflect consumed messages and bytes.

Written by the indexing model from the issue text.

Assessment

Tech stack
java
Domain
distributed-systems, observability
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
48/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.