You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@rocketmq.apache.org by GitBox <gi...@apache.org> on 2022/10/10 03:38:09 UTC

[GitHub] [rocketmq] lizhanhui commented on issue #5259: Some question about commit comsumer offset

lizhanhui commented on issue #5259:
URL: https://github.com/apache/rocketmq/issues/5259#issuecomment-1272746882

   Assume Client CA is now in charge of queue QA, with next-pull-offset 100 and commit-offset 80. When CA pulls messages, it requests somewhat like `{queueOffset=100, commitOffset=80, ...}`
   
   When the broker receives this request, it may update consume offset to 80 if 80 is greater than the previously existing value and start to deliver messages starting from 100.
   
   Now CA crashes and CB picks up, it would first inquire the broker where to start to consume messages...the broker says 80, and CB would start to pull messages from 80 and forward. 
   
   This is how at-least-once semantics is guaranteed. 
   
   If you are critical enough, you would be aware that messages between (80, 100] may be fed to applications more than once. 


-- 
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: dev-unsubscribe@rocketmq.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org