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
...
...
@@ -62,7 +62,7 @@ public class TransactionalMessageBridgeTest {
@Spy
private
BrokerController
brokerController
=
new
BrokerController
(
new
BrokerConfig
(),
new
NettyServerConfig
(),
new
NettyClientConfig
(),
new
MessageStoreConfig
());
new
NettyClientConfig
(),
new
MessageStoreConfig
());
@Mock
private
MessageStore
messageStore
;
...
...
@@ -82,7 +82,7 @@ public class TransactionalMessageBridgeTest {
@Test
public
void
testPutHalfMessage
()
{
when
(
messageStore
.
putMessage
(
any
(
MessageExtBrokerInner
.
class
))).
thenReturn
(
new
PutMessageResult
(
PutMessageStatus
.
PUT_OK
,
new
AppendMessageResult
(
AppendMessageStatus
.
PUT_OK
)));
(
PutMessageStatus
.
PUT_OK
,
new
AppendMessageResult
(
AppendMessageStatus
.
PUT_OK
)));
PutMessageResult
result
=
transactionBridge
.
putHalfMessage
(
createMessageBrokerInner
());
assertThat
(
result
.
getPutMessageStatus
()).
isEqualTo
(
PutMessageStatus
.
PUT_OK
);
}
...
...
@@ -96,7 +96,7 @@ public class TransactionalMessageBridgeTest {
@Test
public
void
testFetchConsumeOffset
()
{
MessageQueue
mq
=
new
MessageQueue
(
TransactionalMessageUtil
.
buildOpTopic
(),
this
.
brokerController
.
getBrokerConfig
().
getBrokerName
(),
0
);
0
);
long
offset
=
transactionBridge
.
fetchConsumeOffset
(
mq
);
assertThat
(
offset
).
isGreaterThan
(-
1
);
}
...
...
@@ -104,20 +104,24 @@ public class TransactionalMessageBridgeTest {
@Test
public
void
updateConsumeOffset
()
{
MessageQueue
mq
=
new
MessageQueue
(
TransactionalMessageUtil
.
buildOpTopic
(),
this
.
brokerController
.
getBrokerConfig
().
getBrokerName
(),
0
);
0
);
transactionBridge
.
updateConsumeOffset
(
mq
,
0
);
}
@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
);
}
...
...
@@ -125,7 +129,7 @@ public class TransactionalMessageBridgeTest {
@Test
public
void
testPutMessageReturnResult
()
{
when
(
messageStore
.
putMessage
(
any
(
MessageExtBrokerInner
.
class
))).
thenReturn
(
new
PutMessageResult
(
PutMessageStatus
.
PUT_OK
,
new
AppendMessageResult
(
AppendMessageStatus
.
PUT_OK
)));
(
PutMessageStatus
.
PUT_OK
,
new
AppendMessageResult
(
AppendMessageStatus
.
PUT_OK
)));
PutMessageResult
result
=
transactionBridge
.
putMessageReturnResult
(
createMessageBrokerInner
());
assertThat
(
result
.
getPutMessageStatus
()).
isEqualTo
(
PutMessageStatus
.
PUT_OK
);
}
...
...
@@ -133,7 +137,7 @@ public class TransactionalMessageBridgeTest {
@Test
public
void
testPutMessage
()
{
when
(
messageStore
.
putMessage
(
any
(
MessageExtBrokerInner
.
class
))).
thenReturn
(
new
PutMessageResult
(
PutMessageStatus
.
PUT_OK
,
new
AppendMessageResult
(
AppendMessageStatus
.
PUT_OK
)));
(
PutMessageStatus
.
PUT_OK
,
new
AppendMessageResult
(
AppendMessageStatus
.
PUT_OK
)));
Boolean
success
=
transactionBridge
.
putMessage
(
createMessageBrokerInner
());
assertThat
(
success
).
isEqualTo
(
true
);
}
...
...
@@ -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.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录