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());
+ }
}
}