Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
小五666\n哈哈
Rocketmq
提交
ad7622c1
R
Rocketmq
项目概览
小五666\n哈哈
/
Rocketmq
与 Fork 源项目一致
Fork自
Apache RocketMQ / Rocketmq
通知
1
Star
0
Fork
0
代码
文件
提交
分支
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看板
体验新版 GitCode,发现更多精彩内容 >>
未验证
提交
ad7622c1
编写于
1月 10, 2020
作者:
H
Heng Du
提交者:
GitHub
1月 10, 2020
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
fix(transaction) fix the send back message sent into transaction half topic (#1649)
上级
958eb749
变更
4
隐藏空白更改
内联
并排
Showing
4 changed file
with
5 addition
and
1 deletion
+5
-1
broker/src/main/java/org/apache/rocketmq/broker/processor/EndTransactionProcessor.java
...he/rocketmq/broker/processor/EndTransactionProcessor.java
+1
-0
broker/src/main/java/org/apache/rocketmq/broker/processor/SendMessageProcessor.java
...pache/rocketmq/broker/processor/SendMessageProcessor.java
+2
-1
client/src/main/java/org/apache/rocketmq/client/impl/consumer/ConsumeMessageOrderlyService.java
...mq/client/impl/consumer/ConsumeMessageOrderlyService.java
+1
-0
client/src/main/java/org/apache/rocketmq/client/impl/consumer/DefaultMQPushConsumerImpl.java
...ketmq/client/impl/consumer/DefaultMQPushConsumerImpl.java
+1
-0
未找到文件。
broker/src/main/java/org/apache/rocketmq/broker/processor/EndTransactionProcessor.java
浏览文件 @
ad7622c1
...
...
@@ -132,6 +132,7 @@ public class EndTransactionProcessor implements NettyRequestProcessor {
msgInner
.
setQueueOffset
(
requestHeader
.
getTranStateTableOffset
());
msgInner
.
setPreparedTransactionOffset
(
requestHeader
.
getCommitLogOffset
());
msgInner
.
setStoreTimestamp
(
result
.
getPrepareMessage
().
getStoreTimestamp
());
MessageAccessor
.
clearProperty
(
msgInner
,
MessageConst
.
PROPERTY_TRANSACTION_PREPARED
);
RemotingCommand
sendResult
=
sendFinalMessage
(
msgInner
);
if
(
sendResult
.
getCode
()
==
ResponseCode
.
SUCCESS
)
{
this
.
brokerController
.
getTransactionalMessageService
().
deletePrepareMessage
(
result
.
getPrepareMessage
());
...
...
broker/src/main/java/org/apache/rocketmq/broker/processor/SendMessageProcessor.java
浏览文件 @
ad7622c1
...
...
@@ -353,7 +353,8 @@ public class SendMessageProcessor extends AbstractSendMessageProcessor implement
PutMessageResult
putMessageResult
=
null
;
Map
<
String
,
String
>
oriProps
=
MessageDecoder
.
string2messageProperties
(
requestHeader
.
getProperties
());
String
traFlag
=
oriProps
.
get
(
MessageConst
.
PROPERTY_TRANSACTION_PREPARED
);
if
(
traFlag
!=
null
&&
Boolean
.
parseBoolean
(
traFlag
))
{
if
(
traFlag
!=
null
&&
Boolean
.
parseBoolean
(
traFlag
)
&&
!(
msgInner
.
getReconsumeTimes
()
>
0
&&
msgInner
.
getDelayTimeLevel
()
>
0
))
{
//For client under version 4.6.1
if
(
this
.
brokerController
.
getBrokerConfig
().
isRejectTransactionMessage
())
{
response
.
setCode
(
ResponseCode
.
NO_PERMISSION
);
response
.
setRemark
(
...
...
client/src/main/java/org/apache/rocketmq/client/impl/consumer/ConsumeMessageOrderlyService.java
浏览文件 @
ad7622c1
...
...
@@ -374,6 +374,7 @@ public class ConsumeMessageOrderlyService implements ConsumeMessageService {
MessageAccessor
.
putProperty
(
newMsg
,
MessageConst
.
PROPERTY_RETRY_TOPIC
,
msg
.
getTopic
());
MessageAccessor
.
setReconsumeTime
(
newMsg
,
String
.
valueOf
(
msg
.
getReconsumeTimes
()));
MessageAccessor
.
setMaxReconsumeTimes
(
newMsg
,
String
.
valueOf
(
getMaxReconsumeTimes
()));
MessageAccessor
.
clearProperty
(
newMsg
,
MessageConst
.
PROPERTY_TRANSACTION_PREPARED
);
newMsg
.
setDelayTimeLevel
(
3
+
msg
.
getReconsumeTimes
());
this
.
defaultMQPushConsumer
.
getDefaultMQPushConsumerImpl
().
getmQClientFactory
().
getDefaultMQProducer
().
send
(
newMsg
);
...
...
client/src/main/java/org/apache/rocketmq/client/impl/consumer/DefaultMQPushConsumerImpl.java
浏览文件 @
ad7622c1
...
...
@@ -528,6 +528,7 @@ public class DefaultMQPushConsumerImpl implements MQConsumerInner {
MessageAccessor
.
putProperty
(
newMsg
,
MessageConst
.
PROPERTY_RETRY_TOPIC
,
msg
.
getTopic
());
MessageAccessor
.
setReconsumeTime
(
newMsg
,
String
.
valueOf
(
msg
.
getReconsumeTimes
()
+
1
));
MessageAccessor
.
setMaxReconsumeTimes
(
newMsg
,
String
.
valueOf
(
getMaxReconsumeTimes
()));
MessageAccessor
.
clearProperty
(
newMsg
,
MessageConst
.
PROPERTY_TRANSACTION_PREPARED
);
newMsg
.
setDelayTimeLevel
(
3
+
msg
.
getReconsumeTimes
());
this
.
mQClientFactory
.
getDefaultMQProducer
().
send
(
newMsg
);
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录