From 260d53099a4a9aff3e010944598eb0a78e6943ec Mon Sep 17 00:00:00 2001 From: ccwss <1782935682@qq.com> Date: Wed, 10 Sep 2025 17:58:50 +0800 Subject: [PATCH 1/2] add PROPERTY_RETRY_TOPIC in pop retry message --- .../org/apache/rocketmq/broker/processor/PopReviveService.java | 3 +++ 1 file changed, 3 insertions(+) diff --git a/broker/src/main/java/org/apache/rocketmq/broker/processor/PopReviveService.java b/broker/src/main/java/org/apache/rocketmq/broker/processor/PopReviveService.java index 2be41a69d63..cdc9be1cfee 100644 --- a/broker/src/main/java/org/apache/rocketmq/broker/processor/PopReviveService.java +++ b/broker/src/main/java/org/apache/rocketmq/broker/processor/PopReviveService.java @@ -126,6 +126,9 @@ private boolean reviveRetry(PopCheckPoint popCheckPoint, MessageExt messageExt) msgInner.setStoreHost(brokerController.getStoreHost()); msgInner.setReconsumeTimes(messageExt.getReconsumeTimes() + 1); msgInner.getProperties().putAll(messageExt.getProperties()); + if (null == messageExt.getProperties().get(MessageConst.PROPERTY_RETRY_TOPIC)) { + msgInner.getProperties().put(MessageConst.PROPERTY_RETRY_TOPIC, messageExt.getTopic()); + } if (messageExt.getReconsumeTimes() == 0 || msgInner.getProperties().get(MessageConst.PROPERTY_FIRST_POP_TIME) == null) { msgInner.getProperties().put(MessageConst.PROPERTY_FIRST_POP_TIME, String.valueOf(popCheckPoint.getPopTime())); } From fc02fcdda0e01fdc1d5ee9798fe1a0268bf71419 Mon Sep 17 00:00:00 2001 From: ccwss <1782935682@qq.com> Date: Fri, 12 Sep 2025 17:34:03 +0800 Subject: [PATCH 2/2] fix --- .../org/apache/rocketmq/broker/processor/PopReviveService.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/broker/src/main/java/org/apache/rocketmq/broker/processor/PopReviveService.java b/broker/src/main/java/org/apache/rocketmq/broker/processor/PopReviveService.java index cdc9be1cfee..e952d2c4372 100644 --- a/broker/src/main/java/org/apache/rocketmq/broker/processor/PopReviveService.java +++ b/broker/src/main/java/org/apache/rocketmq/broker/processor/PopReviveService.java @@ -126,7 +126,7 @@ private boolean reviveRetry(PopCheckPoint popCheckPoint, MessageExt messageExt) msgInner.setStoreHost(brokerController.getStoreHost()); msgInner.setReconsumeTimes(messageExt.getReconsumeTimes() + 1); msgInner.getProperties().putAll(messageExt.getProperties()); - if (null == messageExt.getProperties().get(MessageConst.PROPERTY_RETRY_TOPIC)) { + if (!messageExt.getProperties().containsKey(MessageConst.PROPERTY_RETRY_TOPIC)) { msgInner.getProperties().put(MessageConst.PROPERTY_RETRY_TOPIC, messageExt.getTopic()); } if (messageExt.getReconsumeTimes() == 0 || msgInner.getProperties().get(MessageConst.PROPERTY_FIRST_POP_TIME) == null) {