Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
yiicenne
TDengine
提交
8357859a
TDengine
项目概览
yiicenne
/
TDengine
与 Fork 源项目一致
Fork自
taosdata / TDengine
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
TDengine
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
未验证
提交
8357859a
编写于
8月 09, 2021
作者:
D
dapan1121
提交者:
GitHub
8月 09, 2021
浏览文件
操作
浏览文件
下载
差异文件
Merge pull request #7178 from taosdata/feature/td-5806
[TD-5806]<feature>:add role_time to show mnodes
上级
1d66d861
399a7d94
变更
4
隐藏空白更改
内联
并排
Showing
4 changed file
with
25 addition
and
1 deletion
+25
-1
src/mnode/inc/mnodeDef.h
src/mnode/inc/mnodeDef.h
+1
-0
src/mnode/src/mnodeMnode.c
src/mnode/src/mnodeMnode.c
+12
-1
src/mnode/src/mnodeSdb.c
src/mnode/src/mnodeSdb.c
+1
-0
tests/pytest/client/client.py
tests/pytest/client/client.py
+11
-0
未找到文件。
src/mnode/inc/mnodeDef.h
浏览文件 @
8357859a
...
...
@@ -80,6 +80,7 @@ typedef struct SMnodeObj {
int8_t
updateEnd
[
4
];
int32_t
refCount
;
int8_t
role
;
int64_t
roleTime
;
int8_t
reserved2
[
3
];
}
SMnodeObj
;
...
...
src/mnode/src/mnodeMnode.c
浏览文件 @
8357859a
...
...
@@ -122,6 +122,7 @@ static int32_t mnodeMnodeActionRestored() {
void
*
pIter
=
mnodeGetNextMnode
(
NULL
,
&
pMnode
);
if
(
pMnode
!=
NULL
)
{
pMnode
->
role
=
TAOS_SYNC_ROLE_MASTER
;
pMnode
->
roleTime
=
taosGetTimestampMs
();
mnodeDecMnodeRef
(
pMnode
);
}
mnodeCancelGetNextMnode
(
pIter
);
...
...
@@ -496,7 +497,13 @@ static int32_t mnodeGetMnodeMeta(STableMetaMsg *pMeta, SShowObj *pShow, void *pC
strcpy
(
pSchema
[
cols
].
name
,
"role"
);
pSchema
[
cols
].
bytes
=
htons
(
pShow
->
bytes
[
cols
]);
cols
++
;
pShow
->
bytes
[
cols
]
=
8
;
pSchema
[
cols
].
type
=
TSDB_DATA_TYPE_TIMESTAMP
;
strcpy
(
pSchema
[
cols
].
name
,
"role_time"
);
pSchema
[
cols
].
bytes
=
htons
(
pShow
->
bytes
[
cols
]);
cols
++
;
pShow
->
bytes
[
cols
]
=
8
;
pSchema
[
cols
].
type
=
TSDB_DATA_TYPE_TIMESTAMP
;
strcpy
(
pSchema
[
cols
].
name
,
"create_time"
);
...
...
@@ -552,6 +559,10 @@ static int32_t mnodeRetrieveMnodes(SShowObj *pShow, char *data, int32_t rows, vo
STR_WITH_MAXSIZE_TO_VARSTR
(
pWrite
,
roles
,
pShow
->
bytes
[
cols
]);
cols
++
;
pWrite
=
data
+
pShow
->
offset
[
cols
]
*
rows
+
pShow
->
bytes
[
cols
]
*
numOfRows
;
*
(
int64_t
*
)
pWrite
=
pMnode
->
roleTime
;
cols
++
;
pWrite
=
data
+
pShow
->
offset
[
cols
]
*
rows
+
pShow
->
bytes
[
cols
]
*
numOfRows
;
*
(
int64_t
*
)
pWrite
=
pMnode
->
createdTime
;
cols
++
;
...
...
src/mnode/src/mnodeSdb.c
浏览文件 @
8357859a
...
...
@@ -227,6 +227,7 @@ void sdbUpdateMnodeRoles() {
SMnodeObj
*
pMnode
=
mnodeGetMnode
(
roles
.
nodeId
[
i
]);
if
(
pMnode
!=
NULL
)
{
if
(
pMnode
->
role
!=
roles
.
role
[
i
])
{
pMnode
->
roleTime
=
taosGetTimestampMs
();
bnNotify
();
}
...
...
tests/pytest/client/client.py
浏览文件 @
8357859a
...
...
@@ -16,6 +16,7 @@ from util.log import *
from
util.cases
import
*
from
util.sql
import
*
from
datetime
import
timedelta
class
TDTestCase
:
def
init
(
self
,
conn
,
logSql
):
...
...
@@ -41,6 +42,16 @@ class TDTestCase:
ret
=
tdSql
.
query
(
'show mnodes'
)
tdSql
.
checkRows
(
1
)
tdSql
.
checkData
(
0
,
2
,
"master"
)
role_time
=
tdSql
.
getData
(
0
,
3
)
create_time
=
tdSql
.
getData
(
0
,
4
)
time_delta
=
timedelta
(
milliseconds
=
100
)
if
create_time
-
time_delta
<
role_time
<
create_time
+
time_delta
:
tdLog
.
info
(
"role_time {} and create_time {} expected within range"
.
format
(
role_time
,
create_time
))
else
:
tdLog
.
exit
(
"role_time {} and create_time {} not expected within range"
.
format
(
role_time
,
create_time
))
ret
=
tdSql
.
query
(
'show vgroups'
)
tdSql
.
checkRows
(
0
)
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录