Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
taosdata
TDengine
提交
69a55916
TDengine
项目概览
taosdata
/
TDengine
1 年多 前同步成功
通知
1187
Star
22018
Fork
4786
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
1
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
TDengine
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
1
Issue
1
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
提交
69a55916
编写于
4年前
作者:
S
slguan
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
add dnode offline timer
上级
d099ab73
Branches不可用
ver
ver-3.1.0.2
ver-3.1.0.1
ver-3.1.0.0
ver-3.0.7.8
ver-3.0.7.1
ver-3.0.7.0
ver-3.0.6.1
ver-3.0.6.0
ver-3.0.5.1
ver-3.0.5.0
ver-3.0.4.2
ver-3.0.4.1
ver-3.0.4.0
ver-3.0.3.2
ver-3.0.3.1
ver-3.0.3.0
ver-3.0.2.220221228
ver-3.0.2.20221226
ver-3.0.2.20105
ver-3.0.2.6
ver-3.0.2.5
ver-3.0.2.4
ver-3.0.2.3
ver-3.0.2.2
ver-3.0.2.1
ver-3.0.2.0
ver-3.0.1.8
ver-3.0.1.7
ver-3.0.1.6
ver-3.0.1.5
ver-3.0.1.4
ver-3.0.1.3
ver-3.0.1.2
ver-3.0.1.1
ver-3.0.1.0
ver-3.0.0.2
ver-3.0.0.1
ver-3.0.0.0
ver-2.6.0.99
ver-2.6.0.63
ver-2.6.0.61
ver-2.6.0.59
ver-2.6.0.57
ver-2.6.0.55
ver-2.6.0.53
ver-2.6.0.51
ver-2.6.0.49
ver-2.6.0.47
ver-2.6.0.45
ver-2.6.0.44
ver-2.6.0.43
ver-2.6.0.41
ver-2.6.0.39
ver-2.6.0.38
ver-2.6.0.36
ver-2.6.0.35
ver-2.6.0.34
ver-2.6.0.33
ver-2.6.0.32
ver-2.6.0.31
ver-2.6.0.30
ver-2.6.0.28
ver-2.6.0.27
ver-2.6.0.25
ver-2.6.0.24
ver-2.6.0.22
ver-2.6.0.21
ver-2.6.0.19
ver-2.6.0.18
ver-2.6.0.17
ver-2.6.0.16
ver-2.6.0.15
ver-2.6.0.14
ver-2.6.0.12
ver-2.6.0.10
ver-2.6.0.8
ver-2.6.0.7
ver-2.6.0.6
ver-2.6.0.4
ver-2.6.0.3-kh
ver-2.6.0.1
ver-2.6.0.0
ver-2.5.0.1
ver-2.5.0.0
ver-2.4.0.43
ver-2.4.0.41
ver-2.4.0.39
ver-2.4.0.38
ver-2.4.0.37
ver-2.4.0.36
ver-2.4.0.35
ver-2.4.0.33
ver-2.4.0.31
ver-2.4.0.30
ver-2.4.0.27
ver-2.4.0.26
ver-2.4.0.25
ver-2.4.0.24
ver-2.4.0.20
ver-2.4.0.18
ver-2.4.0.16
ver-2.4.0.14
ver-2.4.0.12
ver-2.4.0.11
ver-2.4.0.10
ver-2.4.0.9
ver-2.4.0.8
ver-2.4.0.7
ver-2.4.0.6
ver-2.4.0.5
ver-2.4.0.4
ver-2.4.0.3
ver-2.4.0.2
ver-2.4.0.1
ver-2.4.0.0
ver-2.3.6.0
ver-2.3.5.0
ver-2.3.4.0
ver-2.3.3.0
ver-2.3.2.2
ver-2.3.2.1
ver-2.3.2.0
ver-2.3.1.0
ver-2.3.0.0
ver-2.2.2.16
ver-2.2.2.15
ver-2.2.2.14
ver-2.2.2.13
ver-2.2.2.12
ver-2.2.2.11
ver-2.2.2.10
ver-2.2.2.9
ver-2.2.2.8
ver-2.2.2.7
ver-2.2.2.6
ver-2.2.2.5
ver-2.2.2.4
ver-2.2.2.3
ver-2.2.2.1
ver-2.2.2.1-ningsi
ver-2.2.2.0
ver-2.2.1.6
ver-2.2.1.5
ver-2.2.1.4
ver-2.2.1.3
ver-2.2.1.2
ver-2.2.1.1
ver-2.2.1.0
ver-2.2.0.1001
ver-2.2.0.7
ver-2.2.0.6
ver-2.2.0.5
ver-2.2.0.4
ver-2.2.0.3
ver-2.2.0.2
ver-2.2.0.1
ver-2.2.0.0
ver-2.1.7.7
ver-2.1.7.6
ver-2.1.7.2
ver-2.1.7.1
ver-2.1.6.0
ver-2.1.5.0
ver-2.1.4.1
ver-2.1.3.2
ver-2.1.3.0
ver-2.1.2.0
ver-2.1.1.0
ver-2.1.0.1
ver-2.1.0.0
ver-2.1.0
ver-2.0.22.3
ver-2.0.22.2
ver-2.0.22.1
ver-2.0.22.0
ver-2.0.21.6
ver-2.0.21.5
ver-2.0.21.4
ver-2.0.21.3
ver-2.0.21.2
ver-2.0.21.1
ver-2.0.21.0
ver-2.0.20.20
ver-2.0.20.19
ver-2.0.20.18
ver-2.0.20.16
ver-2.0.20.13
ver-2.0.20.12
ver-2.0.20.11
ver-2.0.20.10
ver-2.0.20.9
ver-2.0.20.4
ver-2.0.20.3
ver-2.0.20.2
ver-2.0.20.0
ver-2.0.19.1
ver-2.0.19.0
ver-2.0.18.2
ver-2.0.18.0
ver-2.0.17.4
ver-2.0.17.0
ver-2.0.16.0
ver-2.0.15.0
ver-2.0.14.0
ver-2.0.13.0
ver-2.0.12.0
ver-2.0.11.0
ver-2.0.10.0
ver-2.0.9.0
ver-2.0.8.2
ver-2.0.8.0
ver-2.0.7.0
ver-2.0.6.0
ver-2.0.5.2
ver-2.0.5.0
ver-2.0.4.0
ver-2.0.3.2
ver-2.0.3.1
ver-2.0.3.0
ver-2.0.2.2
ver-2.0.2.2-beta
ver-2.0.2.1
ver-2.0.2.0
ver-2.0.1.9
ver-2.0.1.1
ver-2.0.1.1-ningsi
ver-2.0.1.0
ver-2.0.0.4
ver-2.0.0.3
ver-2.0.0.2
ver-2.0.0.1
ver-2.0.0.0
tq-1.0.0.1
release/ver-2.1.2.0
mac-enter-test
autoaddcol_07161651
autoaddcol_07161108
autoaddcol_07150626
autoaddcol_0720_1434
autoaddcol_0719_1122
autoaddcol_0718_2208
TDB-ver0.8
TDB-ver-0.7
无相关合并请求
变更
4
隐藏空白更改
内联
并排
Showing
4 changed file
with
81 addition
and
1 deletion
+81
-1
src/mnode/inc/mgmtDnode.h
src/mnode/inc/mgmtDnode.h
+2
-0
src/mnode/src/mgmtDnode.c
src/mnode/src/mgmtDnode.c
+2
-0
src/mnode/src/mgmtMain.c
src/mnode/src/mgmtMain.c
+1
-1
src/vnode/src/vnodeMain.c
src/vnode/src/vnodeMain.c
+76
-0
未找到文件。
src/mnode/inc/mgmtDnode.h
浏览文件 @
69a55916
...
...
@@ -42,6 +42,8 @@ void * mgmtGetDnodeByIp(uint32_t ip);
void
mgmtUpdateDnode
(
SDnodeObj
*
pDnode
);
int32_t
mgmtDropDnode
(
SDnodeObj
*
pDnode
);
extern
int32_t
tsAccessSquence
;
#ifdef __cplusplus
}
#endif
...
...
This diff is collapsed.
Click to expand it.
src/mnode/src/mgmtDnode.c
浏览文件 @
69a55916
...
...
@@ -38,6 +38,7 @@
void
*
tsDnodeSdb
=
NULL
;
int32_t
tsDnodeUpdateSize
=
0
;
int32_t
tsAccessSquence
=
0
;
extern
void
*
tsVgroupSdb
;
static
int32_t
mgmtCreateDnode
(
uint32_t
ip
);
...
...
@@ -323,6 +324,7 @@ void mgmtProcessDnodeStatusMsg(SRpcMsg *rpcMsg) {
pDnode
->
alternativeRole
=
pStatus
->
alternativeRole
;
pDnode
->
totalVnodes
=
pStatus
->
numOfTotalVnodes
;
pDnode
->
moduleStatus
=
pStatus
->
moduleStatus
;
pDnode
->
lastAccess
=
tsAccessSquence
;
if
(
pStatus
->
dnodeId
==
0
)
{
mTrace
(
"dnode:%d, first access, privateIp:%s, name:%s"
,
pDnode
->
dnodeId
,
taosIpStr
(
pDnode
->
privateIp
),
pDnode
->
dnodeName
);
...
...
This diff is collapsed.
Click to expand it.
src/mnode/src/mgmtMain.c
浏览文件 @
69a55916
...
...
@@ -149,12 +149,12 @@ void mgmtCleanUpSystem() {
mgmtCleanUpShell
();
mgmtCleanupDClient
();
mgmtCleanupDServer
();
mgmtCleanUpAccts
();
mgmtCleanUpTables
();
mgmtCleanUpVgroups
();
mgmtCleanUpDbs
();
mgmtCleanupDnodes
();
mgmtCleanUpUsers
();
mgmtCleanUpAccts
();
sdbCleanUp
();
taosTmrCleanUp
(
tsMgmtTmr
);
tsMgmtIsRunning
=
false
;
...
...
This diff is collapsed.
Click to expand it.
src/vnode/src/vnodeMain.c
浏览文件 @
69a55916
...
...
@@ -38,6 +38,8 @@ static void vnodeBuildVloadMsg(char *pNode, void * param);
static
int
vnodeWalCallback
(
void
*
arg
);
static
int32_t
vnodeSaveCfg
(
SMDCreateVnodeMsg
*
pVnodeCfg
);
static
int32_t
vnodeReadCfg
(
SVnodeObj
*
pVnode
);
static
int32_t
vnodeSaveVersion
(
SVnodeObj
*
pVnode
);
static
int32_t
vnodeReadVersion
(
SVnodeObj
*
pVnode
);
static
int
vnodeWalCallback
(
void
*
arg
);
static
uint32_t
vnodeGetFileInfo
(
void
*
ahandle
,
char
*
name
,
uint32_t
*
index
,
int32_t
*
size
);
static
int
vnodeGetWalInfo
(
void
*
ahandle
,
char
*
name
,
uint32_t
*
index
);
...
...
@@ -151,6 +153,8 @@ int32_t vnodeOpen(int32_t vnode, char *rootDir) {
return
code
;
}
vnodeReadVersion
(
pVnode
);
pVnode
->
wqueue
=
dnodeAllocateWqueue
(
pVnode
);
pVnode
->
rqueue
=
dnodeAllocateRqueue
(
pVnode
);
...
...
@@ -303,6 +307,7 @@ static void vnodeCleanUp(SVnodeObj *pVnode) {
//syncStop(pVnode->sync);
tsdbCloseRepo
(
pVnode
->
tsdb
);
walClose
(
pVnode
->
wal
);
vnodeSaveVersion
(
pVnode
);
vnodeRelease
(
pVnode
);
}
...
...
@@ -562,3 +567,74 @@ PARSE_OVER:
fclose
(
fp
);
return
ret
;
}
static
int32_t
vnodeSaveVersion
(
SVnodeObj
*
pVnode
)
{
char
versionFile
[
TSDB_FILENAME_LEN
+
30
]
=
{
0
};
sprintf
(
versionFile
,
"%s/vnode%d/version.json"
,
tsVnodeDir
,
pVnode
->
vgId
);
FILE
*
fp
=
fopen
(
versionFile
,
"w"
);
if
(
!
fp
)
{
dError
(
"pVnode:%p vgId:%d, failed to open vnode version file for write, error:%s"
,
pVnode
,
pVnode
->
vgId
);
return
errno
;
}
int32_t
len
=
0
;
int32_t
maxLen
=
30
;
char
*
content
=
calloc
(
1
,
maxLen
+
1
);
len
+=
snprintf
(
content
+
len
,
maxLen
-
len
,
"{
\n
"
);
len
+=
snprintf
(
content
+
len
,
maxLen
-
len
,
"
\"
version
\"
: %"
PRId64
"
\n
"
,
pVnode
->
version
);
len
+=
snprintf
(
content
+
len
,
maxLen
-
len
,
"}
\n
"
);
fwrite
(
content
,
1
,
len
,
fp
);
fclose
(
fp
);
free
(
content
);
dPrint
(
"pVnode:%p vgId:%d, save vnode version successed"
,
pVnode
,
pVnode
->
vgId
);
return
0
;
}
static
int32_t
vnodeReadVersion
(
SVnodeObj
*
pVnode
)
{
char
versionFile
[
TSDB_FILENAME_LEN
+
30
]
=
{
0
};
sprintf
(
versionFile
,
"%s/vnode%d/version.json"
,
tsVnodeDir
,
pVnode
->
vgId
);
FILE
*
fp
=
fopen
(
versionFile
,
"w"
);
if
(
!
fp
)
{
dError
(
"pVnode:%p vgId:%d, failed to open vnode version file for write, error:%s"
,
pVnode
,
pVnode
->
vgId
);
return
errno
;
}
int
ret
=
TSDB_CODE_OTHERS
;
int
maxLen
=
100
;
char
*
content
=
calloc
(
1
,
maxLen
+
1
);
int
len
=
fread
(
content
,
1
,
maxLen
,
fp
);
if
(
len
<=
0
)
{
free
(
content
);
fclose
(
fp
);
dError
(
"pVnode:%p vgId:%d, failed to read vnode version, content is null"
,
pVnode
,
pVnode
->
vgId
);
return
false
;
}
cJSON
*
root
=
cJSON_Parse
(
content
);
if
(
root
==
NULL
)
{
dError
(
"pVnode:%p vgId:%d, failed to read vnode version, invalid json format"
,
pVnode
,
pVnode
->
vgId
);
goto
PARSE_OVER
;
}
cJSON
*
version
=
cJSON_GetObjectItem
(
root
,
"version"
);
if
(
!
version
||
version
->
type
!=
cJSON_Number
)
{
dError
(
"pVnode:%p vgId:%d, failed to read vnode version, version not found"
,
pVnode
,
pVnode
->
vgId
);
goto
PARSE_OVER
;
}
pVnode
->
version
=
version
->
valueint
;
ret
=
0
;
dPrint
(
"pVnode:%p vgId:%d, read vnode version successed, version:%%"
PRId64
,
pVnode
,
pVnode
->
vgId
,
pVnode
->
version
);
PARSE_OVER:
free
(
content
);
cJSON_Delete
(
root
);
fclose
(
fp
);
return
ret
;
}
\ No newline at end of file
This diff is collapsed.
Click to expand it.
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录
反馈
建议
客服
返回
顶部