JanYork commented on issue #8154:
URL: https://github.com/apache/rocketmq/issues/8154#issuecomment-2116551944

   > > > > > When creating the consumer group, did you set it as a 
FIFO-ConsumerGroup? For reference, use the command
   > > > > > `sh mqadmin updateSubGroup -n <nameserver_address> -g 
<consumer_group_name> -c <cluster_name> -o true.`
   > > > > 
   > > > > 
   > > > > Yes, this is inevitable. I have explained above that this is a 
FIFO-type topic. Commands from the document are used.
   > > > 
   > > > 
   > > > 
   > > > 
   > > > 
   > > > 
   > > > FIFO Consumer Group
   > > > non-FIFO Consumer Group
   > > > 
   > > > 
   > > > 
   > > > 
   > > > FIFO Topic
   > > > FIFO
   > > > non-FIFO
   > > > 
   > > > 
   > > > non-FIFO Topic
   > > > non-FIFO
   > > > non-FIFO
   > > > 
   > > > 
   > > > 
   > > > So the consumer group  is also FIFO?
   > > 
   > > Let's also say that my conditions are as follows:
   > > 
   > > 1. i created a FIFO topic using the command stated in the official 
documentation.
   > > 2. all the messages produced by my producers are put into the same group.
   > > 3. the producer and the consumer are single, there is no concurrency or 
asynchrony, they are both executing the code synchronously.
   > > 4. when I use SimpleConsumer, I fetch one message at a time and wait for 
the previous message to complete before fetching the next one.
   > > 
   > > Also this mostly only happens with the 1st batch of messages received 
after startup.
   > > 
   > > I'm using the official github example.
   > > 
   > > I can reproduce and record a video on my side if needed.
   > > 
   > > The following is in Chinese, I think you'll understand it better that 
way:
   > > 
   > > 也就说说,我的条件如下:​1.我使用了官方文档上所说的命令创建了一个FIFO 
topic。​2.我的生产者生产的消息都放到了同一个组。​3.生产者与消费者都是单一的,没有并发也没有异步,他们都是同步执行的代码。​4.我使用SimpleConsumer时,一次只获取一个消息,等待上一个消息完成后,才会获取下一个消息。​​另外这种情况多半只发生在启动后第1次接收的那批消息。​​我使用的是官方github上的示例。​​如果有需要,我这边可以复现并录制视频。
   > 
   > 我们复现下
   
   这种现象不是每次都能复现,你可以先启动单个生产者,发送1-10个数字到topic同一个group,然后紧接着启动Simple 
consumer并串行切一次获取一个message,有时候会丢失掉数字1。
   
   在Java中复现的概率更低,或许和启动时间有些关系,在nodejs复现概率极高(单个node脚本启动迅速)。


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to