This is an automated email from the ASF dual-hosted git repository.

RongtongJin pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/rocketmq.git


The following commit(s) were added to refs/heads/develop by this push:
     new c624d69520 [ISSUE #10969] Hoist per-batch constant min/max offset 
strings out of message loop in PullAPIWrapper (#10971)
c624d69520 is described below

commit c624d69520018df58a01c98a986df15166fde727
Author: Jiahua Wang <[email protected]>
AuthorDate: Thu Sep 3 15:06:57 2026 +0800

    [ISSUE #10969] Hoist per-batch constant min/max offset strings out of 
message loop in PullAPIWrapper (#10971)
    
    Co-authored-by: wangjiahua.wjh <[email protected]>
---
 .../client/impl/consumer/PullAPIWrapper.java       | 28 ++++++++++++----------
 1 file changed, 15 insertions(+), 13 deletions(-)

diff --git 
a/client/src/main/java/org/apache/rocketmq/client/impl/consumer/PullAPIWrapper.java
 
b/client/src/main/java/org/apache/rocketmq/client/impl/consumer/PullAPIWrapper.java
index 83e9e4d075..b3cc7f709d 100644
--- 
a/client/src/main/java/org/apache/rocketmq/client/impl/consumer/PullAPIWrapper.java
+++ 
b/client/src/main/java/org/apache/rocketmq/client/impl/consumer/PullAPIWrapper.java
@@ -128,19 +128,21 @@ public class PullAPIWrapper {
                 this.executeHook(filterMessageContext);
             }
 
-            for (MessageExt msg : msgListFilterAgain) {
-                String traFlag = 
msg.getProperty(MessageConst.PROPERTY_TRANSACTION_PREPARED);
-                if (Boolean.parseBoolean(traFlag)) {
-                    
msg.setTransactionId(msg.getProperty(MessageConst.PROPERTY_UNIQ_CLIENT_MESSAGE_ID_KEYIDX));
-                }
-                MessageAccessor.putProperty(msg, 
MessageConst.PROPERTY_MIN_OFFSET,
-                    Long.toString(pullResult.getMinOffset()));
-                MessageAccessor.putProperty(msg, 
MessageConst.PROPERTY_MAX_OFFSET,
-                    Long.toString(pullResult.getMaxOffset()));
-                msg.setBrokerName(mq.getBrokerName());
-                msg.setQueueId(mq.getQueueId());
-                if (pullResultExt.getOffsetDelta() != null) {
-                    msg.setQueueOffset(pullResultExt.getOffsetDelta() + 
msg.getQueueOffset());
+            if (!msgListFilterAgain.isEmpty()) {
+                String minOffset = Long.toString(pullResult.getMinOffset());
+                String maxOffset = Long.toString(pullResult.getMaxOffset());
+                for (MessageExt msg : msgListFilterAgain) {
+                    String traFlag = 
msg.getProperty(MessageConst.PROPERTY_TRANSACTION_PREPARED);
+                    if (Boolean.parseBoolean(traFlag)) {
+                        
msg.setTransactionId(msg.getProperty(MessageConst.PROPERTY_UNIQ_CLIENT_MESSAGE_ID_KEYIDX));
+                    }
+                    MessageAccessor.putProperty(msg, 
MessageConst.PROPERTY_MIN_OFFSET, minOffset);
+                    MessageAccessor.putProperty(msg, 
MessageConst.PROPERTY_MAX_OFFSET, maxOffset);
+                    msg.setBrokerName(mq.getBrokerName());
+                    msg.setQueueId(mq.getQueueId());
+                    if (pullResultExt.getOffsetDelta() != null) {
+                        msg.setQueueOffset(pullResultExt.getOffsetDelta() + 
msg.getQueueOffset());
+                    }
                 }
             }
 

Reply via email to