apache / apache/rocketmq-client-cpp

[Bug] PushConsumer may cause consumption duplication in some scenarios due to concurrency issues.

Open
#479 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
C++
Stars
393
Forks
167
PR merge metrics
No merged PRs in 30d

Description

**BUG REPORT**

1. Please describe the issue you observed:

- What did you do (The steps to reproduce)?
1. Start a consumer client c1.
2. Start another consumer client c2 and immediately shut it down.
3. Observe the consumption duplication of the consumer client c1.
![image](https://github.com/user-attachments/assets/4395188f-a20a-4679-984d-774cab7ab5a4)
- What did you expect to see?
There's no consumption duplication.
- What did you see instead?
The consumer client c1 duplicate consume the same message many times at the same timestamp.

![image](https://github.com/user-attachments/assets/7355e643-c6fe-46c8-90d1-7ba551092d62)

4. Please tell us about your environment:

- What is your OS?
Ubuntu & CentOS
- What is your client version?
latest
- What is your RocketMQ version?
5.9
4. Other information (e.g. detailed explanation, logs, related issues, suggestions on how to fix, etc):

Contributor guide

Open the contributing guide

Research direction

Start by reproducing the reported sequence with consumer clients c1 and c2 on RocketMQ 5.9, then trace the PushConsumer concurrency and shutdown or rebalance paths. Done means c1 no longer consumes the same message repeatedly after c2 starts and immediately shuts down.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
distributed-systems
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.