[Bug] PushConsumer cannot guarantee the order of FIFO Topic messages when it is started for the first time.
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