Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
Apache RocketMQ
Rocketmq
提交
a4f62104
R
Rocketmq
项目概览
Apache RocketMQ
/
Rocketmq
上一次同步 大约 3 年
通知
267
Star
16139
Fork
68
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
R
Rocketmq
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
提交
a4f62104
编写于
11月 05, 2019
作者:
Z
zhenghu
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
[#1568] rocketmq need enhance stability when commitlog broken
增加非空判断,防止空指针异常,导致循环事务 check,增加test覆盖,修复编码格式
上级
159d28d5
变更
1
显示空白变更内容
内联
并排
Showing
1 changed file
with
17 addition
and
13 deletion
+17
-13
broker/src/test/java/org/apache/rocketmq/broker/transaction/queue/TransactionalMessageBridgeTest.java
...ker/transaction/queue/TransactionalMessageBridgeTest.java
+17
-13
未找到文件。
broker/src/test/java/org/apache/rocketmq/broker/transaction/queue/TransactionalMessageBridgeTest.java
浏览文件 @
a4f62104
...
...
@@ -110,14 +110,18 @@ public class TransactionalMessageBridgeTest {
@Test
public
void
testGetHalfMessage
()
{
when
(
messageStore
.
getMessage
(
anyString
(),
anyString
(),
anyInt
(),
anyLong
(),
anyInt
(),
ArgumentMatchers
.
nullable
(
MessageFilter
.
class
))).
thenReturn
(
createGetMessageResult
(
GetMessageStatus
.
NO_MESSAGE_IN_QUEUE
));
when
(
messageStore
.
getMessage
(
anyString
(),
anyString
(),
anyInt
(),
anyLong
(),
anyInt
(),
ArgumentMatchers
.
nullable
(
MessageFilter
.
class
)))
.
thenReturn
(
createGetMessageResult
(
GetMessageStatus
.
NO_MESSAGE_IN_QUEUE
));
PullResult
result
=
transactionBridge
.
getHalfMessage
(
0
,
0
,
1
);
assertThat
(
result
.
getPullStatus
()).
isEqualTo
(
PullStatus
.
NO_NEW_MSG
);
}
@Test
public
void
testGetOpMessage
()
{
when
(
messageStore
.
getMessage
(
anyString
(),
anyString
(),
anyInt
(),
anyLong
(),
anyInt
(),
ArgumentMatchers
.
nullable
(
MessageFilter
.
class
))).
thenReturn
(
createGetMessageResult
(
GetMessageStatus
.
NO_MESSAGE_IN_QUEUE
));
when
(
messageStore
.
getMessage
(
anyString
(),
anyString
(),
anyInt
(),
anyLong
(),
anyInt
(),
ArgumentMatchers
.
nullable
(
MessageFilter
.
class
)))
.
thenReturn
(
createGetMessageResult
(
GetMessageStatus
.
NO_MESSAGE_IN_QUEUE
));
PullResult
result
=
transactionBridge
.
getOpMessage
(
0
,
0
,
1
);
assertThat
(
result
.
getPullStatus
()).
isEqualTo
(
PullStatus
.
NO_NEW_MSG
);
}
...
...
@@ -143,9 +147,9 @@ public class TransactionalMessageBridgeTest {
MessageExt
messageExt
=
createMessageBrokerInner
();
final
String
offset
=
"123456789"
;
MessageExtBrokerInner
msgInner
=
transactionBridge
.
renewImmunityHalfMessageInner
(
messageExt
);
MessageAccessor
.
putProperty
(
msgInner
,
MessageConst
.
PROPERTY_TRANSACTION_PREPARED_QUEUE_OFFSET
,
offset
);
MessageAccessor
.
putProperty
(
msgInner
,
MessageConst
.
PROPERTY_TRANSACTION_PREPARED_QUEUE_OFFSET
,
offset
);
assertThat
(
msgInner
).
isNotNull
();
Map
<
String
,
String
>
properties
=
msgInner
.
getProperties
();
Map
<
String
,
String
>
properties
=
msgInner
.
getProperties
();
assertThat
(
properties
).
isNotNull
();
String
resOffset
=
properties
.
get
(
MessageConst
.
PROPERTY_TRANSACTION_PREPARED_QUEUE_OFFSET
);
assertThat
(
resOffset
).
isEqualTo
(
offset
);
...
...
@@ -157,11 +161,11 @@ public class TransactionalMessageBridgeTest {
MessageExt
messageExt
=
new
MessageExt
();
long
bornTimeStamp
=
messageExt
.
getBornTimestamp
();
MessageExt
messageExtRes
=
transactionBridge
.
renewHalfMessageInner
(
messageExt
);
assertThat
(
messageExtRes
.
getBornTimestamp
()).
isEqualTo
(
bornTimeStamp
);
assertThat
(
messageExtRes
.
getBornTimestamp
()).
isEqualTo
(
bornTimeStamp
);
}
@Test
public
void
testLookMessageByOffset
(){
public
void
testLookMessageByOffset
()
{
when
(
messageStore
.
lookMessageByOffset
(
anyLong
())).
thenReturn
(
new
MessageExt
());
MessageExt
messageExt
=
transactionBridge
.
lookMessageByOffset
(
123
);
assertThat
(
messageExt
).
isNotNull
();
...
...
@@ -182,7 +186,7 @@ public class TransactionalMessageBridgeTest {
.
getMessage
(
anyString
(),
anyString
(),
anyInt
(),
anyLong
(),
anyInt
(),
ArgumentMatchers
.
nullable
(
MessageFilter
.
class
)))
.
thenReturn
(
null
);
PullResult
result
=
transactionBridge
.
getHalfMessage
(
0
,
0
,
1
);
assertThat
(
result
.
getPullStatus
()
).
isNull
();
assertThat
(
result
).
isNull
();
}
private
GetMessageResult
createGetMessageResult
(
GetMessageStatus
status
)
{
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录