Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
taosdata
TDengine
提交
94e0d97a
T
TDengine
项目概览
taosdata
/
TDengine
大约 2 年 前同步成功
通知
1192
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看板
提交
94e0d97a
编写于
8月 15, 2023
作者:
B
Benguang Zhao
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
enh: update pDb stateTs on stateChanged
上级
dbdfee4c
变更
2
显示空白变更内容
内联
并排
Showing
2 changed file
with
8 addition
and
6 deletion
+8
-6
source/dnode/mnode/impl/src/mndDnode.c
source/dnode/mnode/impl/src/mndDnode.c
+4
-3
source/dnode/mnode/impl/src/mndMain.c
source/dnode/mnode/impl/src/mndMain.c
+4
-3
未找到文件。
source/dnode/mnode/impl/src/mndDnode.c
浏览文件 @
94e0d97a
...
@@ -496,11 +496,11 @@ static int32_t mndProcessStatusReq(SRpcMsg *pReq) {
...
@@ -496,11 +496,11 @@ static int32_t mndProcessStatusReq(SRpcMsg *pReq) {
pVgroup
->
compStorage
=
pVload
->
compStorage
;
pVgroup
->
compStorage
=
pVload
->
compStorage
;
pVgroup
->
pointsWritten
=
pVload
->
pointsWritten
;
pVgroup
->
pointsWritten
=
pVload
->
pointsWritten
;
}
}
bool
rol
eChanged
=
false
;
bool
stat
eChanged
=
false
;
for
(
int32_t
vg
=
0
;
vg
<
pVgroup
->
replica
;
++
vg
)
{
for
(
int32_t
vg
=
0
;
vg
<
pVgroup
->
replica
;
++
vg
)
{
SVnodeGid
*
pGid
=
&
pVgroup
->
vnodeGid
[
vg
];
SVnodeGid
*
pGid
=
&
pVgroup
->
vnodeGid
[
vg
];
if
(
pGid
->
dnodeId
==
statusReq
.
dnodeId
)
{
if
(
pGid
->
dnodeId
==
statusReq
.
dnodeId
)
{
roleChanged
=
bool
roleChanged
=
pGid
->
syncState
!=
pVload
->
syncState
||
(
pVload
->
syncTerm
!=
-
1
&&
pGid
->
syncTerm
!=
pVload
->
syncTerm
);
pGid
->
syncState
!=
pVload
->
syncState
||
(
pVload
->
syncTerm
!=
-
1
&&
pGid
->
syncTerm
!=
pVload
->
syncTerm
);
if
(
reboot
||
roleChanged
||
pGid
->
syncRestore
!=
pVload
->
syncRestore
||
pGid
->
syncCanRead
!=
pVload
->
syncCanRead
)
{
if
(
reboot
||
roleChanged
||
pGid
->
syncRestore
!=
pVload
->
syncRestore
||
pGid
->
syncCanRead
!=
pVload
->
syncCanRead
)
{
mInfo
(
mInfo
(
...
@@ -513,6 +513,7 @@ static int32_t mndProcessStatusReq(SRpcMsg *pReq) {
...
@@ -513,6 +513,7 @@ static int32_t mndProcessStatusReq(SRpcMsg *pReq) {
pGid
->
syncRestore
=
pVload
->
syncRestore
;
pGid
->
syncRestore
=
pVload
->
syncRestore
;
pGid
->
syncCanRead
=
pVload
->
syncCanRead
;
pGid
->
syncCanRead
=
pVload
->
syncCanRead
;
pGid
->
startTimeMs
=
(
pVload
->
startTimeMs
!=
0
)
?
pVload
->
startTimeMs
:
statusReq
.
rebootTime
;
pGid
->
startTimeMs
=
(
pVload
->
startTimeMs
!=
0
)
?
pVload
->
startTimeMs
:
statusReq
.
rebootTime
;
stateChanged
=
true
;
}
}
if
(
roleChanged
)
{
if
(
roleChanged
)
{
pGid
->
roleTimeMs
=
(
pVload
->
roleTimeMs
!=
0
)
?
pVload
->
roleTimeMs
:
taosGetTimestampMs
();
pGid
->
roleTimeMs
=
(
pVload
->
roleTimeMs
!=
0
)
?
pVload
->
roleTimeMs
:
taosGetTimestampMs
();
...
@@ -520,7 +521,7 @@ static int32_t mndProcessStatusReq(SRpcMsg *pReq) {
...
@@ -520,7 +521,7 @@ static int32_t mndProcessStatusReq(SRpcMsg *pReq) {
break
;
break
;
}
}
}
}
if
(
rol
eChanged
)
{
if
(
stat
eChanged
)
{
SDbObj
*
pDb
=
mndAcquireDb
(
pMnode
,
pVgroup
->
dbName
);
SDbObj
*
pDb
=
mndAcquireDb
(
pMnode
,
pVgroup
->
dbName
);
if
(
pDb
!=
NULL
&&
pDb
->
stateTs
!=
curMs
)
{
if
(
pDb
!=
NULL
&&
pDb
->
stateTs
!=
curMs
)
{
mInfo
(
"db:%s, stateTs changed by status msg, old stateTs:%"
PRId64
" new stateTs:%"
PRId64
,
pDb
->
name
,
mInfo
(
"db:%s, stateTs changed by status msg, old stateTs:%"
PRId64
" new stateTs:%"
PRId64
,
pDb
->
name
,
...
...
source/dnode/mnode/impl/src/mndMain.c
浏览文件 @
94e0d97a
...
@@ -185,7 +185,7 @@ static void mndSetVgroupOffline(SMnode *pMnode, int32_t dnodeId, int64_t curMs)
...
@@ -185,7 +185,7 @@ static void mndSetVgroupOffline(SMnode *pMnode, int32_t dnodeId, int64_t curMs)
pIter
=
sdbFetch
(
pSdb
,
SDB_VGROUP
,
pIter
,
(
void
**
)
&
pVgroup
);
pIter
=
sdbFetch
(
pSdb
,
SDB_VGROUP
,
pIter
,
(
void
**
)
&
pVgroup
);
if
(
pIter
==
NULL
)
break
;
if
(
pIter
==
NULL
)
break
;
bool
rol
eChanged
=
false
;
bool
stat
eChanged
=
false
;
for
(
int32_t
vg
=
0
;
vg
<
pVgroup
->
replica
;
++
vg
)
{
for
(
int32_t
vg
=
0
;
vg
<
pVgroup
->
replica
;
++
vg
)
{
SVnodeGid
*
pGid
=
&
pVgroup
->
vnodeGid
[
vg
];
SVnodeGid
*
pGid
=
&
pVgroup
->
vnodeGid
[
vg
];
if
(
pGid
->
dnodeId
==
dnodeId
)
{
if
(
pGid
->
dnodeId
==
dnodeId
)
{
...
@@ -197,13 +197,14 @@ static void mndSetVgroupOffline(SMnode *pMnode, int32_t dnodeId, int64_t curMs)
...
@@ -197,13 +197,14 @@ static void mndSetVgroupOffline(SMnode *pMnode, int32_t dnodeId, int64_t curMs)
pGid
->
syncState
=
TAOS_SYNC_STATE_OFFLINE
;
pGid
->
syncState
=
TAOS_SYNC_STATE_OFFLINE
;
pGid
->
syncRestore
=
0
;
pGid
->
syncRestore
=
0
;
pGid
->
syncCanRead
=
0
;
pGid
->
syncCanRead
=
0
;
roleChanged
=
true
;
pGid
->
startTimeMs
=
0
;
stateChanged
=
true
;
}
}
break
;
break
;
}
}
}
}
if
(
rol
eChanged
)
{
if
(
stat
eChanged
)
{
SDbObj
*
pDb
=
mndAcquireDb
(
pMnode
,
pVgroup
->
dbName
);
SDbObj
*
pDb
=
mndAcquireDb
(
pMnode
,
pVgroup
->
dbName
);
if
(
pDb
!=
NULL
&&
pDb
->
stateTs
!=
curMs
)
{
if
(
pDb
!=
NULL
&&
pDb
->
stateTs
!=
curMs
)
{
mInfo
(
"db:%s, stateTs changed by offline check, old newTs:%"
PRId64
" newTs:%"
PRId64
,
pDb
->
name
,
pDb
->
stateTs
,
mInfo
(
"db:%s, stateTs changed by offline check, old newTs:%"
PRId64
" newTs:%"
PRId64
,
pDb
->
name
,
pDb
->
stateTs
,
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录