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]
