Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
taosdata
TDengine
提交
8248cf3d
T
TDengine
项目概览
taosdata
/
TDengine
大约 1 年 前同步成功
通知
1184
Star
22015
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看板
体验新版 GitCode,发现更多精彩内容 >>
未验证
提交
8248cf3d
编写于
11月 05, 2021
作者:
S
Shengliang Guan
提交者:
GitHub
11月 05, 2021
浏览文件
操作
浏览文件
下载
差异文件
Merge pull request #8588 from taosdata/feature/dnode3
Feature/dnode3
上级
43434732
248cdbbc
变更
14
展开全部
隐藏空白更改
内联
并排
Showing
14 changed file
with
642 addition
and
317 deletion
+642
-317
include/common/taosmsg.h
include/common/taosmsg.h
+35
-30
include/server/mnode/mnode.h
include/server/mnode/mnode.h
+24
-13
include/server/vnode/vnode.h
include/server/vnode/vnode.h
+19
-18
include/util/taoserror.h
include/util/taoserror.h
+12
-8
source/dnode/mgmt/inc/dnodeMnode.h
source/dnode/mgmt/inc/dnodeMnode.h
+5
-1
source/dnode/mgmt/src/dnodeMnode.c
source/dnode/mgmt/src/dnodeMnode.c
+434
-132
source/dnode/mgmt/src/dnodeTransport.c
source/dnode/mgmt/src/dnodeTransport.c
+51
-49
source/dnode/mgmt/src/dnodeVnodes.c
source/dnode/mgmt/src/dnodeVnodes.c
+1
-1
source/dnode/mnode/inc/mnodeInt.h
source/dnode/mnode/inc/mnodeInt.h
+0
-1
source/dnode/mnode/inc/mnodeWorker.h
source/dnode/mnode/inc/mnodeWorker.h
+0
-1
source/dnode/mnode/src/mnodeTelem.c
source/dnode/mnode/src/mnodeTelem.c
+12
-12
source/dnode/mnode/src/mnodeWorker.c
source/dnode/mnode/src/mnodeWorker.c
+16
-17
source/dnode/mnode/src/mondeInt.c
source/dnode/mnode/src/mondeInt.c
+27
-32
source/util/src/terror.c
source/util/src/terror.c
+6
-2
未找到文件。
include/common/taosmsg.h
浏览文件 @
8248cf3d
...
...
@@ -75,9 +75,9 @@ TAOS_DEFINE_MESSAGE_TYPE( TSDB_MSG_TYPE_CREATE_FUNCTION, "create-function" )
TAOS_DEFINE_MESSAGE_TYPE
(
TSDB_MSG_TYPE_ALTER_FUNCTION
,
"alter-function"
)
TAOS_DEFINE_MESSAGE_TYPE
(
TSDB_MSG_TYPE_DROP_FUNCTION
,
"drop-function"
)
TAOS_DEFINE_MESSAGE_TYPE
(
TSDB_MSG_TYPE_CREATE_STABLE
,
"create-stable"
)
TAOS_DEFINE_MESSAGE_TYPE
(
TSDB_MSG_TYPE_STABLE_VGROUP
,
"stable-vgroup"
)
TAOS_DEFINE_MESSAGE_TYPE
(
TSDB_MSG_TYPE_DROP_STABLE
,
"drop-stable"
)
TAOS_DEFINE_MESSAGE_TYPE
(
TSDB_MSG_TYPE_ALTER_STABLE
,
"alter-stable"
)
TAOS_DEFINE_MESSAGE_TYPE
(
TSDB_MSG_TYPE_DROP_STABLE
,
"drop-stable"
)
TAOS_DEFINE_MESSAGE_TYPE
(
TSDB_MSG_TYPE_STABLE_VGROUP
,
"stable-vgroup"
)
TAOS_DEFINE_MESSAGE_TYPE
(
TSDB_MSG_TYPE_KILL_QUERY
,
"kill-query"
)
TAOS_DEFINE_MESSAGE_TYPE
(
TSDB_MSG_TYPE_KILL_CONN
,
"kill-conn"
)
TAOS_DEFINE_MESSAGE_TYPE
(
TSDB_MSG_TYPE_HEARTBEAT
,
"heartbeat"
)
...
...
@@ -108,6 +108,7 @@ TAOS_DEFINE_MESSAGE_TYPE( TSDB_MSG_TYPE_AUTH_VNODE_IN, "auth-vnode" )
TAOS_DEFINE_MESSAGE_TYPE
(
TSDB_MSG_TYPE_SYNC_VNODE_IN
,
"sync-vnode"
)
TAOS_DEFINE_MESSAGE_TYPE
(
TSDB_MSG_TYPE_COMPACT_VNODE_IN
,
"compact-vnode"
)
TAOS_DEFINE_MESSAGE_TYPE
(
TSDB_MSG_TYPE_CREATE_MNODE_IN
,
"create-mnode"
)
TAOS_DEFINE_MESSAGE_TYPE
(
TSDB_MSG_TYPE_ALTER_MNODE_IN
,
"alter-mnode"
)
TAOS_DEFINE_MESSAGE_TYPE
(
TSDB_MSG_TYPE_DROP_MNODE_IN
,
"drop-mnode"
)
TAOS_DEFINE_MESSAGE_TYPE
(
TSDB_MSG_TYPE_CONFIG_DNODE_IN
,
"config-dnode"
)
...
...
@@ -696,32 +697,33 @@ typedef struct {
}
SStatusRsp
;
typedef
struct
{
uint16_t
port
;
char
fqdn
[
TSDB_FQDN_LEN
];
}
SVnodeDesc
;
typedef
struct
{
char
db
[
TSDB_FULL_DB_NAME_LEN
];
uint32_t
vgId
;
int32_t
cacheBlockSize
;
int32_t
totalBlocks
;
int32_t
daysPerFile
;
int32_t
daysToKeep0
;
int32_t
daysToKeep1
;
int32_t
daysToKeep2
;
int32_t
minRowsPerFileBlock
;
int32_t
maxRowsPerFileBlock
;
int32_t
fsyncPeriod
;
int8_t
reserved
[
16
];
int8_t
precision
;
int8_t
compression
;
int8_t
cacheLastRow
;
int8_t
update
;
int8_t
walLevel
;
int8_t
replica
;
int8_t
quorum
;
int8_t
selfIndex
;
SVnodeDesc
replicas
[
TSDB_MAX_REPLICA
];
int32_t
id
;
uint16_t
port
;
// node sync Port
char
fqdn
[
TSDB_FQDN_LEN
];
// node FQDN
}
SReplica
;
typedef
struct
{
char
db
[
TSDB_FULL_DB_NAME_LEN
];
uint32_t
vgId
;
int32_t
cacheBlockSize
;
int32_t
totalBlocks
;
int32_t
daysPerFile
;
int32_t
daysToKeep0
;
int32_t
daysToKeep1
;
int32_t
daysToKeep2
;
int32_t
minRowsPerFileBlock
;
int32_t
maxRowsPerFileBlock
;
int32_t
fsyncPeriod
;
int8_t
reserved
[
16
];
int8_t
precision
;
int8_t
compression
;
int8_t
cacheLastRow
;
int8_t
update
;
int8_t
walLevel
;
int8_t
quorum
;
int8_t
replica
;
int8_t
selfIndex
;
SReplica
replicas
[
TSDB_MAX_REPLICA
];
}
SCreateVnodeMsg
,
SAlterVnodeMsg
;
typedef
struct
{
...
...
@@ -825,8 +827,11 @@ typedef struct {
}
SCreateDnodeMsg
,
SDropDnodeMsg
;
typedef
struct
{
int32_t
dnodeId
;
}
SCreateMnodeMsg
,
SDropMnodeMsg
;
int32_t
dnodeId
;
int8_t
replica
;
int8_t
reserved
[
3
];
SReplica
replicas
[
TSDB_MAX_REPLICA
];
}
SCreateMnodeMsg
,
SAlterMnodeMsg
,
SDropMnodeMsg
;
typedef
struct
{
int32_t
dnodeId
;
...
...
include/server/mnode/mnode.h
浏览文件 @
8248cf3d
...
...
@@ -20,6 +20,16 @@
extern
"C"
{
#endif
typedef
enum
{
MN_MSG_TYPE_WRITE
=
1
,
MN_MSG_TYPE_APPLY
,
MN_MSG_TYPE_SYNC
,
MN_MSG_TYPE_READ
}
EMnMsgType
;
typedef
struct
SMnodeMsg
SMnodeMsg
;
typedef
struct
{
int8_t
replica
;
int8_t
selfIndex
;
SReplica
replicas
[
TSDB_MAX_REPLICA
];
}
SMnodeCfg
;
typedef
struct
{
int64_t
numOfDnode
;
int64_t
numOfMnode
;
...
...
@@ -31,32 +41,33 @@ typedef struct {
int64_t
totalPoints
;
int64_t
totalStorage
;
int64_t
compStorage
;
}
SMnode
Stat
;
}
SMnode
Load
;
typedef
struct
{
int32_t
dnodeId
;
int64_t
clusterId
;
void
(
*
SendMsgToDnode
)(
struct
SEpSet
*
epSet
,
struct
SRpcMsg
*
rpcMsg
);
void
(
*
SendMsgToMnode
)(
struct
SRpcMsg
*
rpcMsg
);
void
(
*
SendRedirectMsg
)(
struct
SRpcMsg
*
rpcMsg
,
bool
forShell
);
void
(
*
GetDnodeEp
)(
int32_t
dnodeId
,
char
*
ep
,
char
*
fqdn
,
uint16_t
*
port
);
}
SMnodeFp
;
typedef
struct
{
SMnodeFp
fp
;
int64_t
clusterId
;
int32_t
dnodeId
;
int32_t
(
*
PutMsgIntoApplyQueue
)(
SMnodeMsg
*
pMsg
);
}
SMnodePara
;
int32_t
mnodeInit
(
SMnodePara
para
);
void
mnodeCleanup
();
int32_t
mnodeDeploy
();
void
mnodeUnDeploy
();
int32_t
mnodeStart
();
int32_t
mnodeDeploy
(
char
*
path
,
SMnodeCfg
*
pCfg
);
void
mnodeUnDeploy
(
char
*
path
);
int32_t
mnodeStart
(
char
*
path
,
SMnodeCfg
*
pCfg
);
int32_t
mnodeAlter
(
SMnodeCfg
*
pCfg
);
void
mnodeStop
();
int32_t
mnodeGet
Statistics
(
SMnodeStat
*
stat
);
int32_t
mnodeGet
Load
(
SMnodeLoad
*
pLoad
);
int32_t
mnodeRetriveAuth
(
char
*
user
,
char
*
spi
,
char
*
encrypt
,
char
*
secret
,
char
*
ckey
);
void
mnodeProcessMsg
(
SRpcMsg
*
rpcMsg
);
SMnodeMsg
*
mnodeInitMsg
(
int32_t
msgNum
);
int32_t
mnodeAppendMsg
(
SMnodeMsg
*
pMsg
,
SRpcMsg
*
pRpcMsg
);
void
mnodeCleanupMsg
(
SMnodeMsg
*
pMsg
);
void
mnodeProcessMsg
(
SMnodeMsg
*
pMsg
,
EMnMsgType
msgType
);
#ifdef __cplusplus
}
...
...
include/server/vnode/vnode.h
浏览文件 @
8248cf3d
...
...
@@ -27,24 +27,25 @@ extern "C" {
typedef
struct
SVnode
SVnode
;
typedef
struct
{
char
db
[
TSDB_FULL_DB_NAME_LEN
];
int32_t
cacheBlockSize
;
// MB
int32_t
totalBlocks
;
int32_t
daysPerFile
;
int32_t
daysToKeep0
;
int32_t
daysToKeep1
;
int32_t
daysToKeep2
;
int32_t
minRowsPerFileBlock
;
int32_t
maxRowsPerFileBlock
;
int8_t
precision
;
// time resolution
int8_t
compression
;
int8_t
cacheLastRow
;
int8_t
update
;
int8_t
quorum
;
int8_t
replica
;
int8_t
walLevel
;
int32_t
fsyncPeriod
;
// millisecond
SVnodeDesc
replicas
[
TSDB_MAX_REPLICA
];
char
db
[
TSDB_FULL_DB_NAME_LEN
];
int32_t
cacheBlockSize
;
// MB
int32_t
totalBlocks
;
int32_t
daysPerFile
;
int32_t
daysToKeep0
;
int32_t
daysToKeep1
;
int32_t
daysToKeep2
;
int32_t
minRowsPerFileBlock
;
int32_t
maxRowsPerFileBlock
;
int8_t
precision
;
// time resolution
int8_t
compression
;
int8_t
cacheLastRow
;
int8_t
update
;
int8_t
quorum
;
int8_t
replica
;
int8_t
selfIndex
;
int8_t
walLevel
;
int32_t
fsyncPeriod
;
// millisecond
SReplica
replicas
[
TSDB_MAX_REPLICA
];
}
SVnodeCfg
;
typedef
enum
{
...
...
include/util/taoserror.h
浏览文件 @
8248cf3d
...
...
@@ -216,14 +216,18 @@ int32_t* taosGetErrno();
// dnode
#define TSDB_CODE_DND_MSG_NOT_PROCESSED TAOS_DEF_ERROR_CODE(0, 0x0400) //"Message not processed")
#define TSDB_CODE_DND_OUT_OF_MEMORY TAOS_DEF_ERROR_CODE(0, 0x0401) //"Dnode out of memory")
#define TSDB_CODE_DND_DNODE_ID_NOT_MATCHED TAOS_DEF_ERROR_CODE(0, 0x0402) //"Dnode Id not matched")
#define TSDB_CODE_DND_MNODE_ALREADY_DROPPED TAOS_DEF_ERROR_CODE(0, 0x0403) //"Mnode already deployed")
#define TSDB_CODE_DND_NO_WRITE_ACCESS TAOS_DEF_ERROR_CODE(0, 0x0404) //"No permission for disk files in dnode")
#define TSDB_CODE_DND_INVALID_MSG_LEN TAOS_DEF_ERROR_CODE(0, 0x0405) //"Invalid message length")
#define TSDB_CODE_DND_ACTION_IN_PROGRESS TAOS_DEF_ERROR_CODE(0, 0x0406) //"Action in progress")
#define TSDB_CODE_DND_TOO_MANY_VNODES TAOS_DEF_ERROR_CODE(0, 0x0407) //"Too many vnode directories")
#define TSDB_CODE_DND_EXITING TAOS_DEF_ERROR_CODE(0, 0x0408) //"Dnode is exiting"
#define TSDB_CODE_DND_PARSE_VNODE_FILE_ERROR TAOS_DEF_ERROR_CODE(0, 0x0409) //"Parse vnodes.json error")
#define TSDB_CODE_DND_MNODE_ID_NOT_MATCH_DNODE TAOS_DEF_ERROR_CODE(0, 0x0402) //"Mnode Id not match Dnode")
#define TSDB_CODE_DND_MNODE_ALREADY_DEPLOYED TAOS_DEF_ERROR_CODE(0, 0x0403) //"Mnode already deployed")
#define TSDB_CODE_DND_MNODE_NOT_DEPLOYED TAOS_DEF_ERROR_CODE(0, 0x0404) //"Mnode not deployed")
#define TSDB_CODE_DND_READ_MNODE_FILE_ERROR TAOS_DEF_ERROR_CODE(0, 0x0405) //"Read mnode.json error")
#define TSDB_CODE_DND_WRITE_MNODE_FILE_ERROR TAOS_DEF_ERROR_CODE(0, 0x0406) //"Write mnode.json error")
#define TSDB_CODE_DND_NO_WRITE_ACCESS TAOS_DEF_ERROR_CODE(0, 0x0407) //"No permission for disk files in dnode")
#define TSDB_CODE_DND_INVALID_MSG_LEN TAOS_DEF_ERROR_CODE(0, 0x0408) //"Invalid message length")
#define TSDB_CODE_DND_ACTION_IN_PROGRESS TAOS_DEF_ERROR_CODE(0, 0x0409) //"Action in progress")
#define TSDB_CODE_DND_TOO_MANY_VNODES TAOS_DEF_ERROR_CODE(0, 0x040A) //"Too many vnode directories")
#define TSDB_CODE_DND_EXITING TAOS_DEF_ERROR_CODE(0, 0x040B) //"Dnode is exiting"
#define TSDB_CODE_DND_PARSE_VNODE_FILE_ERROR TAOS_DEF_ERROR_CODE(0, 0x040C) //"Parse vnodes.json error")
#define TSDB_CODE_DND_PARSE_DNODE_FILE_ERROR TAOS_DEF_ERROR_CODE(0, 0x040D) //"Parse dnodes.json error")
// vnode
#define TSDB_CODE_VND_ACTION_IN_PROGRESS TAOS_DEF_ERROR_CODE(0, 0x0500) //"Action in progress")
...
...
source/dnode/mgmt/inc/dnodeMnode.h
浏览文件 @
8248cf3d
...
...
@@ -23,9 +23,13 @@ extern "C" {
int32_t
dnodeInitMnode
();
void
dnodeCleanupMnode
();
void
dnodeProcessMnodeMsg
(
SRpcMsg
*
pMsg
,
SEpSet
*
pEpSet
);
int32_t
dnodeGetUserAuthFromMnode
(
char
*
user
,
char
*
spi
,
char
*
encrypt
,
char
*
secret
,
char
*
ckey
);
void
dnodeProcessMnodeMgmtMsg
(
SRpcMsg
*
pMsg
,
SEpSet
*
pEpSet
);
void
dnodeProcessMnodeReadMsg
(
SRpcMsg
*
pMsg
,
SEpSet
*
pEpSet
);
void
dnodeProcessMnodeWriteMsg
(
SRpcMsg
*
pMsg
,
SEpSet
*
pEpSet
);
void
dnodeProcessMnodeSyncMsg
(
SRpcMsg
*
pMsg
,
SEpSet
*
pEpSet
);
#ifdef __cplusplus
}
#endif
...
...
source/dnode/mgmt/src/dnodeMnode.c
浏览文件 @
8248cf3d
此差异已折叠。
点击以展开。
source/dnode/mgmt/src/dnodeTransport.c
浏览文件 @
8248cf3d
...
...
@@ -51,76 +51,78 @@ static void dnodeInitMsgFp() {
tsTrans
.
msgFp
[
TSDB_MSG_TYPE_MQ_RESET
]
=
dnodeProcessVnodeWriteMsg
;
// msg from client to mnode
tsTrans
.
msgFp
[
TSDB_MSG_TYPE_CONNECT
]
=
dnodeProcessMnodeMsg
;
tsTrans
.
msgFp
[
TSDB_MSG_TYPE_CREATE_ACCT
]
=
dnodeProcessMnodeMsg
;
tsTrans
.
msgFp
[
TSDB_MSG_TYPE_ALTER_ACCT
]
=
dnodeProcessMnodeMsg
;
tsTrans
.
msgFp
[
TSDB_MSG_TYPE_DROP_ACCT
]
=
dnodeProcessMnodeMsg
;
tsTrans
.
msgFp
[
TSDB_MSG_TYPE_CREATE_USER
]
=
dnodeProcessMnodeMsg
;
tsTrans
.
msgFp
[
TSDB_MSG_TYPE_ALTER_USER
]
=
dnodeProcessMnodeMsg
;
tsTrans
.
msgFp
[
TSDB_MSG_TYPE_DROP_USER
]
=
dnodeProcessMnodeMsg
;
tsTrans
.
msgFp
[
TSDB_MSG_TYPE_CREATE_DNODE
]
=
dnodeProcessMnodeMsg
;
tsTrans
.
msgFp
[
TSDB_MSG_TYPE_CONFIG_DNODE
]
=
dnodeProcessMnodeMsg
;
tsTrans
.
msgFp
[
TSDB_MSG_TYPE_DROP_DNODE
]
=
dnodeProcessMnodeMsg
;
tsTrans
.
msgFp
[
TSDB_MSG_TYPE_CREATE_DB
]
=
dnodeProcessMnodeMsg
;
tsTrans
.
msgFp
[
TSDB_MSG_TYPE_DROP_DB
]
=
dnodeProcessMnodeMsg
;
tsTrans
.
msgFp
[
TSDB_MSG_TYPE_USE_DB
]
=
dnodeProcessMnodeMsg
;
tsTrans
.
msgFp
[
TSDB_MSG_TYPE_ALTER_DB
]
=
dnodeProcessMnodeMsg
;
tsTrans
.
msgFp
[
TSDB_MSG_TYPE_SYNC_DB
]
=
dnodeProcessMnodeMsg
;
tsTrans
.
msgFp
[
TSDB_MSG_TYPE_CREATE_TOPIC
]
=
dnodeProcessMnodeMsg
;
tsTrans
.
msgFp
[
TSDB_MSG_TYPE_DROP_TOPIC
]
=
dnodeProcessMnodeMsg
;
tsTrans
.
msgFp
[
TSDB_MSG_TYPE_ALTER_TOPIC
]
=
dnodeProcessMnodeMsg
;
tsTrans
.
msgFp
[
TSDB_MSG_TYPE_CREATE_FUNCTION
]
=
dnodeProcessMnodeMsg
;
tsTrans
.
msgFp
[
TSDB_MSG_TYPE_ALTER_FUNCTION
]
=
dnodeProcessMnodeMsg
;
tsTrans
.
msgFp
[
TSDB_MSG_TYPE_DROP_FUNCTION
]
=
dnodeProcessMnodeMsg
;
tsTrans
.
msgFp
[
TSDB_MSG_TYPE_CREATE_STABLE
]
=
dnodeProcessMnodeMsg
;
tsTrans
.
msgFp
[
TSDB_MSG_TYPE_
DROP_STABLE
]
=
dnodeProcessMnod
eMsg
;
tsTrans
.
msgFp
[
TSDB_MSG_TYPE_
ALTER_STABLE
]
=
dnodeProcessMnod
eMsg
;
tsTrans
.
msgFp
[
TSDB_MSG_TYPE_STABLE_VGROUP
]
=
dnodeProcessMnodeMsg
;
tsTrans
.
msgFp
[
TSDB_MSG_TYPE_KILL_QUERY
]
=
dnodeProcessMnodeMsg
;
tsTrans
.
msgFp
[
TSDB_MSG_TYPE_KILL_CONN
]
=
dnodeProcessMnodeMsg
;
tsTrans
.
msgFp
[
TSDB_MSG_TYPE_HEARTBEAT
]
=
dnodeProcessMnodeMsg
;
tsTrans
.
msgFp
[
TSDB_MSG_TYPE_SHOW
]
=
dnodeProcessMnodeMsg
;
tsTrans
.
msgFp
[
TSDB_MSG_TYPE_SHOW_RETRIEVE
]
=
dnodeProcessMnodeMsg
;
tsTrans
.
msgFp
[
TSDB_MSG_TYPE_SHOW_RETRIEVE_FUNC
]
=
dnodeProcessMnodeMsg
;
tsTrans
.
msgFp
[
TSDB_MSG_TYPE_COMPACT_VNODE
]
=
dnodeProcessMnodeMsg
;
tsTrans
.
msgFp
[
TSDB_MSG_TYPE_CONNECT
]
=
dnodeProcessMnode
Read
Msg
;
tsTrans
.
msgFp
[
TSDB_MSG_TYPE_CREATE_ACCT
]
=
dnodeProcessMnode
Write
Msg
;
tsTrans
.
msgFp
[
TSDB_MSG_TYPE_ALTER_ACCT
]
=
dnodeProcessMnode
Write
Msg
;
tsTrans
.
msgFp
[
TSDB_MSG_TYPE_DROP_ACCT
]
=
dnodeProcessMnode
Write
Msg
;
tsTrans
.
msgFp
[
TSDB_MSG_TYPE_CREATE_USER
]
=
dnodeProcessMnode
Write
Msg
;
tsTrans
.
msgFp
[
TSDB_MSG_TYPE_ALTER_USER
]
=
dnodeProcessMnode
Write
Msg
;
tsTrans
.
msgFp
[
TSDB_MSG_TYPE_DROP_USER
]
=
dnodeProcessMnode
Write
Msg
;
tsTrans
.
msgFp
[
TSDB_MSG_TYPE_CREATE_DNODE
]
=
dnodeProcessMnode
Write
Msg
;
tsTrans
.
msgFp
[
TSDB_MSG_TYPE_CONFIG_DNODE
]
=
dnodeProcessMnode
Write
Msg
;
tsTrans
.
msgFp
[
TSDB_MSG_TYPE_DROP_DNODE
]
=
dnodeProcessMnode
Write
Msg
;
tsTrans
.
msgFp
[
TSDB_MSG_TYPE_CREATE_DB
]
=
dnodeProcessMnode
Write
Msg
;
tsTrans
.
msgFp
[
TSDB_MSG_TYPE_DROP_DB
]
=
dnodeProcessMnode
Write
Msg
;
tsTrans
.
msgFp
[
TSDB_MSG_TYPE_USE_DB
]
=
dnodeProcessMnode
Write
Msg
;
tsTrans
.
msgFp
[
TSDB_MSG_TYPE_ALTER_DB
]
=
dnodeProcessMnode
Write
Msg
;
tsTrans
.
msgFp
[
TSDB_MSG_TYPE_SYNC_DB
]
=
dnodeProcessMnode
Write
Msg
;
tsTrans
.
msgFp
[
TSDB_MSG_TYPE_CREATE_TOPIC
]
=
dnodeProcessMnode
Write
Msg
;
tsTrans
.
msgFp
[
TSDB_MSG_TYPE_DROP_TOPIC
]
=
dnodeProcessMnode
Write
Msg
;
tsTrans
.
msgFp
[
TSDB_MSG_TYPE_ALTER_TOPIC
]
=
dnodeProcessMnode
Write
Msg
;
tsTrans
.
msgFp
[
TSDB_MSG_TYPE_CREATE_FUNCTION
]
=
dnodeProcessMnode
Write
Msg
;
tsTrans
.
msgFp
[
TSDB_MSG_TYPE_ALTER_FUNCTION
]
=
dnodeProcessMnode
Write
Msg
;
tsTrans
.
msgFp
[
TSDB_MSG_TYPE_DROP_FUNCTION
]
=
dnodeProcessMnode
Write
Msg
;
tsTrans
.
msgFp
[
TSDB_MSG_TYPE_CREATE_STABLE
]
=
dnodeProcessMnode
Write
Msg
;
tsTrans
.
msgFp
[
TSDB_MSG_TYPE_
ALTER_STABLE
]
=
dnodeProcessMnodeWrit
eMsg
;
tsTrans
.
msgFp
[
TSDB_MSG_TYPE_
DROP_STABLE
]
=
dnodeProcessMnodeWrit
eMsg
;
tsTrans
.
msgFp
[
TSDB_MSG_TYPE_STABLE_VGROUP
]
=
dnodeProcessMnode
Read
Msg
;
tsTrans
.
msgFp
[
TSDB_MSG_TYPE_KILL_QUERY
]
=
dnodeProcessMnode
Write
Msg
;
tsTrans
.
msgFp
[
TSDB_MSG_TYPE_KILL_CONN
]
=
dnodeProcessMnode
Write
Msg
;
tsTrans
.
msgFp
[
TSDB_MSG_TYPE_HEARTBEAT
]
=
dnodeProcessMnode
Read
Msg
;
tsTrans
.
msgFp
[
TSDB_MSG_TYPE_SHOW
]
=
dnodeProcessMnode
Read
Msg
;
tsTrans
.
msgFp
[
TSDB_MSG_TYPE_SHOW_RETRIEVE
]
=
dnodeProcessMnode
Read
Msg
;
tsTrans
.
msgFp
[
TSDB_MSG_TYPE_SHOW_RETRIEVE_FUNC
]
=
dnodeProcessMnode
Read
Msg
;
tsTrans
.
msgFp
[
TSDB_MSG_TYPE_COMPACT_VNODE
]
=
dnodeProcessMnode
Write
Msg
;
// message from client to dnode
tsTrans
.
msgFp
[
TSDB_MSG_TYPE_NETWORK_TEST
]
=
dnodeProcessDnodeMsg
;
// message from mnode to vnode
tsTrans
.
msgFp
[
TSDB_MSG_TYPE_CREATE_STABLE_IN
]
=
dnodeProcessVnodeWriteMsg
;
tsTrans
.
msgFp
[
TSDB_MSG_TYPE_CREATE_STABLE_IN_RSP
]
=
dnodeProcessMnodeMsg
;
tsTrans
.
msgFp
[
TSDB_MSG_TYPE_CREATE_STABLE_IN_RSP
]
=
dnodeProcessMnode
Write
Msg
;
tsTrans
.
msgFp
[
TSDB_MSG_TYPE_ALTER_STABLE_IN
]
=
dnodeProcessVnodeWriteMsg
;
tsTrans
.
msgFp
[
TSDB_MSG_TYPE_ALTER_STABLE_IN_RSP
]
=
dnodeProcessMnodeMsg
;
tsTrans
.
msgFp
[
TSDB_MSG_TYPE_ALTER_STABLE_IN_RSP
]
=
dnodeProcessMnode
Write
Msg
;
tsTrans
.
msgFp
[
TSDB_MSG_TYPE_DROP_STABLE_IN
]
=
dnodeProcessVnodeWriteMsg
;
tsTrans
.
msgFp
[
TSDB_MSG_TYPE_DROP_STABLE_IN
]
=
dnodeProcessMnodeMsg
;
tsTrans
.
msgFp
[
TSDB_MSG_TYPE_DROP_STABLE_IN
]
=
dnodeProcessMnode
Write
Msg
;
// message from mnode to dnode
tsTrans
.
msgFp
[
TSDB_MSG_TYPE_CREATE_VNODE_IN
]
=
dnodeProcessVnodeMgmtMsg
;
tsTrans
.
msgFp
[
TSDB_MSG_TYPE_CREATE_VNODE_IN_RSP
]
=
dnodeProcessMnodeMsg
;
tsTrans
.
msgFp
[
TSDB_MSG_TYPE_CREATE_VNODE_IN_RSP
]
=
dnodeProcessMnode
Write
Msg
;
tsTrans
.
msgFp
[
TSDB_MSG_TYPE_ALTER_VNODE_IN
]
=
dnodeProcessVnodeMgmtMsg
;
tsTrans
.
msgFp
[
TSDB_MSG_TYPE_ALTER_VNODE_IN_RSP
]
=
dnodeProcessMnodeMsg
;
tsTrans
.
msgFp
[
TSDB_MSG_TYPE_ALTER_VNODE_IN_RSP
]
=
dnodeProcessMnode
Write
Msg
;
tsTrans
.
msgFp
[
TSDB_MSG_TYPE_DROP_VNODE_IN
]
=
dnodeProcessVnodeMgmtMsg
;
tsTrans
.
msgFp
[
TSDB_MSG_TYPE_DROP_VNODE_IN_RSP
]
=
dnodeProcessMnodeMsg
;
tsTrans
.
msgFp
[
TSDB_MSG_TYPE_DROP_VNODE_IN_RSP
]
=
dnodeProcessMnode
Write
Msg
;
tsTrans
.
msgFp
[
TSDB_MSG_TYPE_SYNC_VNODE_IN
]
=
dnodeProcessVnodeMgmtMsg
;
tsTrans
.
msgFp
[
TSDB_MSG_TYPE_SYNC_VNODE_IN_RSP
]
=
dnodeProcessMnodeMsg
;
tsTrans
.
msgFp
[
TSDB_MSG_TYPE_SYNC_VNODE_IN_RSP
]
=
dnodeProcessMnode
Write
Msg
;
tsTrans
.
msgFp
[
TSDB_MSG_TYPE_AUTH_VNODE_IN
]
=
dnodeProcessVnodeMgmtMsg
;
tsTrans
.
msgFp
[
TSDB_MSG_TYPE_AUTH_VNODE_IN_RSP
]
=
dnodeProcessMnodeMsg
;
tsTrans
.
msgFp
[
TSDB_MSG_TYPE_AUTH_VNODE_IN_RSP
]
=
dnodeProcessMnode
Write
Msg
;
tsTrans
.
msgFp
[
TSDB_MSG_TYPE_COMPACT_VNODE_IN
]
=
dnodeProcessVnodeMgmtMsg
;
tsTrans
.
msgFp
[
TSDB_MSG_TYPE_COMPACT_VNODE_IN_RSP
]
=
dnodeProcessMnodeMsg
;
tsTrans
.
msgFp
[
TSDB_MSG_TYPE_CREATE_MNODE_IN
]
=
dnodeProcessMnodeMsg
;
tsTrans
.
msgFp
[
TSDB_MSG_TYPE_CREATE_MNODE_IN_RSP
]
=
dnodeProcessMnodeMsg
;
tsTrans
.
msgFp
[
TSDB_MSG_TYPE_DROP_MNODE_IN
]
=
dnodeProcessMnodeMsg
;
tsTrans
.
msgFp
[
TSDB_MSG_TYPE_DROP_MNODE_IN_RSP
]
=
dnodeProcessMnodeMsg
;
tsTrans
.
msgFp
[
TSDB_MSG_TYPE_COMPACT_VNODE_IN_RSP
]
=
dnodeProcessMnodeWriteMsg
;
tsTrans
.
msgFp
[
TSDB_MSG_TYPE_CREATE_MNODE_IN
]
=
dnodeProcessMnodeMgmtMsg
;
tsTrans
.
msgFp
[
TSDB_MSG_TYPE_CREATE_MNODE_IN_RSP
]
=
dnodeProcessMnodeWriteMsg
;
tsTrans
.
msgFp
[
TSDB_MSG_TYPE_ALTER_MNODE_IN
]
=
dnodeProcessMnodeMgmtMsg
;
tsTrans
.
msgFp
[
TSDB_MSG_TYPE_ALTER_MNODE_IN_RSP
]
=
dnodeProcessMnodeWriteMsg
;
tsTrans
.
msgFp
[
TSDB_MSG_TYPE_DROP_MNODE_IN
]
=
dnodeProcessMnodeMgmtMsg
;
tsTrans
.
msgFp
[
TSDB_MSG_TYPE_DROP_MNODE_IN_RSP
]
=
dnodeProcessMnodeWriteMsg
;
tsTrans
.
msgFp
[
TSDB_MSG_TYPE_CONFIG_DNODE_IN
]
=
dnodeProcessDnodeMsg
;
tsTrans
.
msgFp
[
TSDB_MSG_TYPE_CONFIG_DNODE_IN_RSP
]
=
dnodeProcessMnodeMsg
;
tsTrans
.
msgFp
[
TSDB_MSG_TYPE_CONFIG_DNODE_IN_RSP
]
=
dnodeProcessMnode
Write
Msg
;
// message from dnode to mnode
tsTrans
.
msgFp
[
TSDB_MSG_TYPE_AUTH
]
=
dnodeProcessMnodeMsg
;
tsTrans
.
msgFp
[
TSDB_MSG_TYPE_AUTH
]
=
dnodeProcessMnode
Read
Msg
;
tsTrans
.
msgFp
[
TSDB_MSG_TYPE_AUTH_RSP
]
=
dnodeProcessDnodeMsg
;
tsTrans
.
msgFp
[
TSDB_MSG_TYPE_GRANT
]
=
dnodeProcessMnodeMsg
;
tsTrans
.
msgFp
[
TSDB_MSG_TYPE_GRANT
]
=
dnodeProcessMnode
Write
Msg
;
tsTrans
.
msgFp
[
TSDB_MSG_TYPE_GRANT_RSP
]
=
dnodeProcessDnodeMsg
;
tsTrans
.
msgFp
[
TSDB_MSG_TYPE_STATUS
]
=
dnodeProcessMnodeMsg
;
tsTrans
.
msgFp
[
TSDB_MSG_TYPE_STATUS
]
=
dnodeProcessMnode
Write
Msg
;
tsTrans
.
msgFp
[
TSDB_MSG_TYPE_STATUS_RSP
]
=
dnodeProcessDnodeMsg
;
}
...
...
source/dnode/mgmt/src/dnodeVnodes.c
浏览文件 @
8248cf3d
...
...
@@ -983,7 +983,7 @@ static int32_t dnodeInitVnodeModule() {
int32_t
dnodeInitVnodes
()
{
dInfo
(
"dnode-vnodes start to init"
);
SSteps
*
pSteps
=
taosStepInit
(
3
,
dnodeReportStartup
);
SSteps
*
pSteps
=
taosStepInit
(
6
,
dnodeReportStartup
);
taosStepAdd
(
pSteps
,
"dnode-vnode-env"
,
dnodeInitVnodeModule
,
vnodeCleanup
);
taosStepAdd
(
pSteps
,
"dnode-vnode-mgmt"
,
dnodeInitVnodeMgmtWorker
,
dnodeCleanupVnodeMgmtWorker
);
taosStepAdd
(
pSteps
,
"dnode-vnode-read"
,
dnodeInitVnodeReadWorker
,
dnodeCleanupVnodeReadWorker
);
...
...
source/dnode/mnode/inc/mnodeInt.h
浏览文件 @
8248cf3d
...
...
@@ -32,7 +32,6 @@ EMnStatus mnodeGetStatus();
void
mnodeSendMsgToDnode
(
struct
SEpSet
*
epSet
,
struct
SRpcMsg
*
rpcMsg
);
void
mnodeSendMsgToMnode
(
struct
SRpcMsg
*
rpcMsg
);
void
mnodeSendRedirectMsg
(
struct
SRpcMsg
*
rpcMsg
,
bool
forShell
);
void
mnodeGetDnodeEp
(
int32_t
dnodeId
,
char
*
ep
,
char
*
fqdn
,
uint16_t
*
port
);
#ifdef __cplusplus
}
...
...
source/dnode/mnode/inc/mnodeWorker.h
浏览文件 @
8248cf3d
...
...
@@ -24,7 +24,6 @@ extern "C" {
int32_t
mnodeInitWorker
();
void
mnodeCleanupWorker
();
void
mnodeProcessMsg
(
SRpcMsg
*
rpcMsg
);
void
mnodeSendRsp
(
SMnMsg
*
pMsg
,
int32_t
code
);
void
mnodeReDispatchToWriteQueue
(
SMnMsg
*
pMsg
);
...
...
source/dnode/mnode/src/mnodeTelem.c
浏览文件 @
8248cf3d
...
...
@@ -172,21 +172,21 @@ static void mnodeAddVersionInfo(SBufferWriter* bw) {
}
static
void
mnodeAddRuntimeInfo
(
SBufferWriter
*
bw
)
{
SMnode
Stat
stat
=
{
0
};
if
(
mnodeGet
Statistics
(
&
stat
)
!=
0
)
{
SMnode
Load
load
=
{
0
};
if
(
mnodeGet
Load
(
&
load
)
!=
0
)
{
return
;
}
mnodeAddIntField
(
bw
,
"numOfDnode"
,
stat
.
numOfDnode
);
mnodeAddIntField
(
bw
,
"numOfMnode"
,
stat
.
numOfMnode
);
mnodeAddIntField
(
bw
,
"numOfVgroup"
,
stat
.
numOfVgroup
);
mnodeAddIntField
(
bw
,
"numOfDatabase"
,
stat
.
numOfDatabase
);
mnodeAddIntField
(
bw
,
"numOfSuperTable"
,
stat
.
numOfSuperTable
);
mnodeAddIntField
(
bw
,
"numOfChildTable"
,
stat
.
numOfChildTable
);
mnodeAddIntField
(
bw
,
"numOfColumn"
,
stat
.
numOfColumn
);
mnodeAddIntField
(
bw
,
"numOfPoint"
,
stat
.
totalPoints
);
mnodeAddIntField
(
bw
,
"totalStorage"
,
stat
.
totalStorage
);
mnodeAddIntField
(
bw
,
"compStorage"
,
stat
.
compStorage
);
mnodeAddIntField
(
bw
,
"numOfDnode"
,
load
.
numOfDnode
);
mnodeAddIntField
(
bw
,
"numOfMnode"
,
load
.
numOfMnode
);
mnodeAddIntField
(
bw
,
"numOfVgroup"
,
load
.
numOfVgroup
);
mnodeAddIntField
(
bw
,
"numOfDatabase"
,
load
.
numOfDatabase
);
mnodeAddIntField
(
bw
,
"numOfSuperTable"
,
load
.
numOfSuperTable
);
mnodeAddIntField
(
bw
,
"numOfChildTable"
,
load
.
numOfChildTable
);
mnodeAddIntField
(
bw
,
"numOfColumn"
,
load
.
numOfColumn
);
mnodeAddIntField
(
bw
,
"numOfPoint"
,
load
.
totalPoints
);
mnodeAddIntField
(
bw
,
"totalStorage"
,
load
.
totalStorage
);
mnodeAddIntField
(
bw
,
"compStorage"
,
load
.
compStorage
);
}
static
void
mnodeSendTelemetryReport
()
{
...
...
source/dnode/mnode/src/mnodeWorker.c
浏览文件 @
8248cf3d
...
...
@@ -39,7 +39,7 @@ static struct {
void
(
*
msgFp
[
TSDB_MSG_TYPE_MAX
])(
SRpcMsg
*
pMsg
);
}
tsMworker
=
{
0
};
static
SMnMsg
*
mnodeInitMsg
(
SRpcMsg
*
pRpcMsg
)
{
static
SMnMsg
*
mnodeInitMsg
2
(
SRpcMsg
*
pRpcMsg
)
{
int32_t
size
=
sizeof
(
SMnMsg
)
+
pRpcMsg
->
contLen
;
SMnMsg
*
pMsg
=
taosAllocateQitem
(
size
);
...
...
@@ -62,7 +62,7 @@ static SMnMsg *mnodeInitMsg(SRpcMsg *pRpcMsg) {
return
pMsg
;
}
static
void
mnodeCleanupMsg
(
SMnMsg
*
pMsg
)
{
static
void
mnodeCleanupMsg
2
(
SMnMsg
*
pMsg
)
{
if
(
pMsg
==
NULL
)
return
;
if
(
pMsg
->
rpcMsg
.
pCont
!=
pMsg
->
pCont
)
{
tfree
(
pMsg
->
rpcMsg
.
pCont
);
...
...
@@ -75,7 +75,7 @@ static void mnodeDispatchToWriteQueue(SRpcMsg *pRpcMsg) {
if
(
mnodeGetStatus
()
!=
MN_STATUS_READY
||
tsMworker
.
writeQ
==
NULL
)
{
mnodeSendRedirectMsg
(
pRpcMsg
,
true
);
}
else
{
SMnMsg
*
pMsg
=
mnodeInitMsg
(
pRpcMsg
);
SMnMsg
*
pMsg
=
mnodeInitMsg
2
(
pRpcMsg
);
if
(
pMsg
==
NULL
)
{
SRpcMsg
rpcRsp
=
{.
handle
=
pRpcMsg
->
handle
,
.
code
=
TSDB_CODE_MND_INVALID_USER
};
rpcSendResponse
(
&
rpcRsp
);
...
...
@@ -91,7 +91,7 @@ static void mnodeDispatchToWriteQueue(SRpcMsg *pRpcMsg) {
void
mnodeReDispatchToWriteQueue
(
SMnMsg
*
pMsg
)
{
if
(
mnodeGetStatus
()
!=
MN_STATUS_READY
||
tsMworker
.
writeQ
==
NULL
)
{
mnodeSendRedirectMsg
(
&
pMsg
->
rpcMsg
,
true
);
mnodeCleanupMsg
(
pMsg
);
mnodeCleanupMsg
2
(
pMsg
);
}
else
{
taosWriteQitem
(
tsMworker
.
writeQ
,
pMsg
);
}
...
...
@@ -101,7 +101,7 @@ static void mnodeDispatchToReadQueue(SRpcMsg *pRpcMsg) {
if
(
mnodeGetStatus
()
!=
MN_STATUS_READY
||
tsMworker
.
readQ
==
NULL
)
{
mnodeSendRedirectMsg
(
pRpcMsg
,
true
);
}
else
{
SMnMsg
*
pMsg
=
mnodeInitMsg
(
pRpcMsg
);
SMnMsg
*
pMsg
=
mnodeInitMsg
2
(
pRpcMsg
);
if
(
pMsg
==
NULL
)
{
SRpcMsg
rpcRsp
=
{.
handle
=
pRpcMsg
->
handle
,
.
code
=
TSDB_CODE_MND_INVALID_USER
};
rpcSendResponse
(
&
rpcRsp
);
...
...
@@ -118,7 +118,7 @@ static void mnodeDispatchToPeerQueue(SRpcMsg *pRpcMsg) {
if
(
mnodeGetStatus
()
!=
MN_STATUS_READY
||
tsMworker
.
peerReqQ
==
NULL
)
{
mnodeSendRedirectMsg
(
pRpcMsg
,
false
);
}
else
{
SMnMsg
*
pMsg
=
mnodeInitMsg
(
pRpcMsg
);
SMnMsg
*
pMsg
=
mnodeInitMsg
2
(
pRpcMsg
);
if
(
pMsg
==
NULL
)
{
SRpcMsg
rpcRsp
=
{.
handle
=
pRpcMsg
->
handle
,
.
code
=
TSDB_CODE_MND_INVALID_USER
};
rpcSendResponse
(
&
rpcRsp
);
...
...
@@ -133,7 +133,7 @@ static void mnodeDispatchToPeerQueue(SRpcMsg *pRpcMsg) {
}
void
mnodeDispatchToPeerRspQueue
(
SRpcMsg
*
pRpcMsg
)
{
SMnMsg
*
pMsg
=
mnodeInitMsg
(
pRpcMsg
);
SMnMsg
*
pMsg
=
mnodeInitMsg
2
(
pRpcMsg
);
if
(
pMsg
==
NULL
)
{
SRpcMsg
rpcRsp
=
{.
handle
=
pRpcMsg
->
handle
,
.
code
=
TSDB_CODE_MND_INVALID_USER
};
rpcSendResponse
(
&
rpcRsp
);
...
...
@@ -162,7 +162,7 @@ void mnodeSendRsp(SMnMsg *pMsg, int32_t code) {
};
rpcSendResponse
(
&
rpcRsp
);
mnodeCleanupMsg
(
pMsg
);
mnodeCleanupMsg
2
(
pMsg
);
}
static
void
mnodeInitMsgFp
()
{
...
...
@@ -405,7 +405,7 @@ static void mnodeProcessPeerRsp(SMnMsg *pMsg, void *unused) {
if
(
!
mnodeIsMaster
())
{
mError
(
"msg:%p, ahandle:%p type:%s not processed for not master"
,
pRpcMsg
,
pRpcMsg
->
ahandle
,
taosMsg
[
msgType
]);
mnodeCleanupMsg
(
pMsg
);
mnodeCleanupMsg
2
(
pMsg
);
}
if
(
tsMworker
.
peerRspFp
[
msgType
])
{
...
...
@@ -414,7 +414,7 @@ static void mnodeProcessPeerRsp(SMnMsg *pMsg, void *unused) {
mError
(
"msg:%p, ahandle:%p type:%s is not processed"
,
pRpcMsg
,
pRpcMsg
->
ahandle
,
taosMsg
[
msgType
]);
}
mnodeCleanupMsg
(
pMsg
);
mnodeCleanupMsg
2
(
pMsg
);
}
int32_t
mnodeInitWorker
()
{
...
...
@@ -486,10 +486,9 @@ void mnodeCleanupWorker() {
mInfo
(
"mnode worker is closed"
);
}
void
mnodeProcessMsg
(
SRpcMsg
*
pMsg
)
{
if
(
tsMworker
.
msgFp
[
pMsg
->
msgType
])
{
(
*
tsMworker
.
msgFp
[
pMsg
->
msgType
])(
pMsg
);
}
else
{
assert
(
0
);
}
}
SMnodeMsg
*
mnodeInitMsg
(
int32_t
msgNum
)
{
return
NULL
;
}
int32_t
mnodeAppendMsg
(
SMnodeMsg
*
pMsg
,
SRpcMsg
*
pRpcMsg
)
{
return
0
;
}
void
mnodeCleanupMsg
(
SMnodeMsg
*
pMsg
)
{}
void
mnodeProcessMsg
(
SMnodeMsg
*
pMsg
,
EMnMsgType
msgType
)
{}
source/dnode/mnode/src/mondeInt.c
浏览文件 @
8248cf3d
...
...
@@ -37,48 +37,42 @@
#include "mnodeTelem.h"
static
struct
{
int32_t
state
;
int32_t
dnodeId
;
int64_t
clusterId
;
tmr_h
timer
;
S
MnodeFp
fp
;
SSteps
*
steps1
;
S
Steps
*
steps2
;
int32_t
state
;
int32_t
dnodeId
;
int64_t
clusterId
;
tmr_h
timer
;
S
Steps
*
steps1
;
SSteps
*
steps2
;
S
MnodePara
para
;
}
tsMint
;
tmr_h
mnodeGetTimer
()
{
return
tsMint
.
timer
;
}
int32_t
mnodeGetDnodeId
()
{
return
tsMint
.
dnodeId
;
}
int32_t
mnodeGetDnodeId
()
{
return
tsMint
.
para
.
dnodeId
;
}
int64_t
mnodeGetClusterId
()
{
return
tsMint
.
clusterId
;
}
int64_t
mnodeGetClusterId
()
{
return
tsMint
.
para
.
clusterId
;
}
EMnStatus
mnodeGetStatus
()
{
return
tsMint
.
state
;
}
void
mnodeSendMsgToDnode
(
struct
SEpSet
*
epSet
,
struct
SRpcMsg
*
rpcMsg
)
{
(
*
tsMint
.
fp
.
SendMsgToDnode
)(
epSet
,
rpcMsg
);
(
*
tsMint
.
para
.
SendMsgToDnode
)(
epSet
,
rpcMsg
);
}
void
mnodeSendMsgToMnode
(
struct
SRpcMsg
*
rpcMsg
)
{
return
(
*
tsMint
.
fp
.
SendMsgToMnode
)(
rpcMsg
);
}
void
mnodeSendMsgToMnode
(
struct
SRpcMsg
*
rpcMsg
)
{
return
(
*
tsMint
.
para
.
SendMsgToMnode
)(
rpcMsg
);
}
void
mnodeSendRedirectMsg
(
struct
SRpcMsg
*
rpcMsg
,
bool
forShell
)
{
(
*
tsMint
.
fp
.
SendRedirectMsg
)(
rpcMsg
,
forShell
);
}
void
mnodeSendRedirectMsg
(
struct
SRpcMsg
*
rpcMsg
,
bool
forShell
)
{
(
*
tsMint
.
para
.
SendRedirectMsg
)(
rpcMsg
,
forShell
);
}
void
mnodeGetDnodeEp
(
int32_t
dnodeId
,
char
*
ep
,
char
*
fqdn
,
uint16_t
*
port
)
{
(
*
tsMint
.
fp
.
GetDnodeEp
)(
dnodeId
,
ep
,
fqdn
,
port
);
}
int32_t
mnodeGetStatistics
(
SMnodeStat
*
stat
)
{
return
0
;
}
int32_t
mnodeGetLoad
(
SMnodeLoad
*
pLoad
)
{
return
0
;
}
static
int32_t
mnodeSetPara
(
SMnodePara
para
)
{
tsMint
.
fp
=
para
.
fp
;
tsMint
.
dnodeId
=
para
.
dnodeId
;
tsMint
.
clusterId
=
para
.
clusterId
;
tsMint
.
para
=
para
;
if
(
tsMint
.
fp
.
SendMsgToDnode
==
NULL
)
return
-
1
;
if
(
tsMint
.
fp
.
SendMsgToMnode
==
NULL
)
return
-
1
;
if
(
tsMint
.
fp
.
SendRedirectMsg
==
NULL
)
return
-
1
;
if
(
tsMint
.
fp
.
GetDnodeEp
==
NULL
)
return
-
1
;
if
(
tsMint
.
dnodeId
<
0
)
return
-
1
;
if
(
tsMint
.
clusterId
<
0
)
return
-
1
;
if
(
tsMint
.
para
.
SendMsgToDnode
==
NULL
)
return
-
1
;
if
(
tsMint
.
para
.
SendMsgToMnode
==
NULL
)
return
-
1
;
if
(
tsMint
.
para
.
SendRedirectMsg
==
NULL
)
return
-
1
;
if
(
tsMint
.
para
.
PutMsgIntoApplyQueue
==
NULL
)
return
-
1
;
if
(
tsMint
.
para
.
dnodeId
<
0
)
return
-
1
;
if
(
tsMint
.
para
.
clusterId
<
0
)
return
-
1
;
return
0
;
}
...
...
@@ -142,13 +136,13 @@ static void mnodeCleanupStep1() { taosStepCleanup(tsMint.steps1); }
static
void
mnodeCleanupStep2
()
{
taosStepCleanup
(
tsMint
.
steps2
);
}
static
bool
mnodeNeedDeploy
()
{
if
(
tsMint
.
dnodeId
>
0
)
return
false
;
if
(
tsMint
.
clusterId
>
0
)
return
false
;
if
(
tsMint
.
para
.
dnodeId
>
0
)
return
false
;
if
(
tsMint
.
para
.
clusterId
>
0
)
return
false
;
if
(
strcmp
(
tsFirst
,
tsLocalEp
)
!=
0
)
return
false
;
return
true
;
}
int32_t
mnodeDeploy
()
{
int32_t
mnodeDeploy
(
char
*
path
,
SMnodeCfg
*
pCfg
)
{
if
(
tsMint
.
state
!=
MN_STATUS_UNINIT
)
{
mError
(
"failed to deploy mnode since its deployed"
);
return
0
;
...
...
@@ -156,7 +150,7 @@ int32_t mnodeDeploy() {
tsMint
.
state
=
MN_STATUS_INIT
;
}
if
(
tsMint
.
dnodeId
<=
0
||
tsMint
.
clusterId
<=
0
)
{
if
(
tsMint
.
para
.
dnodeId
<=
0
||
tsMint
.
para
.
clusterId
<=
0
)
{
mError
(
"failed to deploy mnode since cluster not ready"
);
return
TSDB_CODE_MND_NOT_READY
;
}
...
...
@@ -183,7 +177,7 @@ int32_t mnodeDeploy() {
return
0
;
}
void
mnodeUnDeploy
()
{
void
mnodeUnDeploy
(
char
*
path
)
{
sdbUnDeploy
();
mnodeCleanup
();
}
...
...
@@ -251,5 +245,6 @@ void mnodeCleanup() {
}
}
int32_t
mnodeStart
()
{
return
0
;
}
int32_t
mnodeStart
(
char
*
path
,
SMnodeCfg
*
pCfg
)
{
return
0
;
}
int32_t
mnodeAlter
(
SMnodeCfg
*
pCfg
)
{
return
0
;
}
void
mnodeStop
()
{}
\ No newline at end of file
source/util/src/terror.c
浏览文件 @
8248cf3d
...
...
@@ -228,14 +228,18 @@ TAOS_DEFINE_ERROR(TSDB_CODE_MND_TOPIC_ALREADY_EXIST, "Topic already exists"
// dnode
TAOS_DEFINE_ERROR
(
TSDB_CODE_DND_MSG_NOT_PROCESSED
,
"Message not processed"
)
TAOS_DEFINE_ERROR
(
TSDB_CODE_DND_OUT_OF_MEMORY
,
"Dnode out of memory"
)
TAOS_DEFINE_ERROR
(
TSDB_CODE_DND_DNODE_ID_NOT_MATCHED
,
"Dnode Id not matched"
)
TAOS_DEFINE_ERROR
(
TSDB_CODE_DND_MNODE_ALREADY_DROPPED
,
"Mnode already deployed"
)
TAOS_DEFINE_ERROR
(
TSDB_CODE_DND_MNODE_ID_NOT_MATCH_DNODE
,
"Mnode Id not match Dnode"
)
TAOS_DEFINE_ERROR
(
TSDB_CODE_DND_MNODE_ALREADY_DEPLOYED
,
"Mnode already deployed"
)
TAOS_DEFINE_ERROR
(
TSDB_CODE_DND_MNODE_NOT_DEPLOYED
,
"Mnode not deployed"
)
TAOS_DEFINE_ERROR
(
TSDB_CODE_DND_READ_MNODE_FILE_ERROR
,
"Read mnode.json error"
)
TAOS_DEFINE_ERROR
(
TSDB_CODE_DND_WRITE_MNODE_FILE_ERROR
,
"Write mnode.json error"
)
TAOS_DEFINE_ERROR
(
TSDB_CODE_DND_NO_WRITE_ACCESS
,
"No permission for disk files in dnode"
)
TAOS_DEFINE_ERROR
(
TSDB_CODE_DND_INVALID_MSG_LEN
,
"Invalid message length"
)
TAOS_DEFINE_ERROR
(
TSDB_CODE_DND_ACTION_IN_PROGRESS
,
"Action in progress"
)
TAOS_DEFINE_ERROR
(
TSDB_CODE_DND_TOO_MANY_VNODES
,
"Too many vnode directories"
)
TAOS_DEFINE_ERROR
(
TSDB_CODE_DND_EXITING
,
"Dnode is exiting"
)
TAOS_DEFINE_ERROR
(
TSDB_CODE_DND_PARSE_VNODE_FILE_ERROR
,
"Parse vnodes.json error"
)
TAOS_DEFINE_ERROR
(
TSDB_CODE_DND_PARSE_DNODE_FILE_ERROR
,
"Parse dnodes.json error"
)
// vnode
TAOS_DEFINE_ERROR
(
TSDB_CODE_VND_ACTION_IN_PROGRESS
,
"Action in progress"
)
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录