R0CKing666 opened a new pull request, #11196: URL: https://github.com/apache/rocketmq/pull/11196
### Which Issue(s) This PR Fixes - Fixes #11195 ### Brief Description Fix three defects in the POP retry message recoding logic in `PopConsumerService.popAsync` (the RocksDB/KV POP path), which together prevent retry messages from being recoded back to their origin topic: 1. **Inverted gate** — `recode` is now `!isPopResponseReturnActualRetryTopic()` (was missing the `!`), matching the code's own comment and the non-KV `PopMessageProcessor` path. 2. **Wrong origin topic** — pass the business topic `topicId` instead of `popConsumerRecord.getTopicId()` (the retry topic), so `messageExt.setTopic(topicId)` actually restores the origin topic. 3. **Wrong checkpoint offset** — pass `popConsumerRecord.getOffset()` (message queue offset) instead of `popConsumerRecord.getQueueId()` (queue index), so the `POP_CK` checkpoint used for ack / offset advancement is correct. ### How Did You Test This Change? - `mvn -pl broker -Dtest=PopConsumerServiceTest test` — 20/20 pass (adds `popAsyncRecodeRetryMessageTest` and `popAsyncNotRecodeWhenReturnActualRetryTopicTest`). - `mvn -pl broker test` — 830 tests, 0 failures, 0 errors, 4 skipped. -- 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]
