This is an automated email from the ASF dual-hosted git repository.
jinrongtong 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 dd4b66643 [ISSUE #5424] Fix null exception and array overflow bug
exist in getHalfMsg method #5425
dd4b66643 is described below
commit dd4b66643581c962db0cfb3951a893792f4e349e
Author: RapperCL <[email protected]>
AuthorDate: Mon Oct 31 10:27:54 2022 +0800
[ISSUE #5424] Fix null exception and array overflow bug exist in getHalfMsg
method #5425
---
.../transaction/queue/TransactionalMessageServiceImpl.java | 14 ++++++++------
1 file changed, 8 insertions(+), 6 deletions(-)
diff --git
a/broker/src/main/java/org/apache/rocketmq/broker/transaction/queue/TransactionalMessageServiceImpl.java
b/broker/src/main/java/org/apache/rocketmq/broker/transaction/queue/TransactionalMessageServiceImpl.java
index f9347c819..1f2238414 100644
---
a/broker/src/main/java/org/apache/rocketmq/broker/transaction/queue/TransactionalMessageServiceImpl.java
+++
b/broker/src/main/java/org/apache/rocketmq/broker/transaction/queue/TransactionalMessageServiceImpl.java
@@ -550,14 +550,16 @@ public class TransactionalMessageServiceImpl implements
TransactionalMessageServ
private GetResult getHalfMsg(MessageQueue messageQueue, long offset) {
GetResult getResult = new GetResult();
-
+
PullResult result = pullHalfMsg(messageQueue, offset,
PULL_MSG_RETRY_NUMBER);
- getResult.setPullResult(result);
- List<MessageExt> messageExts = result.getMsgFoundList();
- if (messageExts == null) {
- return getResult;
+ if (result != null) {
+ getResult.setPullResult(result);
+ List<MessageExt> messageExts = result.getMsgFoundList();
+ if (messageExts == null || messageExts.size() == 0) {
+ return getResult;
+ }
+ getResult.setMsg(messageExts.get(0));
}
- getResult.setMsg(messageExts.get(0));
return getResult;
}