f1amingo opened a new pull request, #11192:
URL: https://github.com/apache/rocketmq/pull/11192

   ### Which Issue(s) This PR Fixes
   
   - Fixes #11191
   
   ### Brief Description
   
   When a consumer subscribes to multiple lite topics with FIFO consumption, a 
lite topic could get stuck after delivering only its first message. A lite 
topic was recorded in the per-request dedup set before it was actually handled; 
when it was FIFO-blocked and then re-dispatched (via ack unblock) within the 
same pull, the re-dispatched event was treated as a duplicate and silently 
dropped, so the remaining messages were never delivered.
   
   This PR marks the dedup entry only after a lite topic is actually handled 
under the pop lock (not when it is FIFO-blocked), so a re-dispatched event is 
retried instead of dropped. The marking is moved into `popLiteTopic` and its 
visibility is narrowed accordingly.
   
   ### How Did You Test This Change?
   
   Added a regression test (`PopLiteMessageProcessorEventLossTest`) that 
deterministically reproduces the concurrent ack-unblock event loss; it fails on 
the buggy code and passes with the fix. The existing 
`PopLiteMessageProcessorTest` remains green.
   


-- 
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