Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
Kwan的解忧杂货铺@新空间代码工作室
Rocketmq
提交
5020f325
R
Rocketmq
项目概览
Kwan的解忧杂货铺@新空间代码工作室
/
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看板
提交
5020f325
编写于
11月 13, 2018
作者:
D
dongeforever
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Add id for dleger commitlog
上级
aed6f0ed
变更
3
显示空白变更内容
内联
并排
Showing
3 changed file
with
15 addition
and
5 deletion
+15
-5
broker/src/main/java/org/apache/rocketmq/broker/BrokerController.java
...ain/java/org/apache/rocketmq/broker/BrokerController.java
+3
-3
broker/src/main/java/org/apache/rocketmq/broker/dleger/DLegerRoleChangeHandler.java
...pache/rocketmq/broker/dleger/DLegerRoleChangeHandler.java
+5
-2
store/src/main/java/org/apache/rocketmq/store/dleger/DLegerCommitLog.java
...ava/org/apache/rocketmq/store/dleger/DLegerCommitLog.java
+7
-0
未找到文件。
broker/src/main/java/org/apache/rocketmq/broker/BrokerController.java
浏览文件 @
5020f325
...
...
@@ -784,7 +784,7 @@ public class BrokerController {
}
if
(
messageStoreConfig
.
isEnableDLegerCommitLog
())
{
changeToSlave
();
changeToSlave
(
((
DLegerCommitLog
)((
DefaultMessageStore
)
messageStore
).
getCommitLog
()).
getId
()
);
}
else
{
startProcessorByHa
();
handleSlaveSynchronize
(
messageStoreConfig
.
getBrokerRole
());
...
...
@@ -1059,9 +1059,9 @@ public class BrokerController {
}
}
public
void
changeToSlave
()
{
public
void
changeToSlave
(
int
brokerId
)
{
//change the role
brokerConfig
.
setBrokerId
(
1
);
//TO DO check
brokerConfig
.
setBrokerId
(
brokerId
==
0
?
1
:
brokerId
);
//TO DO check
messageStoreConfig
.
setBrokerRole
(
BrokerRole
.
SLAVE
);
//handle the scheduled service
...
...
broker/src/main/java/org/apache/rocketmq/broker/dleger/DLegerRoleChangeHandler.java
浏览文件 @
5020f325
...
...
@@ -25,15 +25,18 @@ import org.apache.rocketmq.logging.InternalLogger;
import
org.apache.rocketmq.logging.InternalLoggerFactory
;
import
org.apache.rocketmq.store.DefaultMessageStore
;
import
org.apache.rocketmq.store.config.BrokerRole
;
import
org.apache.rocketmq.store.dleger.DLegerCommitLog
;
public
class
DLegerRoleChangeHandler
implements
DLegerLeaderElector
.
RoleChangeHandler
{
private
static
final
InternalLogger
log
=
InternalLoggerFactory
.
getLogger
(
LoggerName
.
BROKER_LOGGER_NAME
);
private
BrokerController
brokerController
;
private
DefaultMessageStore
messageStore
;
private
DLegerCommitLog
dLegerCommitLog
;
public
DLegerRoleChangeHandler
(
BrokerController
brokerController
,
DefaultMessageStore
messageStore
)
{
this
.
brokerController
=
brokerController
;
this
.
messageStore
=
messageStore
;
this
.
dLegerCommitLog
=
(
DLegerCommitLog
)
messageStore
.
getCommitLog
();
}
@Override
public
void
handle
(
long
term
,
MemberState
.
Role
role
)
{
...
...
@@ -43,11 +46,11 @@ public class DLegerRoleChangeHandler implements DLegerLeaderElector.RoleChangeHa
switch
(
role
)
{
case
CANDIDATE:
if
(
messageStore
.
getMessageStoreConfig
().
getBrokerRole
()
!=
BrokerRole
.
SLAVE
)
{
brokerController
.
changeToSlave
();
brokerController
.
changeToSlave
(
dLegerCommitLog
.
getId
()
);
}
break
;
case
FOLLOWER:
brokerController
.
changeToSlave
();
brokerController
.
changeToSlave
(
dLegerCommitLog
.
getId
()
);
break
;
case
LEADER:
while
(
messageStore
.
dispatchBehindBytes
()
!=
0
)
{
...
...
store/src/main/java/org/apache/rocketmq/store/dleger/DLegerCommitLog.java
浏览文件 @
5020f325
...
...
@@ -58,6 +58,8 @@ public class DLegerCommitLog extends CommitLog {
private
final
DLegerMmapFileStore
dLegerFileStore
;
private
final
MmapFileList
dLegerFileList
;
private
final
int
id
;
private
final
MessageSerializer
messageSerializer
;
...
...
@@ -71,6 +73,7 @@ public class DLegerCommitLog extends CommitLog {
dLegerConfig
.
setGroup
(
defaultMessageStore
.
getMessageStoreConfig
().
getdLegerGroup
());
dLegerConfig
.
setPeers
(
defaultMessageStore
.
getMessageStoreConfig
().
getdLegerPeers
());
dLegerConfig
.
setStoreBaseDir
(
defaultMessageStore
.
getMessageStoreConfig
().
getStorePathRootDir
());
id
=
Integer
.
valueOf
(
dLegerConfig
.
getSelfId
().
substring
(
1
))
+
1
;
dLegerServer
=
new
DLegerServer
(
dLegerConfig
);
dLegerFileStore
=
(
DLegerMmapFileStore
)
dLegerServer
.
getdLegerStore
();
DLegerMmapFileStore
.
AppendHook
appendHook
=
(
entry
,
buffer
,
bodyOffset
)
->
{
...
...
@@ -654,4 +657,8 @@ public class DLegerCommitLog extends CommitLog {
public
DLegerServer
getdLegerServer
()
{
return
dLegerServer
;
}
public
int
getId
()
{
return
id
;
}
}
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录