Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
taosdata
TDengine
提交
736c90ad
T
TDengine
项目概览
taosdata
/
TDengine
1 年多 前同步成功
通知
1185
Star
22016
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看板
提交
736c90ad
编写于
12月 29, 2021
作者:
S
Shengliang Guan
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
add qnode test
上级
c1169467
变更
12
隐藏空白更改
内联
并排
Showing
12 changed file
with
241 addition
and
16 deletion
+241
-16
include/common/tmsg.h
include/common/tmsg.h
+3
-3
source/dnode/mgmt/impl/src/dndDnode.c
source/dnode/mgmt/impl/src/dndDnode.c
+22
-1
source/dnode/mgmt/impl/src/dndTransport.c
source/dnode/mgmt/impl/src/dndTransport.c
+18
-0
source/dnode/mgmt/impl/test/CMakeLists.txt
source/dnode/mgmt/impl/test/CMakeLists.txt
+3
-0
source/dnode/mgmt/impl/test/qnode/CMakeLists.txt
source/dnode/mgmt/impl/test/qnode/CMakeLists.txt
+11
-0
source/dnode/mgmt/impl/test/qnode/qnode.cpp
source/dnode/mgmt/impl/test/qnode/qnode.cpp
+170
-0
source/dnode/mnode/impl/src/mndBnode.c
source/dnode/mnode/impl/src/mndBnode.c
+2
-2
source/dnode/mnode/impl/src/mndQnode.c
source/dnode/mnode/impl/src/mndQnode.c
+2
-2
source/dnode/mnode/impl/src/mndShow.c
source/dnode/mnode/impl/src/mndShow.c
+6
-0
source/dnode/mnode/impl/src/mndSnode.c
source/dnode/mnode/impl/src/mndSnode.c
+2
-2
source/dnode/qnode/src/qnode.c
source/dnode/qnode/src/qnode.c
+1
-5
source/dnode/snode/src/snode.c
source/dnode/snode/src/snode.c
+1
-1
未找到文件。
include/common/tmsg.h
浏览文件 @
736c90ad
...
...
@@ -869,15 +869,15 @@ typedef struct {
typedef
struct
{
int32_t
dnodeId
;
}
SMCreateQnodeMsg
,
SM
Create
QnodeMsg
,
SDCreateQnodeMsg
,
SDDropQnodeMsg
;
}
SMCreateQnodeMsg
,
SM
Drop
QnodeMsg
,
SDCreateQnodeMsg
,
SDDropQnodeMsg
;
typedef
struct
{
int32_t
dnodeId
;
}
SMCreateSnodeMsg
,
SM
Create
SnodeMsg
,
SDCreateSnodeMsg
,
SDDropSnodeMsg
;
}
SMCreateSnodeMsg
,
SM
Drop
SnodeMsg
,
SDCreateSnodeMsg
,
SDDropSnodeMsg
;
typedef
struct
{
int32_t
dnodeId
;
}
SMCreateBnodeMsg
,
SM
Create
BnodeMsg
,
SDCreateBnodeMsg
,
SDDropBnodeMsg
;
}
SMCreateBnodeMsg
,
SM
Drop
BnodeMsg
,
SDCreateBnodeMsg
,
SDDropBnodeMsg
;
typedef
struct
{
int32_t
dnodeId
;
...
...
source/dnode/mgmt/impl/src/dndDnode.c
浏览文件 @
736c90ad
...
...
@@ -15,9 +15,12 @@
#define _DEFAULT_SOURCE
#include "dndDnode.h"
#include "dndBnode.h"
#include "dndMnode.h"
#include "dndQnode.h"
#include "dndSnode.h"
#include "dndTransport.h"
#include "dndVnodes.h"
#include "dndMnode.h"
static
int32_t
dndInitMgmtWorker
(
SDnode
*
pDnode
);
static
void
dndCleanupMgmtWorker
(
SDnode
*
pDnode
);
...
...
@@ -648,6 +651,24 @@ static void dndProcessMgmtQueue(SDnode *pDnode, SRpcMsg *pMsg) {
case
TDMT_DND_DROP_MNODE
:
code
=
dndProcessDropMnodeReq
(
pDnode
,
pMsg
);
break
;
case
TDMT_DND_CREATE_QNODE
:
code
=
dndProcessCreateQnodeReq
(
pDnode
,
pMsg
);
break
;
case
TDMT_DND_DROP_QNODE
:
code
=
dndProcessDropQnodeReq
(
pDnode
,
pMsg
);
break
;
case
TDMT_DND_CREATE_SNODE
:
code
=
dndProcessCreateSnodeReq
(
pDnode
,
pMsg
);
break
;
case
TDMT_DND_DROP_SNODE
:
code
=
dndProcessDropSnodeReq
(
pDnode
,
pMsg
);
break
;
case
TDMT_DND_CREATE_BNODE
:
code
=
dndProcessCreateBnodeReq
(
pDnode
,
pMsg
);
break
;
case
TDMT_DND_DROP_BNODE
:
code
=
dndProcessDropBnodeReq
(
pDnode
,
pMsg
);
break
;
case
TDMT_DND_CONFIG_DNODE
:
code
=
dndProcessConfigDnodeReq
(
pDnode
,
pMsg
);
break
;
...
...
source/dnode/mgmt/impl/src/dndTransport.c
浏览文件 @
736c90ad
...
...
@@ -37,6 +37,18 @@ static void dndInitMsgFp(STransMgmt *pMgmt) {
pMgmt
->
msgFp
[
TMSG_INDEX
(
TDMT_DND_ALTER_MNODE_RSP
)]
=
dndProcessMnodeWriteMsg
;
pMgmt
->
msgFp
[
TMSG_INDEX
(
TDMT_DND_DROP_MNODE
)]
=
dndProcessMgmtMsg
;
pMgmt
->
msgFp
[
TMSG_INDEX
(
TDMT_DND_DROP_MNODE_RSP
)]
=
dndProcessMnodeWriteMsg
;
pMgmt
->
msgFp
[
TMSG_INDEX
(
TDMT_DND_CREATE_QNODE
)]
=
dndProcessMgmtMsg
;
pMgmt
->
msgFp
[
TMSG_INDEX
(
TDMT_DND_CREATE_QNODE_RSP
)]
=
dndProcessMnodeWriteMsg
;
pMgmt
->
msgFp
[
TMSG_INDEX
(
TDMT_DND_DROP_QNODE
)]
=
dndProcessMgmtMsg
;
pMgmt
->
msgFp
[
TMSG_INDEX
(
TDMT_DND_DROP_QNODE_RSP
)]
=
dndProcessMnodeWriteMsg
;
pMgmt
->
msgFp
[
TMSG_INDEX
(
TDMT_DND_CREATE_SNODE
)]
=
dndProcessMgmtMsg
;
pMgmt
->
msgFp
[
TMSG_INDEX
(
TDMT_DND_CREATE_SNODE_RSP
)]
=
dndProcessMnodeWriteMsg
;
pMgmt
->
msgFp
[
TMSG_INDEX
(
TDMT_DND_DROP_SNODE
)]
=
dndProcessMgmtMsg
;
pMgmt
->
msgFp
[
TMSG_INDEX
(
TDMT_DND_DROP_SNODE_RSP
)]
=
dndProcessMnodeWriteMsg
;
pMgmt
->
msgFp
[
TMSG_INDEX
(
TDMT_DND_CREATE_BNODE
)]
=
dndProcessMgmtMsg
;
pMgmt
->
msgFp
[
TMSG_INDEX
(
TDMT_DND_CREATE_BNODE_RSP
)]
=
dndProcessMnodeWriteMsg
;
pMgmt
->
msgFp
[
TMSG_INDEX
(
TDMT_DND_DROP_BNODE
)]
=
dndProcessMgmtMsg
;
pMgmt
->
msgFp
[
TMSG_INDEX
(
TDMT_DND_DROP_BNODE_RSP
)]
=
dndProcessMnodeWriteMsg
;
pMgmt
->
msgFp
[
TMSG_INDEX
(
TDMT_DND_CREATE_VNODE
)]
=
dndProcessMgmtMsg
;
pMgmt
->
msgFp
[
TMSG_INDEX
(
TDMT_DND_CREATE_VNODE_RSP
)]
=
dndProcessMnodeWriteMsg
;
pMgmt
->
msgFp
[
TMSG_INDEX
(
TDMT_DND_ALTER_VNODE
)]
=
dndProcessMgmtMsg
;
...
...
@@ -66,6 +78,12 @@ static void dndInitMsgFp(STransMgmt *pMgmt) {
pMgmt
->
msgFp
[
TMSG_INDEX
(
TDMT_MND_DROP_DNODE
)]
=
dndProcessMnodeWriteMsg
;
pMgmt
->
msgFp
[
TMSG_INDEX
(
TDMT_MND_CREATE_MNODE
)]
=
dndProcessMnodeWriteMsg
;
pMgmt
->
msgFp
[
TMSG_INDEX
(
TDMT_MND_DROP_MNODE
)]
=
dndProcessMnodeWriteMsg
;
pMgmt
->
msgFp
[
TMSG_INDEX
(
TDMT_MND_CREATE_QNODE
)]
=
dndProcessMnodeWriteMsg
;
pMgmt
->
msgFp
[
TMSG_INDEX
(
TDMT_MND_DROP_QNODE
)]
=
dndProcessMnodeWriteMsg
;
pMgmt
->
msgFp
[
TMSG_INDEX
(
TDMT_MND_CREATE_SNODE
)]
=
dndProcessMnodeWriteMsg
;
pMgmt
->
msgFp
[
TMSG_INDEX
(
TDMT_MND_DROP_SNODE
)]
=
dndProcessMnodeWriteMsg
;
pMgmt
->
msgFp
[
TMSG_INDEX
(
TDMT_MND_CREATE_BNODE
)]
=
dndProcessMnodeWriteMsg
;
pMgmt
->
msgFp
[
TMSG_INDEX
(
TDMT_MND_DROP_BNODE
)]
=
dndProcessMnodeWriteMsg
;
pMgmt
->
msgFp
[
TMSG_INDEX
(
TDMT_MND_CREATE_DB
)]
=
dndProcessMnodeWriteMsg
;
pMgmt
->
msgFp
[
TMSG_INDEX
(
TDMT_MND_DROP_DB
)]
=
dndProcessMnodeWriteMsg
;
pMgmt
->
msgFp
[
TMSG_INDEX
(
TDMT_MND_USE_DB
)]
=
dndProcessMnodeWriteMsg
;
...
...
source/dnode/mgmt/impl/test/CMakeLists.txt
浏览文件 @
736c90ad
...
...
@@ -8,6 +8,9 @@ add_subdirectory(db)
add_subdirectory
(
dnode
)
# add_subdirectory(func)
add_subdirectory
(
mnode
)
add_subdirectory
(
qnode
)
#add_subdirectory(mnode)
#add_subdirectory(mnode)
add_subdirectory
(
profile
)
add_subdirectory
(
show
)
add_subdirectory
(
stb
)
...
...
source/dnode/mgmt/impl/test/qnode/CMakeLists.txt
0 → 100644
浏览文件 @
736c90ad
aux_source_directory
(
. QTEST_SRC
)
add_executable
(
dnode_test_qnode
${
QTEST_SRC
}
)
target_link_libraries
(
dnode_test_qnode
PUBLIC sut
)
add_test
(
NAME dnode_test_qnode
COMMAND dnode_test_qnode
)
source/dnode/mgmt/impl/test/qnode/qnode.cpp
0 → 100644
浏览文件 @
736c90ad
/**
* @file dnode.cpp
* @author slguan (slguan@taosdata.com)
* @brief DNODE module dnode-msg tests
* @version 0.1
* @date 2021-12-15
*
* @copyright Copyright (c) 2021
*
*/
#include "base.h"
class
DndTestQnode
:
public
::
testing
::
Test
{
public:
void
SetUp
()
override
{}
void
TearDown
()
override
{}
public:
static
void
SetUpTestSuite
()
{
test
.
Init
(
"/tmp/dnode_test_qnode1"
,
9071
);
const
char
*
fqdn
=
"localhost"
;
const
char
*
firstEp
=
"localhost:9071"
;
server2
.
Start
(
"/tmp/dnode_test_qnode2"
,
fqdn
,
9072
,
firstEp
);
server3
.
Start
(
"/tmp/dnode_test_qnode3"
,
fqdn
,
9073
,
firstEp
);
server4
.
Start
(
"/tmp/dnode_test_qnode4"
,
fqdn
,
9074
,
firstEp
);
server5
.
Start
(
"/tmp/dnode_test_qnode5"
,
fqdn
,
9075
,
firstEp
);
taosMsleep
(
300
);
}
static
void
TearDownTestSuite
()
{
server2
.
Stop
();
server3
.
Stop
();
server4
.
Stop
();
server5
.
Stop
();
test
.
Cleanup
();
}
static
Testbase
test
;
static
TestServer
server2
;
static
TestServer
server3
;
static
TestServer
server4
;
static
TestServer
server5
;
};
Testbase
DndTestQnode
::
test
;
TestServer
DndTestQnode
::
server2
;
TestServer
DndTestQnode
::
server3
;
TestServer
DndTestQnode
::
server4
;
TestServer
DndTestQnode
::
server5
;
// TEST_F(DndTestQnode, 01_ShowQnode) {
// test.SendShowMetaMsg(TSDB_MGMT_TABLE_QNODE, "");
// CHECK_META("show qnodes", 3);
// CHECK_SCHEMA(0, TSDB_DATA_TYPE_SMALLINT, 2, "id");
// CHECK_SCHEMA(1, TSDB_DATA_TYPE_BINARY, TSDB_EP_LEN + VARSTR_HEADER_SIZE, "endpoint");
// CHECK_SCHEMA(2, TSDB_DATA_TYPE_TIMESTAMP, 8, "create_time");
// test.SendShowRetrieveMsg();
// EXPECT_EQ(test.GetShowRows(), 1);
// CheckInt16(1);
// CheckBinary("localhost:9071", TSDB_EP_LEN);
// CheckTimestamp();
// }
TEST_F
(
DndTestQnode
,
02
_Create_Qnode_Invalid_Id
)
{
{
int32_t
contLen
=
sizeof
(
SMCreateQnodeMsg
);
SMCreateQnodeMsg
*
pReq
=
(
SMCreateQnodeMsg
*
)
rpcMallocCont
(
contLen
);
pReq
->
dnodeId
=
htonl
(
1
);
SRpcMsg
*
pMsg
=
test
.
SendMsg
(
TDMT_MND_CREATE_QNODE
,
pReq
,
contLen
);
ASSERT_NE
(
pMsg
,
nullptr
);
ASSERT_EQ
(
pMsg
->
code
,
0
);
test
.
SendShowMetaMsg
(
TSDB_MGMT_TABLE_QNODE
,
""
);
CHECK_META
(
"show qnodes"
,
3
);
CHECK_SCHEMA
(
0
,
TSDB_DATA_TYPE_SMALLINT
,
2
,
"id"
);
CHECK_SCHEMA
(
1
,
TSDB_DATA_TYPE_BINARY
,
TSDB_EP_LEN
+
VARSTR_HEADER_SIZE
,
"endpoint"
);
CHECK_SCHEMA
(
2
,
TSDB_DATA_TYPE_TIMESTAMP
,
8
,
"create_time"
);
test
.
SendShowRetrieveMsg
();
EXPECT_EQ
(
test
.
GetShowRows
(),
1
);
CheckInt16
(
1
);
CheckBinary
(
"localhost:9071"
,
TSDB_EP_LEN
);
CheckTimestamp
();
}
}
// TEST_F(DndTestQnode, 03_Create_Qnode_Invalid_Id) {
// {
// int32_t contLen = sizeof(SMCreateQnodeMsg);
// SMCreateQnodeMsg* pReq = (SMCreateQnodeMsg*)rpcMallocCont(contLen);
// pReq->dnodeId = htonl(2);
// SRpcMsg* pMsg = test.SendMsg(TDMT_MND_CREATE_QNODE, pReq, contLen);
// ASSERT_NE(pMsg, nullptr);
// ASSERT_EQ(pMsg->code, TSDB_CODE_MND_DNODE_NOT_EXIST);
// }
// }
// TEST_F(DndTestQnode, 04_Create_Qnode) {
// {
// // create dnode
// int32_t contLen = sizeof(SCreateDnodeMsg);
// SCreateDnodeMsg* pReq = (SCreateDnodeMsg*)rpcMallocCont(contLen);
// strcpy(pReq->fqdn, "localhost");
// pReq->port = htonl(9072);
// SRpcMsg* pMsg = test.SendMsg(TDMT_MND_CREATE_DNODE, pReq, contLen);
// ASSERT_NE(pMsg, nullptr);
// ASSERT_EQ(pMsg->code, 0);
// taosMsleep(1300);
// test.SendShowMetaMsg(TSDB_MGMT_TABLE_DNODE, "");
// test.SendShowRetrieveMsg();
// EXPECT_EQ(test.GetShowRows(), 2);
// }
// {
// // create qnode
// int32_t contLen = sizeof(SMCreateQnodeMsg);
// SMCreateQnodeMsg* pReq = (SMCreateQnodeMsg*)rpcMallocCont(contLen);
// pReq->dnodeId = htonl(2);
// SRpcMsg* pMsg = test.SendMsg(TDMT_MND_CREATE_QNODE, pReq, contLen);
// ASSERT_NE(pMsg, nullptr);
// ASSERT_EQ(pMsg->code, 0);
// test.SendShowMetaMsg(TSDB_MGMT_TABLE_QNODE, "");
// test.SendShowRetrieveMsg();
// EXPECT_EQ(test.GetShowRows(), 2);
// CheckInt16(1);
// CheckInt16(2);
// CheckBinary("localhost:9071", TSDB_EP_LEN);
// CheckBinary("localhost:9072", TSDB_EP_LEN);
// CheckTimestamp();
// CheckTimestamp();
// }
// {
// // drop qnode
// int32_t contLen = sizeof(SMDropQnodeMsg);
// SMDropQnodeMsg* pReq = (SMDropQnodeMsg*)rpcMallocCont(contLen);
// pReq->dnodeId = htonl(2);
// SRpcMsg* pMsg = test.SendMsg(TDMT_MND_DROP_QNODE, pReq, contLen);
// ASSERT_NE(pMsg, nullptr);
// ASSERT_EQ(pMsg->code, 0);
// test.SendShowMetaMsg(TSDB_MGMT_TABLE_QNODE, "");
// test.SendShowRetrieveMsg();
// EXPECT_EQ(test.GetShowRows(), 1);
// CheckInt16(1);
// CheckBinary("localhost:9071", TSDB_EP_LEN);
// CheckTimestamp();
// }
// }
\ No newline at end of file
source/dnode/mnode/impl/src/mndBnode.c
浏览文件 @
736c90ad
...
...
@@ -324,8 +324,8 @@ DROP_BNODE_OVER:
}
static
int32_t
mndProcessDropBnodeReq
(
SMnodeMsg
*
pMsg
)
{
SMnode
*
pMnode
=
pMsg
->
pMnode
;
SM
Create
BnodeMsg
*
pDrop
=
pMsg
->
rpcMsg
.
pCont
;
SMnode
*
pMnode
=
pMsg
->
pMnode
;
SM
Drop
BnodeMsg
*
pDrop
=
pMsg
->
rpcMsg
.
pCont
;
pDrop
->
dnodeId
=
htonl
(
pDrop
->
dnodeId
);
mDebug
(
"snode:%d, start to drop"
,
pDrop
->
dnodeId
);
...
...
source/dnode/mnode/impl/src/mndQnode.c
浏览文件 @
736c90ad
...
...
@@ -324,8 +324,8 @@ DROP_QNODE_OVER:
}
static
int32_t
mndProcessDropQnodeReq
(
SMnodeMsg
*
pMsg
)
{
SMnode
*
pMnode
=
pMsg
->
pMnode
;
SM
Create
QnodeMsg
*
pDrop
=
pMsg
->
rpcMsg
.
pCont
;
SMnode
*
pMnode
=
pMsg
->
pMnode
;
SM
Drop
QnodeMsg
*
pDrop
=
pMsg
->
rpcMsg
.
pCont
;
pDrop
->
dnodeId
=
htonl
(
pDrop
->
dnodeId
);
mDebug
(
"qnode:%d, start to drop"
,
pDrop
->
dnodeId
);
...
...
source/dnode/mnode/impl/src/mndShow.c
浏览文件 @
736c90ad
...
...
@@ -262,6 +262,12 @@ char *mndShowStr(int32_t showType) {
return
"show dnodes"
;
case
TSDB_MGMT_TABLE_MNODE
:
return
"show mnodes"
;
case
TSDB_MGMT_TABLE_QNODE
:
return
"show qnodes"
;
case
TSDB_MGMT_TABLE_SNODE
:
return
"show snodes"
;
case
TSDB_MGMT_TABLE_BNODE
:
return
"show bnodes"
;
case
TSDB_MGMT_TABLE_VGROUP
:
return
"show vgroups"
;
case
TSDB_MGMT_TABLE_STB
:
...
...
source/dnode/mnode/impl/src/mndSnode.c
浏览文件 @
736c90ad
...
...
@@ -324,8 +324,8 @@ DROP_SNODE_OVER:
}
static
int32_t
mndProcessDropSnodeReq
(
SMnodeMsg
*
pMsg
)
{
SMnode
*
pMnode
=
pMsg
->
pMnode
;
SM
Create
SnodeMsg
*
pDrop
=
pMsg
->
rpcMsg
.
pCont
;
SMnode
*
pMnode
=
pMsg
->
pMnode
;
SM
Drop
SnodeMsg
*
pDrop
=
pMsg
->
rpcMsg
.
pCont
;
pDrop
->
dnodeId
=
htonl
(
pDrop
->
dnodeId
);
mDebug
(
"snode:%d, start to drop"
,
pDrop
->
dnodeId
);
...
...
source/dnode/qnode/src/qnode.c
浏览文件 @
736c90ad
...
...
@@ -24,12 +24,8 @@ void qndClose(SQnode *pQnode) { free(pQnode); }
int32_t
qndGetLoad
(
SQnode
*
pQnode
,
SQnodeLoad
*
pLoad
)
{
return
0
;
}
int32_t
qndProcess
QueryReq
(
SQnode
*
pQnode
,
SRpcMsg
*
pMsg
,
SRpcMsg
**
pRsp
)
{
int32_t
qndProcess
Msg
(
SQnode
*
pQnode
,
SRpcMsg
*
pMsg
,
SRpcMsg
**
pRsp
)
{
*
pRsp
=
NULL
;
return
0
;
}
int32_t
qndProcessFetchReq
(
SQnode
*
pQnode
,
SRpcMsg
*
pMsg
,
SRpcMsg
**
pRsp
)
{
*
pRsp
=
NULL
;
return
0
;
}
source/dnode/snode/src/snode.c
浏览文件 @
736c90ad
...
...
@@ -24,7 +24,7 @@ void sndClose(SSnode *pSnode) { free(pSnode); }
int32_t
sndGetLoad
(
SSnode
*
pSnode
,
SSnodeLoad
*
pLoad
)
{
return
0
;
}
int32_t
sndProcess
Write
Msg
(
SSnode
*
pSnode
,
SRpcMsg
*
pMsg
,
SRpcMsg
**
pRsp
)
{
int32_t
sndProcessMsg
(
SSnode
*
pSnode
,
SRpcMsg
*
pMsg
,
SRpcMsg
**
pRsp
)
{
*
pRsp
=
NULL
;
return
0
;
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录