Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
taosdata
TDengine
提交
3663c644
T
TDengine
项目概览
taosdata
/
TDengine
大约 2 年 前同步成功
通知
1193
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看板
提交
3663c644
编写于
4月 13, 2022
作者:
S
Shengliang Guan
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
refact(cluster): node mgmt
上级
8522c27c
变更
15
显示空白变更内容
内联
并排
Showing
15 changed file
with
73 addition
and
84 deletion
+73
-84
include/dnode/mnode/mnode.h
include/dnode/mnode/mnode.h
+1
-0
source/dnode/mgmt/implement/inc/dmImp.h
source/dnode/mgmt/implement/inc/dmImp.h
+1
-0
source/dnode/mgmt/implement/src/dmExec.c
source/dnode/mgmt/implement/src/dmExec.c
+5
-5
source/dnode/mgmt/implement/src/dmObj.c
source/dnode/mgmt/implement/src/dmObj.c
+11
-11
source/dnode/mgmt/implement/src/dmTransport.c
source/dnode/mgmt/implement/src/dmTransport.c
+11
-9
source/dnode/mgmt/interface/inc/dmInt.h
source/dnode/mgmt/interface/inc/dmInt.h
+2
-3
source/dnode/mgmt/interface/src/dmFile.c
source/dnode/mgmt/interface/src/dmFile.c
+27
-43
source/dnode/mgmt/interface/src/dmInt.c
source/dnode/mgmt/interface/src/dmInt.c
+0
-6
source/dnode/mgmt/mgmt_bnode/src/bmInt.c
source/dnode/mgmt/mgmt_bnode/src/bmInt.c
+1
-1
source/dnode/mgmt/mgmt_mnode/src/mmInt.c
source/dnode/mgmt/mgmt_mnode/src/mmInt.c
+8
-1
source/dnode/mgmt/mgmt_qnode/src/qmInt.c
source/dnode/mgmt/mgmt_qnode/src/qmInt.c
+1
-1
source/dnode/mgmt/mgmt_snode/src/smInt.c
source/dnode/mgmt/mgmt_snode/src/smInt.c
+1
-1
source/dnode/mgmt/mgmt_vnode/src/vmHandle.c
source/dnode/mgmt/mgmt_vnode/src/vmHandle.c
+1
-1
source/dnode/mgmt/mgmt_vnode/src/vmInt.c
source/dnode/mgmt/mgmt_vnode/src/vmInt.c
+1
-1
source/dnode/mnode/impl/src/mnode.c
source/dnode/mnode/impl/src/mnode.c
+2
-1
未找到文件。
include/dnode/mnode/mnode.h
浏览文件 @
3663c644
...
@@ -68,6 +68,7 @@ int32_t mndAlter(SMnode *pMnode, const SMnodeOpt *pOption);
...
@@ -68,6 +68,7 @@ int32_t mndAlter(SMnode *pMnode, const SMnodeOpt *pOption);
* @param pMnode The mnode object.
* @param pMnode The mnode object.
*/
*/
int32_t
mndStart
(
SMnode
*
pMnode
);
int32_t
mndStart
(
SMnode
*
pMnode
);
void
mndStop
(
SMnode
*
pMnode
);
/**
/**
* @brief Get mnode monitor info.
* @brief Get mnode monitor info.
...
...
source/dnode/mgmt/implement/inc/dmImp.h
浏览文件 @
3663c644
...
@@ -29,6 +29,7 @@ void dmCloseNode(SMgmtWrapper *pWrapper);
...
@@ -29,6 +29,7 @@ void dmCloseNode(SMgmtWrapper *pWrapper);
int32_t
dmInitTrans
(
SDnode
*
pDnode
);
int32_t
dmInitTrans
(
SDnode
*
pDnode
);
void
dmCleanupTrans
(
SDnode
*
pDnode
);
void
dmCleanupTrans
(
SDnode
*
pDnode
);
SProcCfg
dmGenProcCfg
(
SMgmtWrapper
*
pWrapper
);
SProcCfg
dmGenProcCfg
(
SMgmtWrapper
*
pWrapper
);
SMsgCb
dmGetMsgcb
(
SMgmtWrapper
*
pWrapper
);
int32_t
dmInitMsgHandle
(
SDnode
*
pDnode
);
int32_t
dmInitMsgHandle
(
SDnode
*
pDnode
);
void
dmSendRecv
(
SDnode
*
pDnode
,
SEpSet
*
pEpSet
,
SRpcMsg
*
pReq
,
SRpcMsg
*
pRsp
);
void
dmSendRecv
(
SDnode
*
pDnode
,
SEpSet
*
pEpSet
,
SRpcMsg
*
pReq
,
SRpcMsg
*
pRsp
);
void
dmSendToMnodeRecv
(
SDnode
*
pDnode
,
SRpcMsg
*
pReq
,
SRpcMsg
*
pRsp
);
void
dmSendToMnodeRecv
(
SDnode
*
pDnode
,
SRpcMsg
*
pReq
,
SRpcMsg
*
pRsp
);
...
...
source/dnode/mgmt/implement/src/dmExec.c
浏览文件 @
3663c644
...
@@ -124,7 +124,7 @@ int32_t dmOpenNode(SMgmtWrapper *pWrapper) {
...
@@ -124,7 +124,7 @@ int32_t dmOpenNode(SMgmtWrapper *pWrapper) {
return
dmOpenNodeImp
(
pWrapper
);
return
dmOpenNodeImp
(
pWrapper
);
}
else
if
(
pDnode
->
ptype
==
DND_PROC_PARENT
)
{
}
else
if
(
pDnode
->
ptype
==
DND_PROC_PARENT
)
{
if
(
dmInitNodeProc
(
pWrapper
)
!=
0
)
return
-
1
;
if
(
dmInitNodeProc
(
pWrapper
)
!=
0
)
return
-
1
;
if
(
dmWriteShmFile
(
p
Dnode
)
!=
0
)
return
-
1
;
if
(
dmWriteShmFile
(
p
Wrapper
)
!=
0
)
return
-
1
;
if
(
dmRunNodeProc
(
pWrapper
)
!=
0
)
return
-
1
;
if
(
dmRunNodeProc
(
pWrapper
)
!=
0
)
return
-
1
;
}
}
return
0
;
return
0
;
...
@@ -226,12 +226,12 @@ static int32_t dmRunInParentProcess(SDnode *pDnode) {
...
@@ -226,12 +226,12 @@ static int32_t dmRunInParentProcess(SDnode *pDnode) {
pWrapper
->
required
=
dmRequireNode
(
pWrapper
);
pWrapper
->
required
=
dmRequireNode
(
pWrapper
);
if
(
!
pWrapper
->
required
)
continue
;
if
(
!
pWrapper
->
required
)
continue
;
if
(
dmInitNodeProc
(
pWrapper
)
!=
0
)
return
-
1
;
if
(
dmInitNodeProc
(
pWrapper
)
!=
0
)
return
-
1
;
}
if
(
dmWriteShmFile
(
pDnode
)
!=
0
)
{
if
(
dmWriteShmFile
(
pWrapper
)
!=
0
)
{
dError
(
"failed to write runtime file since %s"
,
terrstr
());
dError
(
"failed to write runtime file since %s"
,
terrstr
());
return
-
1
;
return
-
1
;
}
}
}
for
(
EDndNodeType
n
=
DNODE
+
1
;
n
<
NODE_END
;
++
n
)
{
for
(
EDndNodeType
n
=
DNODE
+
1
;
n
<
NODE_END
;
++
n
)
{
SMgmtWrapper
*
pWrapper
=
&
pDnode
->
wrappers
[
n
];
SMgmtWrapper
*
pWrapper
=
&
pDnode
->
wrappers
[
n
];
...
...
source/dnode/mgmt/implement/src/dmObj.c
浏览文件 @
3663c644
...
@@ -72,7 +72,7 @@ static void dmClearVars(SDnode *pDnode) {
...
@@ -72,7 +72,7 @@ static void dmClearVars(SDnode *pDnode) {
}
}
SDnode
*
dmCreate
(
const
SDnodeOpt
*
pOption
)
{
SDnode
*
dmCreate
(
const
SDnodeOpt
*
pOption
)
{
dDebug
(
"start to create dnode
object
"
);
dDebug
(
"start to create dnode"
);
int32_t
code
=
-
1
;
int32_t
code
=
-
1
;
char
path
[
PATH_MAX
]
=
{
0
};
char
path
[
PATH_MAX
]
=
{
0
};
SDnode
*
pDnode
=
NULL
;
SDnode
*
pDnode
=
NULL
;
...
@@ -96,20 +96,25 @@ SDnode *dmCreate(const SDnodeOpt *pOption) {
...
@@ -96,20 +96,25 @@ SDnode *dmCreate(const SDnodeOpt *pOption) {
smSetMgmtFp
(
&
pDnode
->
wrappers
[
SNODE
]);
smSetMgmtFp
(
&
pDnode
->
wrappers
[
SNODE
]);
bmSetMgmtFp
(
&
pDnode
->
wrappers
[
BNODE
]);
bmSetMgmtFp
(
&
pDnode
->
wrappers
[
BNODE
]);
for
(
EDndNodeType
n
=
0
;
n
<
NODE_END
;
++
n
)
{
for
(
EDndNodeType
n
=
DNODE
;
n
<
NODE_END
;
++
n
)
{
SMgmtWrapper
*
pWrapper
=
&
pDnode
->
wrappers
[
n
];
SMgmtWrapper
*
pWrapper
=
&
pDnode
->
wrappers
[
n
];
snprintf
(
path
,
sizeof
(
path
),
"%s%s%s"
,
pDnode
->
data
.
dataDir
,
TD_DIRSEP
,
pWrapper
->
name
);
snprintf
(
path
,
sizeof
(
path
),
"%s%s%s"
,
pDnode
->
data
.
dataDir
,
TD_DIRSEP
,
pWrapper
->
name
);
pWrapper
->
path
=
strdup
(
path
);
pWrapper
->
path
=
strdup
(
path
);
pWrapper
->
procShm
.
id
=
-
1
;
pWrapper
->
procShm
.
id
=
-
1
;
pWrapper
->
pDnode
=
pDnode
;
pWrapper
->
pDnode
=
pDnode
;
pWrapper
->
ntype
=
n
;
pWrapper
->
ntype
=
n
;
pWrapper
->
procType
=
DND_PROC_SINGLE
;
taosInitRWLatch
(
&
pWrapper
->
latch
);
if
(
pWrapper
->
path
==
NULL
)
{
if
(
pWrapper
->
path
==
NULL
)
{
terrno
=
TSDB_CODE_OUT_OF_MEMORY
;
terrno
=
TSDB_CODE_OUT_OF_MEMORY
;
goto
_OVER
;
goto
_OVER
;
}
}
pWrapper
->
procType
=
DND_PROC_SINGLE
;
if
(
n
!=
DNODE
&&
dmReadShmFile
(
pWrapper
)
!=
0
)
{
taosInitRWLatch
(
&
pWrapper
->
latch
);
dError
(
"node:%s, failed to read shm file since %s"
,
pWrapper
->
name
,
terrstr
());
goto
_OVER
;
}
}
}
if
(
dmInitMsgHandle
(
pDnode
)
!=
0
)
{
if
(
dmInitMsgHandle
(
pDnode
)
!=
0
)
{
...
@@ -117,13 +122,8 @@ SDnode *dmCreate(const SDnodeOpt *pOption) {
...
@@ -117,13 +122,8 @@ SDnode *dmCreate(const SDnodeOpt *pOption) {
goto
_OVER
;
goto
_OVER
;
}
}
if
(
dmReadShmFile
(
pDnode
)
!=
0
)
{
pDnode
->
data
.
msgCb
=
dmGetMsgcb
(
&
pDnode
->
wrappers
[
DNODE
]);
dError
(
"failed to read shm file since %s"
,
terrstr
());
tmsgSetDefaultMsgCb
(
&
pDnode
->
data
.
msgCb
);
goto
_OVER
;
}
SMsgCb
msgCb
=
dmGetMsgcb
(
&
pDnode
->
wrappers
[
0
]);
tmsgSetDefaultMsgCb
(
&
msgCb
);
dInfo
(
"dnode is created, data:%p"
,
pDnode
);
dInfo
(
"dnode is created, data:%p"
,
pDnode
);
code
=
0
;
code
=
0
;
...
...
source/dnode/mgmt/implement/src/dmTransport.c
浏览文件 @
3663c644
...
@@ -503,19 +503,21 @@ static void dmCleanupServer(SDnode *pDnode) {
...
@@ -503,19 +503,21 @@ static void dmCleanupServer(SDnode *pDnode) {
int32_t
dmInitTrans
(
SDnode
*
pDnode
)
{
int32_t
dmInitTrans
(
SDnode
*
pDnode
)
{
if
(
dmInitServer
(
pDnode
)
!=
0
)
return
-
1
;
if
(
dmInitServer
(
pDnode
)
!=
0
)
return
-
1
;
if
(
dmInitClient
(
pDnode
)
!=
0
)
return
-
1
;
if
(
dmInitClient
(
pDnode
)
!=
0
)
return
-
1
;
return
0
;
}
void
dmCleanupTrans
(
SDnode
*
pDnode
)
{
dmCleanupServer
(
pDnode
);
dmCleanupClient
(
pDnode
);
}
SMsgCb
dmGetMsgcb
(
SMgmtWrapper
*
pWrapper
)
{
SMsgCb
msgCb
=
{
SMsgCb
msgCb
=
{
.
sendReqFp
=
dmSendReq
,
.
sendReqFp
=
dmSendReq
,
.
sendRspFp
=
dmSendRsp
,
.
sendRspFp
=
dmSendRsp
,
.
registerBrokenLinkArgFp
=
dmRegisterBrokenLinkArg
,
.
registerBrokenLinkArgFp
=
dmRegisterBrokenLinkArg
,
.
releaseHandleFp
=
dmReleaseHandle
,
.
releaseHandleFp
=
dmReleaseHandle
,
.
pWrapper
=
pWrapper
,
};
};
pDnode
->
data
.
msgCb
=
msgCb
;
return
msgCb
;
return
0
;
}
void
dmCleanupTrans
(
SDnode
*
pDnode
)
{
dmCleanupServer
(
pDnode
);
dmCleanupClient
(
pDnode
);
}
}
\ No newline at end of file
source/dnode/mgmt/interface/inc/dmInt.h
浏览文件 @
3663c644
...
@@ -37,14 +37,13 @@ void dmSetMsgHandle(SMgmtWrapper *pWrapper, tmsg_t msgType, NodeMsgFp nodeMsgF
...
@@ -37,14 +37,13 @@ void dmSetMsgHandle(SMgmtWrapper *pWrapper, tmsg_t msgType, NodeMsgFp nodeMsgF
void
dmReportStartup
(
SDnode
*
pDnode
,
const
char
*
pName
,
const
char
*
pDesc
);
void
dmReportStartup
(
SDnode
*
pDnode
,
const
char
*
pName
,
const
char
*
pDesc
);
void
dmProcessStartupReq
(
SDnode
*
pDnode
,
SRpcMsg
*
pMsg
);
void
dmProcessStartupReq
(
SDnode
*
pDnode
,
SRpcMsg
*
pMsg
);
void
dmGetMonitorSysInfo
(
SMonSysInfo
*
pInfo
);
void
dmGetMonitorSysInfo
(
SMonSysInfo
*
pInfo
);
SMsgCb
dmGetMsgcb
(
SMgmtWrapper
*
pWrapper
);
// dmFile.c
// dmFile.c
int32_t
dmReadFile
(
SMgmtWrapper
*
pWrapper
,
bool
*
pDeployed
);
int32_t
dmReadFile
(
SMgmtWrapper
*
pWrapper
,
bool
*
pDeployed
);
int32_t
dmWriteFile
(
SMgmtWrapper
*
pWrapper
,
bool
deployed
);
int32_t
dmWriteFile
(
SMgmtWrapper
*
pWrapper
,
bool
deployed
);
TdFilePtr
dmCheckRunning
(
const
char
*
dataDir
);
TdFilePtr
dmCheckRunning
(
const
char
*
dataDir
);
int32_t
dmReadShmFile
(
S
Dnode
*
pDnode
);
int32_t
dmReadShmFile
(
S
MgmtWrapper
*
pWrapper
);
int32_t
dmWriteShmFile
(
S
Dnode
*
pDnode
);
int32_t
dmWriteShmFile
(
S
MgmtWrapper
*
pWrapper
);
#ifdef __cplusplus
#ifdef __cplusplus
}
}
...
...
source/dnode/mgmt/interface/src/dmFile.c
浏览文件 @
3663c644
...
@@ -140,18 +140,17 @@ TdFilePtr dmCheckRunning(const char *dataDir) {
...
@@ -140,18 +140,17 @@ TdFilePtr dmCheckRunning(const char *dataDir) {
return
pFile
;
return
pFile
;
}
}
int32_t
dmReadShmFile
(
S
Dnode
*
pDnode
)
{
int32_t
dmReadShmFile
(
S
MgmtWrapper
*
pWrapper
)
{
int32_t
code
=
-
1
;
int32_t
code
=
-
1
;
char
itemName
[
24
]
=
{
0
};
char
content
[
MAXLEN
+
1
]
=
{
0
};
char
content
[
MAXLEN
+
1
]
=
{
0
};
char
file
[
PATH_MAX
]
=
{
0
};
char
file
[
PATH_MAX
]
=
{
0
};
cJSON
*
root
=
NULL
;
cJSON
*
root
=
NULL
;
TdFilePtr
pFile
=
NULL
;
TdFilePtr
pFile
=
NULL
;
snprintf
(
file
,
sizeof
(
file
),
"%s%s
.shmfile"
,
pDnode
->
data
.
dataDir
,
TD_DIRSEP
);
snprintf
(
file
,
sizeof
(
file
),
"%s%s
shmfile"
,
pWrapper
->
path
,
TD_DIRSEP
);
pFile
=
taosOpenFile
(
file
,
TD_FILE_READ
);
pFile
=
taosOpenFile
(
file
,
TD_FILE_READ
);
if
(
pFile
==
NULL
)
{
if
(
pFile
==
NULL
)
{
dDebug
(
"
file %s not exist"
,
file
);
dDebug
(
"
node:%s, file %s not exist"
,
pWrapper
->
name
,
file
);
code
=
0
;
code
=
0
;
goto
_OVER
;
goto
_OVER
;
}
}
...
@@ -160,35 +159,27 @@ int32_t dmReadShmFile(SDnode *pDnode) {
...
@@ -160,35 +159,27 @@ int32_t dmReadShmFile(SDnode *pDnode) {
root
=
cJSON_Parse
(
content
);
root
=
cJSON_Parse
(
content
);
if
(
root
==
NULL
)
{
if
(
root
==
NULL
)
{
terrno
=
TSDB_CODE_INVALID_JSON_FORMAT
;
terrno
=
TSDB_CODE_INVALID_JSON_FORMAT
;
dError
(
"
failed to read %s since invalid json format"
,
file
);
dError
(
"
node:%s, failed to read %s since invalid json format"
,
pWrapper
->
name
,
file
);
goto
_OVER
;
goto
_OVER
;
}
}
for
(
EDndNodeType
ntype
=
DNODE
+
1
;
ntype
<
NODE_END
;
++
ntype
)
{
cJSON
*
shmid
=
cJSON_GetObjectItem
(
root
,
"shmid"
);
snprintf
(
itemName
,
sizeof
(
itemName
),
"%s_shmid"
,
dmProcName
(
ntype
));
cJSON
*
shmid
=
cJSON_GetObjectItem
(
root
,
itemName
);
if
(
shmid
&&
shmid
->
type
==
cJSON_Number
)
{
if
(
shmid
&&
shmid
->
type
==
cJSON_Number
)
{
pDnode
->
wrappers
[
ntype
].
procShm
.
id
=
shmid
->
valueint
;
pWrapper
->
procShm
.
id
=
shmid
->
valueint
;
}
}
snprintf
(
itemName
,
sizeof
(
itemName
),
"%s_shmsize"
,
dmProcName
(
ntype
));
cJSON
*
shmsize
=
cJSON_GetObjectItem
(
root
,
"shmsize"
);
cJSON
*
shmsize
=
cJSON_GetObjectItem
(
root
,
itemName
);
if
(
shmsize
&&
shmsize
->
type
==
cJSON_Number
)
{
if
(
shmsize
&&
shmsize
->
type
==
cJSON_Number
)
{
pDnode
->
wrappers
[
ntype
].
procShm
.
size
=
shmsize
->
valueint
;
pWrapper
->
procShm
.
size
=
shmsize
->
valueint
;
}
}
}
}
}
if
(
!
tsMultiProcess
||
pDnode
->
ntype
==
DNODE
||
pDnode
->
ntype
==
NODE_END
)
{
if
(
!
tsMultiProcess
||
pWrapper
->
pDnode
->
ntype
==
DNODE
||
pWrapper
->
pDnode
->
ntype
==
NODE_END
)
{
for
(
EDndNodeType
ntype
=
DNODE
;
ntype
<
NODE_END
;
++
ntype
)
{
SMgmtWrapper
*
pWrapper
=
&
pDnode
->
wrappers
[
ntype
];
if
(
pWrapper
->
procShm
.
id
>=
0
)
{
if
(
pWrapper
->
procShm
.
id
>=
0
)
{
dDebug
(
"shmid:%d, is closed, size:%d"
,
pWrapper
->
procShm
.
id
,
pWrapper
->
procShm
.
size
);
dDebug
(
"node:%s, shmid:%d, is closed, size:%d"
,
pWrapper
->
name
,
pWrapper
->
procShm
.
id
,
pWrapper
->
procShm
.
size
);
taosDropShm
(
&
pWrapper
->
procShm
);
taosDropShm
(
&
pWrapper
->
procShm
);
}
}
}
}
else
{
}
else
{
SMgmtWrapper
*
pWrapper
=
&
pDnode
->
wrappers
[
pDnode
->
ntype
];
if
(
taosAttachShm
(
&
pWrapper
->
procShm
)
!=
0
)
{
if
(
taosAttachShm
(
&
pWrapper
->
procShm
)
!=
0
)
{
terrno
=
TAOS_SYSTEM_ERROR
(
errno
);
terrno
=
TAOS_SYSTEM_ERROR
(
errno
);
dError
(
"shmid:%d, failed to attach shm since %s"
,
pWrapper
->
procShm
.
id
,
terrstr
());
dError
(
"shmid:%d, failed to attach shm since %s"
,
pWrapper
->
procShm
.
id
,
terrstr
());
...
@@ -197,7 +188,7 @@ int32_t dmReadShmFile(SDnode *pDnode) {
...
@@ -197,7 +188,7 @@ int32_t dmReadShmFile(SDnode *pDnode) {
dInfo
(
"node:%s, shmid:%d is attached, size:%d"
,
pWrapper
->
name
,
pWrapper
->
procShm
.
id
,
pWrapper
->
procShm
.
size
);
dInfo
(
"node:%s, shmid:%d is attached, size:%d"
,
pWrapper
->
name
,
pWrapper
->
procShm
.
id
,
pWrapper
->
procShm
.
size
);
}
}
dDebug
(
"
successed to load %s"
,
file
);
dDebug
(
"
node:%s, successed to load %s"
,
pWrapper
->
name
,
file
);
code
=
0
;
code
=
0
;
_OVER:
_OVER:
...
@@ -207,7 +198,7 @@ _OVER:
...
@@ -207,7 +198,7 @@ _OVER:
return
code
;
return
code
;
}
}
int32_t
dmWriteShmFile
(
S
Dnode
*
pDnode
)
{
int32_t
dmWriteShmFile
(
S
MgmtWrapper
*
pWrapper
)
{
int32_t
code
=
-
1
;
int32_t
code
=
-
1
;
int32_t
len
=
0
;
int32_t
len
=
0
;
char
content
[
MAXLEN
+
1
]
=
{
0
};
char
content
[
MAXLEN
+
1
]
=
{
0
};
...
@@ -215,37 +206,30 @@ int32_t dmWriteShmFile(SDnode *pDnode) {
...
@@ -215,37 +206,30 @@ int32_t dmWriteShmFile(SDnode *pDnode) {
char
realfile
[
PATH_MAX
]
=
{
0
};
char
realfile
[
PATH_MAX
]
=
{
0
};
TdFilePtr
pFile
=
NULL
;
TdFilePtr
pFile
=
NULL
;
snprintf
(
file
,
sizeof
(
file
),
"%s%s
.shmfile.bak"
,
pDnode
->
data
.
dataDir
,
TD_DIRSEP
);
snprintf
(
file
,
sizeof
(
file
),
"%s%s
shmfile.bak"
,
pWrapper
->
path
,
TD_DIRSEP
);
snprintf
(
realfile
,
sizeof
(
realfile
),
"%s%s
.shmfile"
,
pDnode
->
data
.
dataDir
,
TD_DIRSEP
);
snprintf
(
realfile
,
sizeof
(
realfile
),
"%s%s
shmfile"
,
pWrapper
->
path
,
TD_DIRSEP
);
pFile
=
taosOpenFile
(
file
,
TD_FILE_CREATE
|
TD_FILE_WRITE
|
TD_FILE_TRUNC
);
pFile
=
taosOpenFile
(
file
,
TD_FILE_CREATE
|
TD_FILE_WRITE
|
TD_FILE_TRUNC
);
if
(
pFile
==
NULL
)
{
if
(
pFile
==
NULL
)
{
terrno
=
TAOS_SYSTEM_ERROR
(
errno
);
terrno
=
TAOS_SYSTEM_ERROR
(
errno
);
dError
(
"
failed to open file:%s since %s"
,
file
,
terrstr
());
dError
(
"
node:%s, failed to open file:%s since %s"
,
pWrapper
->
name
,
file
,
terrstr
());
goto
_OVER
;
goto
_OVER
;
}
}
len
+=
snprintf
(
content
+
len
,
MAXLEN
-
len
,
"{
\n
"
);
len
+=
snprintf
(
content
+
len
,
MAXLEN
-
len
,
"{
\n
"
);
for
(
EDndNodeType
ntype
=
DNODE
+
1
;
ntype
<
NODE_END
;
++
ntype
)
{
len
+=
snprintf
(
content
+
len
,
MAXLEN
-
len
,
"
\"
shmid
\"
:%d,
\n
"
,
pWrapper
->
procShm
.
id
);
SMgmtWrapper
*
pWrapper
=
&
pDnode
->
wrappers
[
ntype
];
len
+=
snprintf
(
content
+
len
,
MAXLEN
-
len
,
"
\"
shmsize
\"
:%d
\n
"
,
pWrapper
->
procShm
.
size
);
len
+=
snprintf
(
content
+
len
,
MAXLEN
-
len
,
"
\"
%s_shmid
\"
:%d,
\n
"
,
dmProcName
(
ntype
),
pWrapper
->
procShm
.
id
);
if
(
ntype
==
NODE_END
-
1
)
{
len
+=
snprintf
(
content
+
len
,
MAXLEN
-
len
,
"
\"
%s_shmsize
\"
:%d
\n
"
,
dmProcName
(
ntype
),
pWrapper
->
procShm
.
size
);
}
else
{
len
+=
snprintf
(
content
+
len
,
MAXLEN
-
len
,
"
\"
%s_shmsize
\"
:%d,
\n
"
,
dmProcName
(
ntype
),
pWrapper
->
procShm
.
size
);
}
}
len
+=
snprintf
(
content
+
len
,
MAXLEN
-
len
,
"}
\n
"
);
len
+=
snprintf
(
content
+
len
,
MAXLEN
-
len
,
"}
\n
"
);
if
(
taosWriteFile
(
pFile
,
content
,
len
)
!=
len
)
{
if
(
taosWriteFile
(
pFile
,
content
,
len
)
!=
len
)
{
terrno
=
TAOS_SYSTEM_ERROR
(
errno
);
terrno
=
TAOS_SYSTEM_ERROR
(
errno
);
dError
(
"
failed to write file:%s since %s"
,
file
,
terrstr
());
dError
(
"
node:%s, failed to write file:%s since %s"
,
pWrapper
->
name
,
file
,
terrstr
());
goto
_OVER
;
goto
_OVER
;
}
}
if
(
taosFsyncFile
(
pFile
)
!=
0
)
{
if
(
taosFsyncFile
(
pFile
)
!=
0
)
{
terrno
=
TAOS_SYSTEM_ERROR
(
errno
);
terrno
=
TAOS_SYSTEM_ERROR
(
errno
);
dError
(
"
failed to fsync file:%s since %s"
,
file
,
terrstr
());
dError
(
"
node:%s, failed to fsync file:%s since %s"
,
pWrapper
->
name
,
file
,
terrstr
());
goto
_OVER
;
goto
_OVER
;
}
}
...
@@ -253,11 +237,11 @@ int32_t dmWriteShmFile(SDnode *pDnode) {
...
@@ -253,11 +237,11 @@ int32_t dmWriteShmFile(SDnode *pDnode) {
if
(
taosRenameFile
(
file
,
realfile
)
!=
0
)
{
if
(
taosRenameFile
(
file
,
realfile
)
!=
0
)
{
terrno
=
TAOS_SYSTEM_ERROR
(
errno
);
terrno
=
TAOS_SYSTEM_ERROR
(
errno
);
dError
(
"
failed to rename %s to %s since %s"
,
file
,
realfile
,
terrstr
());
dError
(
"
node:%s, failed to rename %s to %s since %s"
,
pWrapper
->
name
,
file
,
realfile
,
terrstr
());
return
-
1
;
return
-
1
;
}
}
dInfo
(
"
successed to write %s"
,
realfile
);
dInfo
(
"
node:%s, successed to write %s"
,
pWrapper
->
name
,
realfile
);
code
=
0
;
code
=
0
;
_OVER:
_OVER:
...
...
source/dnode/mgmt/interface/src/dmInt.c
浏览文件 @
3663c644
...
@@ -171,9 +171,3 @@ void dmGetMonitorSysInfo(SMonSysInfo *pInfo) {
...
@@ -171,9 +171,3 @@ void dmGetMonitorSysInfo(SMonSysInfo *pInfo) {
taosGetCardInfoDelta
(
&
pInfo
->
net_in
,
&
pInfo
->
net_out
);
taosGetCardInfoDelta
(
&
pInfo
->
net_in
,
&
pInfo
->
net_out
);
taosGetProcIODelta
(
&
pInfo
->
io_read
,
&
pInfo
->
io_write
,
&
pInfo
->
io_read_disk
,
&
pInfo
->
io_write_disk
);
taosGetProcIODelta
(
&
pInfo
->
io_read
,
&
pInfo
->
io_write
,
&
pInfo
->
io_read_disk
,
&
pInfo
->
io_write_disk
);
}
}
SMsgCb
dmGetMsgcb
(
SMgmtWrapper
*
pWrapper
)
{
SMsgCb
msgCb
=
pWrapper
->
pDnode
->
data
.
msgCb
;
msgCb
.
pWrapper
=
pWrapper
;
return
msgCb
;
}
\ No newline at end of file
source/dnode/mgmt/mgmt_bnode/src/bmInt.c
浏览文件 @
3663c644
...
@@ -19,7 +19,7 @@
...
@@ -19,7 +19,7 @@
static
int32_t
bmRequire
(
SMgmtWrapper
*
pWrapper
,
bool
*
required
)
{
return
dmReadFile
(
pWrapper
,
required
);
}
static
int32_t
bmRequire
(
SMgmtWrapper
*
pWrapper
,
bool
*
required
)
{
return
dmReadFile
(
pWrapper
,
required
);
}
static
void
bmInitOption
(
SBnodeMgmt
*
pMgmt
,
SBnodeOpt
*
pOption
)
{
static
void
bmInitOption
(
SBnodeMgmt
*
pMgmt
,
SBnodeOpt
*
pOption
)
{
SMsgCb
msgCb
=
dmGetMsgcb
(
pMgmt
->
pWrapper
)
;
SMsgCb
msgCb
=
pMgmt
->
pDnode
->
data
.
msgCb
;
;
pOption
->
msgCb
=
msgCb
;
pOption
->
msgCb
=
msgCb
;
}
}
...
...
source/dnode/mgmt/mgmt_mnode/src/mmInt.c
浏览文件 @
3663c644
...
@@ -39,7 +39,7 @@ static int32_t mmRequire(SMgmtWrapper *pWrapper, bool *required) {
...
@@ -39,7 +39,7 @@ static int32_t mmRequire(SMgmtWrapper *pWrapper, bool *required) {
}
}
static
void
mmInitOption
(
SMnodeMgmt
*
pMgmt
,
SMnodeOpt
*
pOption
)
{
static
void
mmInitOption
(
SMnodeMgmt
*
pMgmt
,
SMnodeOpt
*
pOption
)
{
SMsgCb
msgCb
=
dmGetMsgcb
(
pMgmt
->
pWrapper
)
;
SMsgCb
msgCb
=
pMgmt
->
pDnode
->
data
.
msgCb
;
msgCb
.
queueFps
[
QUERY_QUEUE
]
=
mmPutMsgToQueryQueue
;
msgCb
.
queueFps
[
QUERY_QUEUE
]
=
mmPutMsgToQueryQueue
;
msgCb
.
queueFps
[
READ_QUEUE
]
=
mmPutMsgToReadQueue
;
msgCb
.
queueFps
[
READ_QUEUE
]
=
mmPutMsgToReadQueue
;
msgCb
.
queueFps
[
WRITE_QUEUE
]
=
mmPutMsgToWriteQueue
;
msgCb
.
queueFps
[
WRITE_QUEUE
]
=
mmPutMsgToWriteQueue
;
...
@@ -225,11 +225,18 @@ static int32_t mmStart(SMgmtWrapper *pWrapper) {
...
@@ -225,11 +225,18 @@ static int32_t mmStart(SMgmtWrapper *pWrapper) {
return
mndStart
(
pMgmt
->
pMnode
);
return
mndStart
(
pMgmt
->
pMnode
);
}
}
static
void
mmStop
(
SMgmtWrapper
*
pWrapper
)
{
dDebug
(
"mnode-mgmt start to stop"
);
SMnodeMgmt
*
pMgmt
=
pWrapper
->
pMgmt
;
mndStop
(
pMgmt
->
pMnode
);
}
void
mmSetMgmtFp
(
SMgmtWrapper
*
pWrapper
)
{
void
mmSetMgmtFp
(
SMgmtWrapper
*
pWrapper
)
{
SMgmtFp
mgmtFp
=
{
0
};
SMgmtFp
mgmtFp
=
{
0
};
mgmtFp
.
openFp
=
mmOpen
;
mgmtFp
.
openFp
=
mmOpen
;
mgmtFp
.
closeFp
=
mmClose
;
mgmtFp
.
closeFp
=
mmClose
;
mgmtFp
.
startFp
=
mmStart
;
mgmtFp
.
startFp
=
mmStart
;
mgmtFp
.
stopFp
=
mmStop
;
mgmtFp
.
createFp
=
mmProcessCreateReq
;
mgmtFp
.
createFp
=
mmProcessCreateReq
;
mgmtFp
.
dropFp
=
mmProcessDropReq
;
mgmtFp
.
dropFp
=
mmProcessDropReq
;
mgmtFp
.
requiredFp
=
mmRequire
;
mgmtFp
.
requiredFp
=
mmRequire
;
...
...
source/dnode/mgmt/mgmt_qnode/src/qmInt.c
浏览文件 @
3663c644
...
@@ -19,7 +19,7 @@
...
@@ -19,7 +19,7 @@
static
int32_t
qmRequire
(
SMgmtWrapper
*
pWrapper
,
bool
*
required
)
{
return
dmReadFile
(
pWrapper
,
required
);
}
static
int32_t
qmRequire
(
SMgmtWrapper
*
pWrapper
,
bool
*
required
)
{
return
dmReadFile
(
pWrapper
,
required
);
}
static
void
qmInitOption
(
SQnodeMgmt
*
pMgmt
,
SQnodeOpt
*
pOption
)
{
static
void
qmInitOption
(
SQnodeMgmt
*
pMgmt
,
SQnodeOpt
*
pOption
)
{
SMsgCb
msgCb
=
dmGetMsgcb
(
pMgmt
->
pWrapper
)
;
SMsgCb
msgCb
=
pMgmt
->
pDnode
->
data
.
msgCb
;
msgCb
.
queueFps
[
QUERY_QUEUE
]
=
qmPutMsgToQueryQueue
;
msgCb
.
queueFps
[
QUERY_QUEUE
]
=
qmPutMsgToQueryQueue
;
msgCb
.
queueFps
[
FETCH_QUEUE
]
=
qmPutMsgToFetchQueue
;
msgCb
.
queueFps
[
FETCH_QUEUE
]
=
qmPutMsgToFetchQueue
;
msgCb
.
qsizeFp
=
qmGetQueueSize
;
msgCb
.
qsizeFp
=
qmGetQueueSize
;
...
...
source/dnode/mgmt/mgmt_snode/src/smInt.c
浏览文件 @
3663c644
...
@@ -19,7 +19,7 @@
...
@@ -19,7 +19,7 @@
static
int32_t
smRequire
(
SMgmtWrapper
*
pWrapper
,
bool
*
required
)
{
return
dmReadFile
(
pWrapper
,
required
);
}
static
int32_t
smRequire
(
SMgmtWrapper
*
pWrapper
,
bool
*
required
)
{
return
dmReadFile
(
pWrapper
,
required
);
}
static
void
smInitOption
(
SSnodeMgmt
*
pMgmt
,
SSnodeOpt
*
pOption
)
{
static
void
smInitOption
(
SSnodeMgmt
*
pMgmt
,
SSnodeOpt
*
pOption
)
{
SMsgCb
msgCb
=
dmGetMsgcb
(
pMgmt
->
pWrapper
)
;
SMsgCb
msgCb
=
pMgmt
->
pDnode
->
data
.
msgCb
;
pOption
->
msgCb
=
msgCb
;
pOption
->
msgCb
=
msgCb
;
}
}
...
...
source/dnode/mgmt/mgmt_vnode/src/vmHandle.c
浏览文件 @
3663c644
...
@@ -143,7 +143,7 @@ int32_t vmProcessCreateVnodeReq(SVnodesMgmt *pMgmt, SNodeMsg *pMsg) {
...
@@ -143,7 +143,7 @@ int32_t vmProcessCreateVnodeReq(SVnodesMgmt *pMgmt, SNodeMsg *pMsg) {
return
-
1
;
return
-
1
;
}
}
SMsgCb
msgCb
=
dmGetMsgcb
(
pMgmt
->
pWrapper
)
;
SMsgCb
msgCb
=
pMgmt
->
pDnode
->
data
.
msgCb
;
msgCb
.
pWrapper
=
pMgmt
->
pWrapper
;
msgCb
.
pWrapper
=
pMgmt
->
pWrapper
;
msgCb
.
queueFps
[
QUERY_QUEUE
]
=
vmPutMsgToQueryQueue
;
msgCb
.
queueFps
[
QUERY_QUEUE
]
=
vmPutMsgToQueryQueue
;
msgCb
.
queueFps
[
FETCH_QUEUE
]
=
vmPutMsgToFetchQueue
;
msgCb
.
queueFps
[
FETCH_QUEUE
]
=
vmPutMsgToFetchQueue
;
...
...
source/dnode/mgmt/mgmt_vnode/src/vmInt.c
浏览文件 @
3663c644
...
@@ -128,7 +128,7 @@ static void *vmOpenVnodeFunc(void *param) {
...
@@ -128,7 +128,7 @@ static void *vmOpenVnodeFunc(void *param) {
pMgmt
->
state
.
openVnodes
,
pMgmt
->
state
.
totalVnodes
);
pMgmt
->
state
.
openVnodes
,
pMgmt
->
state
.
totalVnodes
);
dmReportStartup
(
pDnode
,
"open-vnodes"
,
stepDesc
);
dmReportStartup
(
pDnode
,
"open-vnodes"
,
stepDesc
);
SMsgCb
msgCb
=
dmGetMsgcb
(
pMgmt
->
pWrapper
)
;
SMsgCb
msgCb
=
pMgmt
->
pDnode
->
data
.
msgCb
;
msgCb
.
pWrapper
=
pMgmt
->
pWrapper
;
msgCb
.
pWrapper
=
pMgmt
->
pWrapper
;
msgCb
.
queueFps
[
QUERY_QUEUE
]
=
vmPutMsgToQueryQueue
;
msgCb
.
queueFps
[
QUERY_QUEUE
]
=
vmPutMsgToQueryQueue
;
msgCb
.
queueFps
[
FETCH_QUEUE
]
=
vmPutMsgToFetchQueue
;
msgCb
.
queueFps
[
FETCH_QUEUE
]
=
vmPutMsgToFetchQueue
;
...
...
source/dnode/mnode/impl/src/mnode.c
浏览文件 @
3663c644
...
@@ -220,7 +220,6 @@ static int32_t mndInitSteps(SMnode *pMnode, bool deploy) {
...
@@ -220,7 +220,6 @@ static int32_t mndInitSteps(SMnode *pMnode, bool deploy) {
if
(
mndAllocStep
(
pMnode
,
"mnode-query"
,
mndInitQuery
,
mndCleanupQuery
)
!=
0
)
return
-
1
;
if
(
mndAllocStep
(
pMnode
,
"mnode-query"
,
mndInitQuery
,
mndCleanupQuery
)
!=
0
)
return
-
1
;
if
(
mndAllocStep
(
pMnode
,
"mnode-sync"
,
mndInitSync
,
mndCleanupSync
)
!=
0
)
return
-
1
;
if
(
mndAllocStep
(
pMnode
,
"mnode-sync"
,
mndInitSync
,
mndCleanupSync
)
!=
0
)
return
-
1
;
if
(
mndAllocStep
(
pMnode
,
"mnode-telem"
,
mndInitTelem
,
mndCleanupTelem
)
!=
0
)
return
-
1
;
if
(
mndAllocStep
(
pMnode
,
"mnode-telem"
,
mndInitTelem
,
mndCleanupTelem
)
!=
0
)
return
-
1
;
if
(
mndAllocStep
(
pMnode
,
"mnode-timer"
,
NULL
,
mndCleanupTimer
)
!=
0
)
return
-
1
;
return
0
;
return
0
;
}
}
...
@@ -346,6 +345,8 @@ int32_t mndAlter(SMnode *pMnode, const SMnodeOpt *pOption) {
...
@@ -346,6 +345,8 @@ int32_t mndAlter(SMnode *pMnode, const SMnodeOpt *pOption) {
int32_t
mndStart
(
SMnode
*
pMnode
)
{
return
mndInitTimer
(
pMnode
);
}
int32_t
mndStart
(
SMnode
*
pMnode
)
{
return
mndInitTimer
(
pMnode
);
}
void
mndStop
(
SMnode
*
pMnode
)
{
return
mndCleanupTimer
(
pMnode
);
}
int32_t
mndProcessMsg
(
SNodeMsg
*
pMsg
)
{
int32_t
mndProcessMsg
(
SNodeMsg
*
pMsg
)
{
SMnode
*
pMnode
=
pMsg
->
pNode
;
SMnode
*
pMnode
=
pMsg
->
pNode
;
SRpcMsg
*
pRpc
=
&
pMsg
->
rpcMsg
;
SRpcMsg
*
pRpc
=
&
pMsg
->
rpcMsg
;
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录