Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
taosdata
TDengine
提交
8e61859d
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看板
提交
8e61859d
编写于
5月 10, 2022
作者:
S
Shengliang Guan
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
refactror: node mgmt
上级
b219224e
变更
4
隐藏空白更改
内联
并排
Showing
4 changed file
with
58 addition
and
34 deletion
+58
-34
source/dnode/mgmt/node_common/inc/dmDef.h
source/dnode/mgmt/node_common/inc/dmDef.h
+42
-16
source/dnode/mgmt/node_common/src/dmEnv.c
source/dnode/mgmt/node_common/src/dmEnv.c
+6
-17
source/dnode/mgmt/node_common/src/dmFile.c
source/dnode/mgmt/node_common/src/dmFile.c
+0
-1
source/dnode/mgmt/node_mgmt/src/dmHandle.c
source/dnode/mgmt/node_mgmt/src/dmHandle.c
+10
-0
未找到文件。
source/dnode/mgmt/node_common/inc/dmDef.h
浏览文件 @
8e61859d
...
...
@@ -16,7 +16,9 @@
#ifndef _TD_DM_DEF_H_
#define _TD_DM_DEF_H_
// tobe deleted
#include "uv.h"
#include "dmLog.h"
#include "cJSON.h"
...
...
@@ -40,6 +42,7 @@
#include "mnode.h"
#include "monitor.h"
#include "sync.h"
#include "wal.h"
#include "libs/function/function.h"
...
...
@@ -47,10 +50,34 @@
extern
"C"
{
#endif
typedef
enum
{
DNODE
,
VNODE
,
QNODE
,
SNODE
,
MNODE
,
BNODE
,
NODE_END
}
EDndNodeType
;
typedef
enum
{
DND_STAT_INIT
,
DND_STAT_RUNNING
,
DND_STAT_STOPPED
}
EDndRunStatus
;
typedef
enum
{
DND_ENV_INIT
,
DND_ENV_READY
,
DND_ENV_CLEANUP
}
EDndEnvStatus
;
typedef
enum
{
DND_PROC_SINGLE
,
DND_PROC_CHILD
,
DND_PROC_PARENT
}
EDndProcType
;
typedef
enum
{
DNODE
=
0
,
VNODE
=
1
,
QNODE
=
2
,
SNODE
=
3
,
MNODE
=
4
,
BNODE
=
5
,
NODE_END
=
6
,
}
EDndNodeType
;
typedef
enum
{
DND_STAT_INIT
,
DND_STAT_RUNNING
,
DND_STAT_STOPPED
,
}
EDndRunStatus
;
typedef
enum
{
DND_ENV_INIT
,
DND_ENV_READY
,
DND_ENV_CLEANUP
,
}
EDndEnvStatus
;
typedef
enum
{
DND_PROC_SINGLE
,
DND_PROC_CHILD
,
DND_PROC_PARENT
,
DND_PROC_TEST
,
}
EDndProcType
;
typedef
int32_t
(
*
NodeMsgFp
)(
struct
SMgmtWrapper
*
pWrapper
,
SNodeMsg
*
pMsg
);
typedef
int32_t
(
*
OpenNodeFp
)(
struct
SMgmtWrapper
*
pWrapper
);
...
...
@@ -146,18 +173,17 @@ typedef struct {
}
SStartupInfo
;
typedef
struct
SUdfdData
{
bool
startCalled
;
bool
needCleanUp
;
uv_loop_t
loop
;
uv_thread_t
thread
;
uv_barrier_t
barrier
;
uv_process_t
process
;
int
spawnErr
;
uv_pipe_t
ctrlPipe
;
uv_async_t
stopAsync
;
int32_t
stopCalled
;
int32_t
dnodeId
;
bool
startCalled
;
bool
needCleanUp
;
uv_loop_t
loop
;
uv_thread_t
thread
;
uv_barrier_t
barrier
;
uv_process_t
process
;
int
spawnErr
;
uv_pipe_t
ctrlPipe
;
uv_async_t
stopAsync
;
int32_t
stopCalled
;
int32_t
dnodeId
;
}
SUdfdData
;
typedef
struct
SDnode
{
...
...
source/dnode/mgmt/node_common/src/dmEnv.c
浏览文件 @
8e61859d
...
...
@@ -15,15 +15,14 @@
#define _DEFAULT_SOURCE
#include "dmInt.h"
#include "wal.h"
static
int8_t
once
=
DND_ENV_INIT
;
int32_t
dmInit
()
{
d
Debug
(
"start to init dnode
env"
);
d
Info
(
"start to init
env"
);
if
(
atomic_val_compare_exchange_8
(
&
once
,
DND_ENV_INIT
,
DND_ENV_READY
)
!=
DND_ENV_INIT
)
{
dError
(
"env is already initialized"
);
terrno
=
TSDB_CODE_REPEAT_INIT
;
dError
(
"failed to init dnode env since %s"
,
terrstr
());
return
-
1
;
}
...
...
@@ -31,24 +30,14 @@ int32_t dmInit() {
taosBlockSIGPIPE
();
taosResolveCRC
();
SMonCfg
monCfg
=
{
0
};
monCfg
.
maxLogs
=
tsMonitorMaxLogs
;
monCfg
.
port
=
tsMonitorPort
;
monCfg
.
server
=
tsMonitorFqdn
;
monCfg
.
comp
=
tsMonitorComp
;
if
(
monInit
(
&
monCfg
)
!=
0
)
{
dError
(
"failed to init monitor since %s"
,
terrstr
());
return
-
1
;
}
dInfo
(
"dnode env is initialized"
);
dInfo
(
"env is initialized"
);
return
0
;
}
void
dmCleanup
()
{
dDebug
(
"start to cleanup
dnode
env"
);
dDebug
(
"start to cleanup env"
);
if
(
atomic_val_compare_exchange_8
(
&
once
,
DND_ENV_READY
,
DND_ENV_CLEANUP
)
!=
DND_ENV_READY
)
{
dError
(
"
dnode
env is already cleaned up"
);
dError
(
"env is already cleaned up"
);
return
;
}
...
...
@@ -57,5 +46,5 @@ void dmCleanup() {
walCleanUp
();
udfcClose
();
taosStopCacheRefreshWorker
();
dInfo
(
"
dnode
env is cleaned up"
);
dInfo
(
"env is cleaned up"
);
}
source/dnode/mgmt/node_common/src/dmFile.c
浏览文件 @
8e61859d
...
...
@@ -29,7 +29,6 @@ int32_t dmReadFile(SMgmtWrapper *pWrapper, bool *pDeployed) {
snprintf
(
file
,
sizeof
(
file
),
"%s%s%s.json"
,
pWrapper
->
path
,
TD_DIRSEP
,
pWrapper
->
name
);
pFile
=
taosOpenFile
(
file
,
TD_FILE_READ
);
if
(
pFile
==
NULL
)
{
// dDebug("file %s not exist", file);
code
=
0
;
goto
_OVER
;
}
...
...
source/dnode/mgmt/node_mgmt/src/dmHandle.c
浏览文件 @
8e61859d
...
...
@@ -221,6 +221,16 @@ static int32_t dmInitMgmt(SMgmtWrapper *pWrapper) {
dInfo
(
"dnode-mgmt start to init"
);
SDnode
*
pDnode
=
pWrapper
->
pDnode
;
SMonCfg
monCfg
=
{
0
};
monCfg
.
maxLogs
=
tsMonitorMaxLogs
;
monCfg
.
port
=
tsMonitorPort
;
monCfg
.
server
=
tsMonitorFqdn
;
monCfg
.
comp
=
tsMonitorComp
;
if
(
monInit
(
&
monCfg
)
!=
0
)
{
dError
(
"failed to init monitor since %s"
,
terrstr
());
return
-
1
;
}
pDnode
->
data
.
dnodeHash
=
taosHashInit
(
4
,
taosGetDefaultHashFunction
(
TSDB_DATA_TYPE_INT
),
true
,
HASH_NO_LOCK
);
if
(
pDnode
->
data
.
dnodeHash
==
NULL
)
{
dError
(
"failed to init dnode hash"
);
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录