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

   ### Which Issue(s) This PR Fixes
   
   - Fixes #10549
   
   ### Brief Description
   
   This PR fixes three related bugs in lite topic offset reset:
   
   1. **Memory leak in `resetOffsetTable`**: `removeResetOffset()` now cleans 
up empty inner map entries after removing a queueId, preventing stale key 
accumulation.
   
   2. **FIFO block bypass on reset**: When `useServerSideResetOffset` is 
enabled and a reset offset is pending, `isFifoBlocked()` returns `false` 
immediately, allowing consumption to proceed from the reset position.
   
   3. **Reset to offset 0 silently skipped**: Changed `resetOffset > 0` to 
`resetOffset >= 0` in `ResetOffsetByTimeCommand` so that offset 0 is a valid 
reset target.
   
   Additionally, a new `eraseResetOffset(topic, group, queueId)` method is 
introduced and called during lite topic removal in 
`AbstractLiteLifecycleManager` to clean up orphaned reset offset entries.
   
   ### How Did You Test This Change?
   
   - Added unit test `testEraseResetOffset` in `ConsumerOffsetManagerTest` 
verifying precise removal and empty-map cleanup.
   - Added unit test `testIsFifoBlocked_hasResetOffset` in 
`PopLiteMessageProcessorTest` verifying FIFO bypass when reset is pending.
   - Existing tests continue to pass.


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