rocketmq-clients icon indicating copy to clipboard operation
rocketmq-clients copied to clipboard

[Bug] PushConsumer cannot guarantee the order of FIFO Topic messages when it is started for the first time.

Open JanYork opened this issue 1 year ago • 0 comments

Before Creating the Bug Report

  • [X] I found a bug, not just asking a question, which should be created in GitHub Discussions.

  • [X] I have searched the GitHub Issues and GitHub 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.

Programming Language of the Client

Java

Runtime Platform Environment

macos

RocketMQ Version of the Client/Server

The latest version

Run or Compiler Version

JDK 17

Describe the Bug

Before the PushConsumer is launched, if the queue already contains some data, the subsequent launch of the PushConsumer will consume messages asynchronously until the remote configuration is synchronized with the local configuration, returning to normal state.

Steps to Reproduce

Before starting the PushConsumer, send some messages using a FIFO producer, such as numbers 1-10. After sending is complete, start the PushConsumer. At this point, you will notice that the messages are out of order. Then, try sending some more messages. This time, they will be normal and non-concurrent.

What Did You Expect to See?

Sequential output messages

What Did You See Instead?

When consuming messages for the first time, they are out of order.

Additional Context

17:24:42.443 [RocketmqMessageConsumption-0-28] INFO PushConsumerTest - message=1 17:24:42.443 [RocketmqMessageConsumption-0-32] INFO PushConsumerTest - message=5 17:24:42.443 [RocketmqMessageConsumption-0-31] INFO PushConsumerTest - message=4 17:24:42.443 [RocketmqMessageConsumption-0-36] INFO PushConsumerTest - message=9 17:24:42.443 [RocketmqMessageConsumption-0-29] INFO PushConsumerTest - message=2 17:24:42.443 [RocketmqMessageConsumption-0-30] INFO PushConsumerTest - message=3 17:24:42.443 [RocketmqMessageConsumption-0-35] INFO PushConsumerTest - message=8 17:24:42.443 [RocketmqMessageConsumption-0-33] INFO PushConsumerTest - message=6 17:24:42.443 [RocketmqMessageConsumption-0-34] INFO PushConsumerTest - message=7

JanYork avatar May 16 '24 10:05 JanYork