Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
taosdata
TDengine
提交
6d1bf00c
T
TDengine
项目概览
taosdata
/
TDengine
1 年多 前同步成功
通知
1187
Star
22018
Fork
4786
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
1
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
T
TDengine
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
1
Issue
1
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
提交
6d1bf00c
编写于
10月 24, 2022
作者:
S
Shengliang Guan
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
fix: use sync cfg from vnode
上级
fdb6d2be
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
20 addition
and
17 deletion
+20
-17
source/libs/sync/src/syncMain.c
source/libs/sync/src/syncMain.c
+19
-14
source/libs/sync/src/syncRaftCfg.c
source/libs/sync/src/syncRaftCfg.c
+0
-2
tests/script/tsim/db/alter_replica_13.sim
tests/script/tsim/db/alter_replica_13.sim
+1
-1
未找到文件。
source/libs/sync/src/syncMain.c
浏览文件 @
6d1bf00c
...
...
@@ -1128,7 +1128,12 @@ SSyncNode* syncNodeOpen(SSyncInfo* pSyncInfo) {
goto
_error
;
}
if
(
pSyncInfo
->
syncCfg
.
replicaNum
>
0
&&
pSyncInfo
->
syncCfg
.
replicaNum
!=
pSyncNode
->
pRaftCfg
->
cfg
.
replicaNum
)
{
sInfo
(
"vgId:%d, use sync config from input options"
,
pSyncNode
->
vgId
);
sInfo
(
"vgId:%d, use sync config from input options and write to cfg file"
,
pSyncNode
->
vgId
);
pSyncNode
->
pRaftCfg
->
cfg
=
pSyncInfo
->
syncCfg
;
if
(
raftCfgPersist
(
pSyncNode
->
pRaftCfg
)
!=
0
)
{
sError
(
"vgId:%d, failed to persist raft cfg file at %s"
,
pSyncNode
->
vgId
,
pSyncNode
->
configPath
);
goto
_error
;
}
}
else
{
sInfo
(
"vgId:%d, use sync config from raft cfg file"
,
pSyncNode
->
vgId
);
pSyncInfo
->
syncCfg
=
pSyncNode
->
pRaftCfg
->
cfg
;
...
...
@@ -1161,14 +1166,14 @@ SSyncNode* syncNodeOpen(SSyncInfo* pSyncInfo) {
// init raft config
pSyncNode
->
pRaftCfg
=
raftCfgOpen
(
pSyncNode
->
configPath
);
if
(
pSyncNode
->
pRaftCfg
==
NULL
)
{
sError
(
"
failed to open raft cfg file. path:%s"
,
pSyncNode
->
configPath
);
sError
(
"
vgId:%d, failed to open raft cfg file at %s"
,
pSyncNode
->
vgId
,
pSyncNode
->
configPath
);
goto
_error
;
}
// init internal
pSyncNode
->
myNodeInfo
=
pSyncNode
->
pRaftCfg
->
cfg
.
nodeInfo
[
pSyncNode
->
pRaftCfg
->
cfg
.
myIndex
];
if
(
!
syncUtilnodeInfo2raftId
(
&
pSyncNode
->
myNodeInfo
,
pSyncNode
->
vgId
,
&
pSyncNode
->
myRaftId
))
{
sError
(
"
failed to determine my raft member id. vgId:%
d"
,
pSyncNode
->
vgId
);
sError
(
"
vgId:%d, failed to determine my raft member i
d"
,
pSyncNode
->
vgId
);
goto
_error
;
}
...
...
@@ -1183,7 +1188,7 @@ SSyncNode* syncNodeOpen(SSyncInfo* pSyncInfo) {
}
for
(
int
i
=
0
;
i
<
pSyncNode
->
peersNum
;
++
i
)
{
if
(
!
syncUtilnodeInfo2raftId
(
&
pSyncNode
->
peersNodeInfo
[
i
],
pSyncNode
->
vgId
,
&
pSyncNode
->
peersId
[
i
]))
{
sError
(
"
failed to determine raft member id. vgId:%
d, peer:%d"
,
pSyncNode
->
vgId
,
i
);
sError
(
"
vgId:%d, failed to determine raft member i
d, peer:%d"
,
pSyncNode
->
vgId
,
i
);
goto
_error
;
}
}
...
...
@@ -1192,7 +1197,7 @@ SSyncNode* syncNodeOpen(SSyncInfo* pSyncInfo) {
pSyncNode
->
replicaNum
=
pSyncNode
->
pRaftCfg
->
cfg
.
replicaNum
;
for
(
int
i
=
0
;
i
<
pSyncNode
->
pRaftCfg
->
cfg
.
replicaNum
;
++
i
)
{
if
(
!
syncUtilnodeInfo2raftId
(
&
pSyncNode
->
pRaftCfg
->
cfg
.
nodeInfo
[
i
],
pSyncNode
->
vgId
,
&
pSyncNode
->
replicasId
[
i
]))
{
sError
(
"
failed to determine raft member id. vgId:%
d, replica:%d"
,
pSyncNode
->
vgId
,
i
);
sError
(
"
vgId:%d, failed to determine raft member i
d, replica:%d"
,
pSyncNode
->
vgId
,
i
);
goto
_error
;
}
}
...
...
@@ -1233,38 +1238,38 @@ SSyncNode* syncNodeOpen(SSyncInfo* pSyncInfo) {
pSyncNode
->
state
=
TAOS_SYNC_STATE_FOLLOWER
;
pSyncNode
->
pRaftStore
=
raftStoreOpen
(
pSyncNode
->
raftStorePath
);
if
(
pSyncNode
->
pRaftStore
==
NULL
)
{
sError
(
"
failed to open raft store. path: %s"
,
pSyncNode
->
raftStorePath
);
sError
(
"
vgId:%d, failed to open raft store at path %s"
,
pSyncNode
->
vgId
,
pSyncNode
->
raftStorePath
);
goto
_error
;
}
// init TLA+ candidate vars
pSyncNode
->
pVotesGranted
=
voteGrantedCreate
(
pSyncNode
);
if
(
pSyncNode
->
pVotesGranted
==
NULL
)
{
sError
(
"
failed to create VotesGranted. vgId:%
d"
,
pSyncNode
->
vgId
);
sError
(
"
vgId:%d, failed to create VotesGrante
d"
,
pSyncNode
->
vgId
);
goto
_error
;
}
pSyncNode
->
pVotesRespond
=
votesRespondCreate
(
pSyncNode
);
if
(
pSyncNode
->
pVotesRespond
==
NULL
)
{
sError
(
"
failed to create VotesRespond. vgId:%
d"
,
pSyncNode
->
vgId
);
sError
(
"
vgId:%d, failed to create VotesRespon
d"
,
pSyncNode
->
vgId
);
goto
_error
;
}
// init TLA+ leader vars
pSyncNode
->
pNextIndex
=
syncIndexMgrCreate
(
pSyncNode
);
if
(
pSyncNode
->
pNextIndex
==
NULL
)
{
sError
(
"
failed to create SyncIndexMgr. vgId:%d
"
,
pSyncNode
->
vgId
);
sError
(
"
vgId:%d, failed to create SyncIndexMgr
"
,
pSyncNode
->
vgId
);
goto
_error
;
}
pSyncNode
->
pMatchIndex
=
syncIndexMgrCreate
(
pSyncNode
);
if
(
pSyncNode
->
pMatchIndex
==
NULL
)
{
sError
(
"
failed to create SyncIndexMgr. vgId:%d
"
,
pSyncNode
->
vgId
);
sError
(
"
vgId:%d, failed to create SyncIndexMgr
"
,
pSyncNode
->
vgId
);
goto
_error
;
}
// init TLA+ log vars
pSyncNode
->
pLogStore
=
logStoreCreate
(
pSyncNode
);
if
(
pSyncNode
->
pLogStore
==
NULL
)
{
sError
(
"
failed to create SyncLogStore. vgId:%d
"
,
pSyncNode
->
vgId
);
sError
(
"
vgId:%d, failed to create SyncLogStore
"
,
pSyncNode
->
vgId
);
goto
_error
;
}
...
...
@@ -1273,7 +1278,7 @@ SSyncNode* syncNodeOpen(SSyncInfo* pSyncInfo) {
SSnapshot
snapshot
=
{
0
};
int32_t
code
=
pSyncNode
->
pFsm
->
FpGetSnapshotInfo
(
pSyncNode
->
pFsm
,
&
snapshot
);
if
(
code
!=
0
)
{
sError
(
"
failed to get snapshot info. vgId:%d
, code:%d"
,
pSyncNode
->
vgId
,
code
);
sError
(
"
vgId:%d, failed to get snapshot info
, code:%d"
,
pSyncNode
->
vgId
,
code
);
goto
_error
;
}
if
(
snapshot
.
lastApplyIndex
>
commitIndex
)
{
...
...
@@ -1332,7 +1337,7 @@ SSyncNode* syncNodeOpen(SSyncInfo* pSyncInfo) {
// tools
pSyncNode
->
pSyncRespMgr
=
syncRespMgrCreate
(
pSyncNode
,
SYNC_RESP_TTL_MS
);
if
(
pSyncNode
->
pSyncRespMgr
==
NULL
)
{
sError
(
"
failed to create SyncRespMgr. vgId:%d
"
,
pSyncNode
->
vgId
);
sError
(
"
vgId:%d, failed to create SyncRespMgr
"
,
pSyncNode
->
vgId
);
goto
_error
;
}
...
...
@@ -2854,7 +2859,7 @@ static void syncNodeEqPeerHeartbeatTimer(void* param, void* tmrId) {
return
;
}
//syncNodeEventLog(pSyncNode, "eq peer hb timer");
//
syncNodeEventLog(pSyncNode, "eq peer hb timer");
int64_t
timerLogicClock
=
atomic_load_64
(
&
pSyncTimer
->
logicClock
);
int64_t
msgLogicClock
=
atomic_load_64
(
&
pData
->
logicClock
);
...
...
source/libs/sync/src/syncRaftCfg.c
浏览文件 @
6d1bf00c
...
...
@@ -355,8 +355,6 @@ char *raftCfg2Str(SRaftCfg *pRaftCfg) {
}
int32_t
raftCfgCreateFile
(
SSyncCfg
*
pCfg
,
SRaftCfgMeta
meta
,
const
char
*
path
)
{
ASSERT
(
pCfg
!=
NULL
);
TdFilePtr
pFile
=
taosOpenFile
(
path
,
TD_FILE_CREATE
|
TD_FILE_WRITE
);
if
(
pFile
==
NULL
)
{
int32_t
err
=
terrno
;
...
...
tests/script/tsim/db/alter_replica_13.sim
浏览文件 @
6d1bf00c
...
...
@@ -129,7 +129,7 @@ endi
print ============= step5: result
$i = 0
while $i < 10
00
while $i < 10
$i = $i + 1
sleep 1000
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录