RockteMQ-AI commented on issue #10549:
URL: https://github.com/apache/rocketmq/issues/10549#issuecomment-4808979098

   **Issue Evaluation**
   
   Category: `type/bug` | Status: **Confirmed**
   
   The reported issue has been verified against the current codebase.
   
   **Root Cause:** Three distinct bugs: (1) queryThenEraseResetOffset() in 
ConsumerOffsetManager removes only the inner queueId entry but never removes 
the outer topic@group key when the inner map becomes empty, causing stale 
empty-map entries to accumulate. (2) PopLiteMessageProcessor.isFifoBlocked() 
unconditionally delegates to consumerOrderInfoManager.checkBlock() without 
checking for pending reset offsets — unlike PopConsumerService.isFifoBlocked() 
which returns false when useServerSideResetOffset is enabled and a reset is 
pending. Since isFifoBlocked() is checked before getPopOffset() (where 
clearBlock is called), a pending reset with an active block creates a deadlock 
where the block is never cleared. (3) ResetOffsetByTimeCommand uses 
'resetOffset > 0' guard, silently skipping the valid offset 0. Additionally, 
AbstractLiteLifecycleManager.deleteLmq() does not clean up resetOffsetTable 
entries.
   **Severity:** high
   **Details:** All three bugs are confirmed by code inspection. Bug 2 (FIFO 
block bypass) is the most severe — it permanently blocks consumption after a 
reset for lite topics, directly impacting availability. The regular 
PopConsumerService already has the correct fix pattern (checking hasOffsetReset 
before checkBlock), confirming this is an oversight in the lite topic 
processor. Bug 1 is a slow memory leak. Bug 3 silently fails for a valid edge 
case. The deleteLmq cleanup gap allows orphaned reset entries to persist.
   
   An automated fix proposal may be generated. Reply `/approve` to proceed with 
PR generation, or provide additional context.
   
   ---
   *Automated evaluation by RockteMQ-AI*
   


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