Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
taosdata
TDengine
提交
42fd474b
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看板
提交
42fd474b
编写于
10月 18, 2021
作者:
L
Liu Jicong
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
add vnodeprocess msg function
上级
4113df0b
变更
8
隐藏空白更改
内联
并排
Showing
8 changed file
with
99 addition
and
22 deletion
+99
-22
include/common/taosmsg.h
include/common/taosmsg.h
+37
-1
include/server/vnode/tq/tq.h
include/server/vnode/tq/tq.h
+3
-2
source/server/dnode/src/dnodeTrans.c
source/server/dnode/src/dnodeTrans.c
+8
-3
source/server/vnode/inc/vnodeReadMsg.h
source/server/vnode/inc/vnodeReadMsg.h
+2
-0
source/server/vnode/inc/vnodeWriteMsg.h
source/server/vnode/inc/vnodeWriteMsg.h
+7
-1
source/server/vnode/src/vnodeMain.c
source/server/vnode/src/vnodeMain.c
+23
-13
source/server/vnode/src/vnodeRead.c
source/server/vnode/src/vnodeRead.c
+3
-0
source/server/vnode/src/vnodeWrite.c
source/server/vnode/src/vnodeWrite.c
+16
-2
未找到文件。
include/common/taosmsg.h
浏览文件 @
42fd474b
...
...
@@ -42,7 +42,9 @@ TAOS_DEFINE_MESSAGE_TYPE( TSDB_MSG_TYPE_QUERY, "query" )
TAOS_DEFINE_MESSAGE_TYPE
(
TSDB_MSG_TYPE_FETCH
,
"fetch"
)
TAOS_DEFINE_MESSAGE_TYPE
(
TSDB_MSG_TYPE_UPDATE_TAG_VAL
,
"update-tag-val"
)
TAOS_DEFINE_MESSAGE_TYPE
(
TSDB_MSG_TYPE_MQ_CONNECT
,
"mq-connect"
)
TAOS_DEFINE_MESSAGE_TYPE
(
TSDB_MSG_TYPE_MQ_DISCONNECT
,
"mq-disconnect"
)
TAOS_DEFINE_MESSAGE_TYPE
(
TSDB_MSG_TYPE_MQ_CONSUME
,
"mq-consume"
)
TAOS_DEFINE_MESSAGE_TYPE
(
TSDB_MSG_TYPE_MQ_QUERY
,
"mq-query"
)
TAOS_DEFINE_MESSAGE_TYPE
(
TSDB_MSG_TYPE_MQ_ACK
,
"mq-ack"
)
TAOS_DEFINE_MESSAGE_TYPE
(
TSDB_MSG_TYPE_MQ_RESET
,
"mq-reset"
)
TAOS_DEFINE_MESSAGE_TYPE
(
TSDB_MSG_TYPE_DUMMY1
,
"dummy1"
)
...
...
@@ -121,7 +123,7 @@ TAOS_DEFINE_MESSAGE_TYPE( TSDB_MSG_TYPE_CM_DROP_TP, "drop-tp" )
TAOS_DEFINE_MESSAGE_TYPE
(
TSDB_MSG_TYPE_CM_ALTER_TP
,
"alter-tp"
)
#ifndef TAOS_MESSAGE_C
TSDB_MSG_TYPE_MAX
// 1
05
TSDB_MSG_TYPE_MAX
// 1
47
#endif
};
...
...
@@ -958,6 +960,40 @@ typedef struct {
char
reserved2
[
64
];
}
SStartupStep
;
// mq related
typedef
struct
{
}
SMqConnectReq
;
typedef
struct
{
}
SMqConnectRsp
;
typedef
struct
{
}
SMqDisconnectReq
;
typedef
struct
{
}
SMqDisconnectRsp
;
typedef
struct
{
}
SMqAckReq
;
typedef
struct
{
}
SMqAckRsp
;
typedef
struct
{
}
SMqResetReq
;
typedef
struct
{
}
SMqResetRsp
;
//mq related end
typedef
struct
{
/* data */
}
SSubmitReq
;
...
...
include/server/vnode/tq/tq.h
浏览文件 @
42fd474b
...
...
@@ -26,8 +26,9 @@ typedef struct tmqMsgHead {
int32_t
headLen
;
int32_t
msgVer
;
int64_t
cgId
;
int32_t
topicLen
;
char
topic
[];
int64_t
topicId
;
int32_t
checksum
;
int32_t
msgType
;
}
tmqMsgHead
;
//TODO: put msgs into common
...
...
source/server/dnode/src/dnodeTrans.c
浏览文件 @
42fd474b
...
...
@@ -97,6 +97,9 @@ int32_t dnodeInitServer() {
tsTrans
.
peerMsgFp
[
TSDB_MSG_TYPE_DM_GRANT
]
=
mnodeProcessMsg
;
tsTrans
.
peerMsgFp
[
TSDB_MSG_TYPE_DM_STATUS
]
=
mnodeProcessMsg
;
tsTrans
.
peerMsgFp
[
TSDB_MSG_TYPE_MQ_CONNECT
]
=
vnodeProcessMsg
;
/*tsTrans.peerMsgFp[TSDB_MSG_TYPE_MQ_CONSUME] = vnodeProcessRead;*/
SRpcInit
rpcInit
;
memset
(
&
rpcInit
,
0
,
sizeof
(
rpcInit
));
rpcInit
.
localPort
=
tsDnodeDnodePort
;
...
...
@@ -308,10 +311,12 @@ static int32_t dnodeRetrieveUserAuthInfo(char *user, char *spi, char *encrypt, c
}
int32_t
dnodeInitShell
()
{
tsTrans
.
shellMsgFp
[
TSDB_MSG_TYPE_SUBMIT
]
=
vnodeProcessMsg
;
tsTrans
.
shellMsgFp
[
TSDB_MSG_TYPE_QUERY
]
=
vnodeProcessMsg
;
tsTrans
.
shellMsgFp
[
TSDB_MSG_TYPE_FETCH
]
=
vnodeProcessMsg
;
tsTrans
.
shellMsgFp
[
TSDB_MSG_TYPE_SUBMIT
]
=
vnodeProcessMsg
;
tsTrans
.
shellMsgFp
[
TSDB_MSG_TYPE_QUERY
]
=
vnodeProcessMsg
;
tsTrans
.
shellMsgFp
[
TSDB_MSG_TYPE_FETCH
]
=
vnodeProcessMsg
;
tsTrans
.
shellMsgFp
[
TSDB_MSG_TYPE_UPDATE_TAG_VAL
]
=
vnodeProcessMsg
;
tsTrans
.
shellMsgFp
[
TSDB_MSG_TYPE_MQ_QUERY
]
=
vnodeProcessMsg
;
tsTrans
.
shellMsgFp
[
TSDB_MSG_TYPE_MQ_CONSUME
]
=
vnodeProcessMsg
;
// the following message shall be treated as mnode write
tsTrans
.
shellMsgFp
[
TSDB_MSG_TYPE_CM_CREATE_ACCT
]
=
mnodeProcessMsg
;
...
...
source/server/vnode/inc/vnodeReadMsg.h
浏览文件 @
42fd474b
...
...
@@ -36,6 +36,8 @@ typedef struct SReadMsg {
int32_t
vnodeProcessQueryMsg
(
SVnode
*
pVnode
,
SReadMsg
*
pRead
);
int32_t
vnodeProcessFetchMsg
(
SVnode
*
pVnode
,
SReadMsg
*
pRead
);
int32_t
vnodeProcessConsumeMsg
(
SVnode
*
pVnode
,
SReadMsg
*
pRead
);
int32_t
vnodeProcessTqQueryMsg
(
SVnode
*
pVnode
,
SReadMsg
*
pRead
);
#ifdef __cplusplus
}
...
...
source/server/vnode/inc/vnodeWriteMsg.h
浏览文件 @
42fd474b
...
...
@@ -27,9 +27,15 @@ int32_t vnodeProcessDropTableReq(SVnode *pVnode, SDropTableReq *pReq, SDropTable
int32_t
vnodeProcessAlterTableReq
(
SVnode
*
pVnode
,
SAlterTableReq
*
pReq
,
SAlterTableRsp
*
pRsp
);
int32_t
vnodeProcessDropStableReq
(
SVnode
*
pVnode
,
SDropStableReq
*
pReq
,
SDropStableRsp
*
pRsp
);
int32_t
vnodeProcessUpdateTagValReq
(
SVnode
*
pVnode
,
SUpdateTagValReq
*
pReq
,
SUpdateTagValRsp
*
pRsp
);
//mq related
int32_t
vnodeProcessMqConnectReq
(
SVnode
*
pVnode
,
SMqConnectReq
*
pReq
,
SMqConnectRsp
*
pRsp
);
int32_t
vnodeProcessMqDisconnectReq
(
SVnode
*
pVnode
,
SMqConnectReq
*
pReq
,
SMqConnectRsp
*
pRsp
);
int32_t
vnodeProcessMqAckReq
(
SVnode
*
pVnode
,
SMqAckReq
*
pReq
,
SMqAckRsp
*
pRsp
);
int32_t
vnodeProcessMqResetReq
(
SVnode
*
pVnode
,
SMqResetReq
*
pReq
,
SMqResetRsp
*
pRsp
);
//mq related end
#ifdef __cplusplus
}
#endif
#endif
/*_TD_VNODE_WRITE_MSG_H_*/
\ No newline at end of file
#endif
/*_TD_VNODE_WRITE_MSG_H_*/
source/server/vnode/src/vnodeMain.c
浏览文件 @
42fd474b
...
...
@@ -780,20 +780,30 @@ static void vnodeCleanupVnodes() {
}
static
void
vnodeInitMsgFp
()
{
tsVmain
.
msgFp
[
TSDB_MSG_TYPE_MD_CREATE_VNODE
]
=
vnodeProcessMgmtMsg
;
tsVmain
.
msgFp
[
TSDB_MSG_TYPE_MD_ALTER_VNODE
]
=
vnodeProcessMgmtMsg
;
tsVmain
.
msgFp
[
TSDB_MSG_TYPE_MD_SYNC_VNODE
]
=
vnodeProcessMgmtMsg
;
tsVmain
.
msgFp
[
TSDB_MSG_TYPE_MD_CREATE_VNODE
]
=
vnodeProcessMgmtMsg
;
tsVmain
.
msgFp
[
TSDB_MSG_TYPE_MD_ALTER_VNODE
]
=
vnodeProcessMgmtMsg
;
tsVmain
.
msgFp
[
TSDB_MSG_TYPE_MD_SYNC_VNODE
]
=
vnodeProcessMgmtMsg
;
tsVmain
.
msgFp
[
TSDB_MSG_TYPE_MD_COMPACT_VNODE
]
=
vnodeProcessMgmtMsg
;
tsVmain
.
msgFp
[
TSDB_MSG_TYPE_MD_DROP_VNODE
]
=
vnodeProcessMgmtMsg
;
tsVmain
.
msgFp
[
TSDB_MSG_TYPE_MD_ALTER_STREAM
]
=
vnodeProcessMgmtMsg
;
tsVmain
.
msgFp
[
TSDB_MSG_TYPE_MD_CREATE_TABLE
]
=
vnodeProcessWriteMsg
;
tsVmain
.
msgFp
[
TSDB_MSG_TYPE_MD_DROP_TABLE
]
=
vnodeProcessWriteMsg
;
tsVmain
.
msgFp
[
TSDB_MSG_TYPE_MD_ALTER_TABLE
]
=
vnodeProcessWriteMsg
;
tsVmain
.
msgFp
[
TSDB_MSG_TYPE_MD_DROP_STABLE
]
=
vnodeProcessWriteMsg
;
tsVmain
.
msgFp
[
TSDB_MSG_TYPE_SUBMIT
]
=
vnodeProcessWriteMsg
;
tsVmain
.
msgFp
[
TSDB_MSG_TYPE_UPDATE_TAG_VAL
]
=
vnodeProcessWriteMsg
;
tsVmain
.
msgFp
[
TSDB_MSG_TYPE_QUERY
]
=
vnodeProcessReadMsg
;
tsVmain
.
msgFp
[
TSDB_MSG_TYPE_FETCH
]
=
vnodeProcessReadMsg
;
tsVmain
.
msgFp
[
TSDB_MSG_TYPE_MD_DROP_VNODE
]
=
vnodeProcessMgmtMsg
;
tsVmain
.
msgFp
[
TSDB_MSG_TYPE_MD_ALTER_STREAM
]
=
vnodeProcessMgmtMsg
;
tsVmain
.
msgFp
[
TSDB_MSG_TYPE_MD_CREATE_TABLE
]
=
vnodeProcessWriteMsg
;
tsVmain
.
msgFp
[
TSDB_MSG_TYPE_MD_DROP_TABLE
]
=
vnodeProcessWriteMsg
;
tsVmain
.
msgFp
[
TSDB_MSG_TYPE_MD_ALTER_TABLE
]
=
vnodeProcessWriteMsg
;
tsVmain
.
msgFp
[
TSDB_MSG_TYPE_MD_DROP_STABLE
]
=
vnodeProcessWriteMsg
;
tsVmain
.
msgFp
[
TSDB_MSG_TYPE_SUBMIT
]
=
vnodeProcessWriteMsg
;
tsVmain
.
msgFp
[
TSDB_MSG_TYPE_UPDATE_TAG_VAL
]
=
vnodeProcessWriteMsg
;
//mq related
tsVmain
.
msgFp
[
TSDB_MSG_TYPE_MQ_CONNECT
]
=
vnodeProcessWriteMsg
;
tsVmain
.
msgFp
[
TSDB_MSG_TYPE_MQ_DISCONNECT
]
=
vnodeProcessWriteMsg
;
tsVmain
.
msgFp
[
TSDB_MSG_TYPE_MQ_ACK
]
=
vnodeProcessWriteMsg
;
tsVmain
.
msgFp
[
TSDB_MSG_TYPE_MQ_RESET
]
=
vnodeProcessWriteMsg
;
//mq related end
tsVmain
.
msgFp
[
TSDB_MSG_TYPE_QUERY
]
=
vnodeProcessReadMsg
;
tsVmain
.
msgFp
[
TSDB_MSG_TYPE_FETCH
]
=
vnodeProcessReadMsg
;
//mq related
tsVmain
.
msgFp
[
TSDB_MSG_TYPE_MQ_QUERY
]
=
vnodeProcessReadMsg
;
tsVmain
.
msgFp
[
TSDB_MSG_TYPE_MQ_CONSUME
]
=
vnodeProcessReadMsg
;
//mq related end
}
void
vnodeProcessMsg
(
SRpcMsg
*
pMsg
)
{
...
...
source/server/vnode/src/vnodeRead.c
浏览文件 @
42fd474b
...
...
@@ -141,6 +141,9 @@ void vnodeProcessReadMsg(SRpcMsg *pMsg) {
static
void
vnodeInitReadMsgFp
()
{
tsVread
.
msgFp
[
TSDB_MSG_TYPE_QUERY
]
=
vnodeProcessQueryMsg
;
tsVread
.
msgFp
[
TSDB_MSG_TYPE_FETCH
]
=
vnodeProcessFetchMsg
;
tsVread
.
msgFp
[
TSDB_MSG_TYPE_MQ_QUERY
]
=
vnodeProcessTqQueryMsg
;
tsVread
.
msgFp
[
TSDB_MSG_TYPE_MQ_CONSUME
]
=
vnodeProcessConsumeMsg
;
}
static
int32_t
vnodeProcessReadStart
(
SVnode
*
pVnode
,
SReadMsg
*
pRead
,
int32_t
qtype
)
{
...
...
source/server/vnode/src/vnodeWrite.c
浏览文件 @
42fd474b
...
...
@@ -179,6 +179,20 @@ static bool vnodeProcessWriteStart(SVnode *pVnode, SVnWriteMsg *pWrite, int32_t
case
TSDB_MSG_TYPE_UPDATE_TAG_VAL
:
pWrite
->
code
=
vnodeProcessUpdateTagValReq
(
pVnode
,
(
void
*
)
pHead
->
cont
,
NULL
);
break
;
//mq related
case
TSDB_MSG_TYPE_MQ_CONNECT
:
pWrite
->
code
=
vnodeProcessMqConnectReq
(
pVnode
,
(
void
*
)
pHead
->
cont
,
NULL
);
break
;
case
TSDB_MSG_TYPE_MQ_DISCONNECT
:
pWrite
->
code
=
vnodeProcessMqDisconnectReq
(
pVnode
,
(
void
*
)
pHead
->
cont
,
NULL
);
break
;
case
TSDB_MSG_TYPE_MQ_ACK
:
pWrite
->
code
=
vnodeProcessMqAckReq
(
pVnode
,
(
void
*
)
pHead
->
cont
,
NULL
);
break
;
case
TSDB_MSG_TYPE_MQ_RESET
:
pWrite
->
code
=
vnodeProcessMqResetReq
(
pVnode
,
(
void
*
)
pHead
->
cont
,
NULL
);
break
;
//mq related end
default:
pWrite
->
code
=
TSDB_CODE_VND_MSG_NOT_PROCESSED
;
break
;
...
...
@@ -186,7 +200,7 @@ static bool vnodeProcessWriteStart(SVnode *pVnode, SVnWriteMsg *pWrite, int32_t
if
(
pWrite
->
code
<
0
)
return
false
;
// update fync
// update f
s
ync
return
(
pWrite
->
code
==
0
&&
msgType
!=
TSDB_MSG_TYPE_SUBMIT
);
}
...
...
@@ -233,4 +247,4 @@ void vnodeCleanupWrite() {
taos_queue
vnodeAllocWriteQueue
(
SVnode
*
pVnode
)
{
return
tWriteWorkerAllocQueue
(
&
tsVwrite
.
pool
,
pVnode
);
}
void
vnodeFreeWriteQueue
(
taos_queue
pQueue
)
{
tWriteWorkerFreeQueue
(
&
tsVwrite
.
pool
,
pQueue
);
}
\ No newline at end of file
void
vnodeFreeWriteQueue
(
taos_queue
pQueue
)
{
tWriteWorkerFreeQueue
(
&
tsVwrite
.
pool
,
pQueue
);
}
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录