Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
taosdata
TDengine
提交
a92aa1c5
TDengine
项目概览
taosdata
/
TDengine
1 年多 前同步成功
通知
1185
Star
22016
Fork
4786
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
1
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
TDengine
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
1
Issue
1
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
提交
a92aa1c5
编写于
11月 05, 2021
作者:
H
Hongze Cheng
浏览文件
操作
浏览文件
下载
差异文件
Merge branch '3.0' into feature/vnode
上级
c9c6aca0
c5b2a9e0
变更
18
展开全部
隐藏空白更改
内联
并排
Showing
18 changed file
with
1209 addition
and
138 deletion
+1209
-138
include/common/taosmsg.h
include/common/taosmsg.h
+53
-59
include/server/vnode/vnode.h
include/server/vnode/vnode.h
+25
-22
include/util/taoserror.h
include/util/taoserror.h
+1
-0
include/util/tdef.h
include/util/tdef.h
+3
-2
include/util/tqueue.h
include/util/tqueue.h
+3
-2
source/common/src/tname.c
source/common/src/tname.c
+1
-1
source/dnode/mgmt/inc/dnodeInt.h
source/dnode/mgmt/inc/dnodeInt.h
+4
-1
source/dnode/mgmt/inc/dnodeVnodes.h
source/dnode/mgmt/inc/dnodeVnodes.h
+7
-2
source/dnode/mgmt/src/dnodeDnode.c
source/dnode/mgmt/src/dnodeDnode.c
+2
-2
source/dnode/mgmt/src/dnodeInt.c
source/dnode/mgmt/src/dnodeInt.c
+2
-2
source/dnode/mgmt/src/dnodeTransport.c
source/dnode/mgmt/src/dnodeTransport.c
+34
-28
source/dnode/mgmt/src/dnodeVnodes.c
source/dnode/mgmt/src/dnodeVnodes.c
+1008
-5
source/dnode/mnode/inc/mnodeDef.h
source/dnode/mnode/inc/mnodeDef.h
+3
-3
source/dnode/vnode/impl/src/vnodeInt.c
source/dnode/vnode/impl/src/vnodeInt.c
+45
-6
source/libs/parser/src/parserUtil.c
source/libs/parser/src/parserUtil.c
+1
-1
source/util/src/terror.c
source/util/src/terror.c
+1
-0
source/util/src/tqueue.c
source/util/src/tqueue.c
+14
-0
source/util/src/tworker.c
source/util/src/tworker.c
+2
-2
未找到文件。
include/common/taosmsg.h
浏览文件 @
a92aa1c5
...
...
@@ -36,7 +36,7 @@ enum {
TSDB_MESSAGE_NULL
=
0
,
#endif
// message from client to
d
node
// message from client to
v
node
TAOS_DEFINE_MESSAGE_TYPE
(
TSDB_MSG_TYPE_SUBMIT
,
"submit"
)
TAOS_DEFINE_MESSAGE_TYPE
(
TSDB_MSG_TYPE_QUERY
,
"query"
)
TAOS_DEFINE_MESSAGE_TYPE
(
TSDB_MSG_TYPE_FETCH
,
"fetch"
)
...
...
@@ -46,25 +46,12 @@ TAOS_DEFINE_MESSAGE_TYPE( TSDB_MSG_TYPE_ALTER_TABLE, "alter-table" )
TAOS_DEFINE_MESSAGE_TYPE
(
TSDB_MSG_TYPE_UPDATE_TAG_VAL
,
"update-tag-val"
)
TAOS_DEFINE_MESSAGE_TYPE
(
TSDB_MSG_TYPE_TABLE_META
,
"table-meta"
)
TAOS_DEFINE_MESSAGE_TYPE
(
TSDB_MSG_TYPE_TABLES_META
,
"tables-meta"
)
TAOS_DEFINE_MESSAGE_TYPE
(
TSDB_MSG_TYPE_STABLE_VGROUP
,
"stable-vgroup"
)
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_CONNECT
,
"mq-connect"
)
TAOS_DEFINE_MESSAGE_TYPE
(
TSDB_MSG_TYPE_MQ_DISCONNECT
,
"mq-disconnect"
)
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_NETWORK_TEST
,
"nettest"
)
TAOS_DEFINE_MESSAGE_TYPE
(
TSDB_MSG_TYPE_DUMMY0
,
"dummy0"
)
TAOS_DEFINE_MESSAGE_TYPE
(
TSDB_MSG_TYPE_DUMMY1
,
"dummy1"
)
TAOS_DEFINE_MESSAGE_TYPE
(
TSDB_MSG_TYPE_DUMMY2
,
"dummy2"
)
TAOS_DEFINE_MESSAGE_TYPE
(
TSDB_MSG_TYPE_DUMMY3
,
"dummy3"
)
TAOS_DEFINE_MESSAGE_TYPE
(
TSDB_MSG_TYPE_DUMMY4
,
"dummy4"
)
TAOS_DEFINE_MESSAGE_TYPE
(
TSDB_MSG_TYPE_DUMMY5
,
"dummy5"
)
TAOS_DEFINE_MESSAGE_TYPE
(
TSDB_MSG_TYPE_DUMMY6
,
"dummy6"
)
TAOS_DEFINE_MESSAGE_TYPE
(
TSDB_MSG_TYPE_DUMMY7
,
"dummy7"
)
TAOS_DEFINE_MESSAGE_TYPE
(
TSDB_MSG_TYPE_DUMMY8
,
"dummy8"
)
TAOS_DEFINE_MESSAGE_TYPE
(
TSDB_MSG_TYPE_DUMMY9
,
"dummy9"
)
// message from client to mnode
TAOS_DEFINE_MESSAGE_TYPE
(
TSDB_MSG_TYPE_CONNECT
,
"connect"
)
TAOS_DEFINE_MESSAGE_TYPE
(
TSDB_MSG_TYPE_CREATE_ACCT
,
"create-acct"
)
...
...
@@ -88,6 +75,7 @@ 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_KILL_QUERY
,
"kill-query"
)
...
...
@@ -97,54 +85,55 @@ TAOS_DEFINE_MESSAGE_TYPE( TSDB_MSG_TYPE_SHOW, "show" )
TAOS_DEFINE_MESSAGE_TYPE
(
TSDB_MSG_TYPE_SHOW_RETRIEVE
,
"retrieve"
)
TAOS_DEFINE_MESSAGE_TYPE
(
TSDB_MSG_TYPE_SHOW_RETRIEVE_FUNC
,
"retrieve-func"
)
TAOS_DEFINE_MESSAGE_TYPE
(
TSDB_MSG_TYPE_COMPACT_VNODE
,
"compact-vnode"
)
TAOS_DEFINE_MESSAGE_TYPE
(
TSDB_MSG_TYPE_DUMMY10
,
"dummy10"
)
TAOS_DEFINE_MESSAGE_TYPE
(
TSDB_MSG_TYPE_DUMMY11
,
"dummy11"
)
TAOS_DEFINE_MESSAGE_TYPE
(
TSDB_MSG_TYPE_DUMMY12
,
"dummy12"
)
TAOS_DEFINE_MESSAGE_TYPE
(
TSDB_MSG_TYPE_DUMMY13
,
"dummy13"
)
TAOS_DEFINE_MESSAGE_TYPE
(
TSDB_MSG_TYPE_DUMMY14
,
"dummy14"
)
TAOS_DEFINE_MESSAGE_TYPE
(
TSDB_MSG_TYPE_DUMMY15
,
"dummy15"
)
TAOS_DEFINE_MESSAGE_TYPE
(
TSDB_MSG_TYPE_DUMMY16
,
"dummy16"
)
TAOS_DEFINE_MESSAGE_TYPE
(
TSDB_MSG_TYPE_DUMMY17
,
"dummy17"
)
TAOS_DEFINE_MESSAGE_TYPE
(
TSDB_MSG_TYPE_DUMMY18
,
"dummy18"
)
TAOS_DEFINE_MESSAGE_TYPE
(
TSDB_MSG_TYPE_DUMMY19
,
"dummy19"
)
// message from client to qnode
// message from client to dnode
TAOS_DEFINE_MESSAGE_TYPE
(
TSDB_MSG_TYPE_NETWORK_TEST
,
"nettest"
)
// message from mnode to dnode
// message from vnode to vnode
// message from vnode to mnode
// message from vnode to qnode
// message from vnode to dnode
// message from mnode to vnode
TAOS_DEFINE_MESSAGE_TYPE
(
TSDB_MSG_TYPE_CREATE_STABLE_IN
,
"create-stable"
)
TAOS_DEFINE_MESSAGE_TYPE
(
TSDB_MSG_TYPE_ALTER_STABLE_IN
,
"alter-stable"
)
TAOS_DEFINE_MESSAGE_TYPE
(
TSDB_MSG_TYPE_DROP_STABLE_IN
,
"drop-stable"
)
// message from mnode to mnode
// message from mnode to qnode
// message from mnode to dnode
TAOS_DEFINE_MESSAGE_TYPE
(
TSDB_MSG_TYPE_CREATE_VNODE_IN
,
"create-vnode"
)
TAOS_DEFINE_MESSAGE_TYPE
(
TSDB_MSG_TYPE_ALTER_VNODE_IN
,
"alter-vnode"
)
TAOS_DEFINE_MESSAGE_TYPE
(
TSDB_MSG_TYPE_DROP_VNODE_IN
,
"drop-vnode"
)
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_DROP_MNODE_IN
,
"drop-mnode"
)
TAOS_DEFINE_MESSAGE_TYPE
(
TSDB_MSG_TYPE_CONFIG_DNODE_IN
,
"config-dnode"
)
TAOS_DEFINE_MESSAGE_TYPE
(
TSDB_MSG_TYPE_DUMMY20
,
"dummy20"
)
TAOS_DEFINE_MESSAGE_TYPE
(
TSDB_MSG_TYPE_DUMMY21
,
"dummy21"
)
TAOS_DEFINE_MESSAGE_TYPE
(
TSDB_MSG_TYPE_DUMMY22
,
"dummy22"
)
TAOS_DEFINE_MESSAGE_TYPE
(
TSDB_MSG_TYPE_DUMMY23
,
"dummy23"
)
TAOS_DEFINE_MESSAGE_TYPE
(
TSDB_MSG_TYPE_DUMMY24
,
"dummy24"
)
TAOS_DEFINE_MESSAGE_TYPE
(
TSDB_MSG_TYPE_DUMMY25
,
"dummy25"
)
TAOS_DEFINE_MESSAGE_TYPE
(
TSDB_MSG_TYPE_DUMMY26
,
"dummy26"
)
TAOS_DEFINE_MESSAGE_TYPE
(
TSDB_MSG_TYPE_DUMMY27
,
"dummy27"
)
TAOS_DEFINE_MESSAGE_TYPE
(
TSDB_MSG_TYPE_DUMMY28
,
"dummy28"
)
TAOS_DEFINE_MESSAGE_TYPE
(
TSDB_MSG_TYPE_DUMMY29
,
"dummy29"
)
// message from qnode to vnode
// message from qnode to mnode
// message from qnode to qnode
// message from qnode to dnode
// message from dnode to vnode
// message from dnode to mnode
TAOS_DEFINE_MESSAGE_TYPE
(
TSDB_MSG_TYPE_STATUS
,
"status"
)
TAOS_DEFINE_MESSAGE_TYPE
(
TSDB_MSG_TYPE_GRANT
,
"grant"
)
TAOS_DEFINE_MESSAGE_TYPE
(
TSDB_MSG_TYPE_AUTH
,
"auth"
)
TAOS_DEFINE_MESSAGE_TYPE
(
TSDB_MSG_TYPE_DUMMY30
,
"dummy30"
)
TAOS_DEFINE_MESSAGE_TYPE
(
TSDB_MSG_TYPE_DUMMY31
,
"dummy31"
)
TAOS_DEFINE_MESSAGE_TYPE
(
TSDB_MSG_TYPE_DUMMY32
,
"dummy32"
)
TAOS_DEFINE_MESSAGE_TYPE
(
TSDB_MSG_TYPE_DUMMY33
,
"dummy33"
)
TAOS_DEFINE_MESSAGE_TYPE
(
TSDB_MSG_TYPE_DUMMY34
,
"dummy34"
)
TAOS_DEFINE_MESSAGE_TYPE
(
TSDB_MSG_TYPE_DUMMY35
,
"dummy35"
)
TAOS_DEFINE_MESSAGE_TYPE
(
TSDB_MSG_TYPE_DUMMY36
,
"dummy36"
)
TAOS_DEFINE_MESSAGE_TYPE
(
TSDB_MSG_TYPE_DUMMY37
,
"dummy37"
)
TAOS_DEFINE_MESSAGE_TYPE
(
TSDB_MSG_TYPE_DUMMY38
,
"dummy38"
)
TAOS_DEFINE_MESSAGE_TYPE
(
TSDB_MSG_TYPE_DUMMY39
,
"dummy39"
)
// message from dnode to qnode
// message from dnode to dnode
TAOS_DEFINE_MESSAGE_TYPE
(
TSDB_MSG_TYPE_DUMMY0
,
"dummy0"
)
TAOS_DEFINE_MESSAGE_TYPE
(
TSDB_MSG_TYPE_DUMMY1
,
"dummy1"
)
TAOS_DEFINE_MESSAGE_TYPE
(
TSDB_MSG_TYPE_DUMMY2
,
"dummy2"
)
TAOS_DEFINE_MESSAGE_TYPE
(
TSDB_MSG_TYPE_DUMMY3
,
"dummy3"
)
TAOS_DEFINE_MESSAGE_TYPE
(
TSDB_MSG_TYPE_DUMMY4
,
"dummy4"
)
TAOS_DEFINE_MESSAGE_TYPE
(
TSDB_MSG_TYPE_DUMMY5
,
"dummy5"
)
TAOS_DEFINE_MESSAGE_TYPE
(
TSDB_MSG_TYPE_DUMMY6
,
"dummy6"
)
TAOS_DEFINE_MESSAGE_TYPE
(
TSDB_MSG_TYPE_DUMMY7
,
"dummy7"
)
TAOS_DEFINE_MESSAGE_TYPE
(
TSDB_MSG_TYPE_DUMMY8
,
"dummy8"
)
TAOS_DEFINE_MESSAGE_TYPE
(
TSDB_MSG_TYPE_DUMMY9
,
"dummy9"
)
#ifndef TAOS_MESSAGE_C
TSDB_MSG_TYPE_MAX
// 147
...
...
@@ -336,7 +325,7 @@ typedef struct {
typedef
struct
{
char
tableFname
[
TSDB_TABLE_FNAME_LEN
];
char
db
[
TSDB_
ACCT_ID_LEN
+
TSDB
_DB_NAME_LEN
];
char
db
[
TSDB_
FULL
_DB_NAME_LEN
];
int16_t
type
;
/* operation type */
int16_t
numOfCols
;
/* number of schema */
int32_t
tagValLen
;
...
...
@@ -428,10 +417,6 @@ typedef struct {
char
tableFname
[
TSDB_TABLE_FNAME_LEN
];
}
SDropSTableMsg
;
typedef
struct
{
int32_t
vgId
;
}
SDropVnodeMsg
,
SSyncVnodeMsg
,
SCompactVnodeMsg
;
typedef
struct
SColIndex
{
int16_t
colId
;
// column id
int16_t
colIndex
;
// column index in colList if it is a normal column or index in tagColList if a tag
...
...
@@ -585,7 +570,7 @@ typedef struct SRetrieveTableRsp {
}
SRetrieveTableRsp
;
typedef
struct
{
char
db
[
TSDB_
ACCT_ID_LEN
+
TSDB
_DB_NAME_LEN
];
char
db
[
TSDB_
FULL
_DB_NAME_LEN
];
int32_t
cacheBlockSize
;
//MB
int32_t
totalBlocks
;
int32_t
maxTables
;
...
...
@@ -661,9 +646,8 @@ typedef struct {
typedef
struct
{
int32_t
vgId
;
int8_t
status
;
int8_t
role
;
int8_t
reserved
[
2
];
int8_t
reserved
[
3
];
int64_t
totalStorage
;
int64_t
compStorage
;
int64_t
pointsWritten
;
...
...
@@ -671,8 +655,8 @@ typedef struct {
}
SVnodeLoad
;
typedef
struct
{
int32_t
vnodeN
um
;
SVnodeLoad
vnodeLoads
[];
int32_t
n
um
;
SVnodeLoad
data
[];
}
SVnodeLoads
;
typedef
struct
SStatusMsg
{
...
...
@@ -717,7 +701,7 @@ typedef struct {
}
SVnodeDesc
;
typedef
struct
{
char
db
[
TSDB_
ACCT_ID_LEN
+
TSDB
_DB_NAME_LEN
];
char
db
[
TSDB_
FULL
_DB_NAME_LEN
];
uint32_t
vgId
;
int32_t
cacheBlockSize
;
int32_t
totalBlocks
;
...
...
@@ -737,9 +721,18 @@ typedef struct {
int8_t
replica
;
int8_t
quorum
;
int8_t
selfIndex
;
SVnodeDesc
node
s
[
TSDB_MAX_REPLICA
];
SVnodeDesc
replica
s
[
TSDB_MAX_REPLICA
];
}
SCreateVnodeMsg
,
SAlterVnodeMsg
;
typedef
struct
{
int32_t
vgId
;
}
SDropVnodeMsg
,
SSyncVnodeMsg
,
SCompactVnodeMsg
;
typedef
struct
{
int32_t
vgId
;
int8_t
accessState
;
}
SAuthVnodeMsg
;
typedef
struct
{
char
tableFname
[
TSDB_TABLE_FNAME_LEN
];
int16_t
createFlag
;
...
...
@@ -811,13 +804,13 @@ typedef struct {
*/
typedef
struct
{
int8_t
type
;
char
db
[
TSDB_
ACCT_ID_LEN
+
TSDB
_DB_NAME_LEN
];
char
db
[
TSDB_
FULL
_DB_NAME_LEN
];
uint16_t
payloadLen
;
char
payload
[];
}
SShowMsg
;
typedef
struct
{
char
db
[
TSDB_
ACCT_ID_LEN
+
TSDB
_DB_NAME_LEN
];
char
db
[
TSDB_
FULL
_DB_NAME_LEN
];
int32_t
numOfVgroup
;
int32_t
vgid
[];
}
SCompactMsg
;
...
...
@@ -1002,6 +995,7 @@ typedef struct {
/* data */
}
SUpdateTagValRsp
;
#pragma pack(pop)
#ifdef __cplusplus
...
...
include/server/vnode/vnode.h
浏览文件 @
a92aa1c5
...
...
@@ -27,7 +27,7 @@ extern "C" {
typedef
struct
SVnode
SVnode
;
typedef
struct
{
char
db
Name
[
TSDB_ACCT_ID_LEN
+
TSDB
_DB_NAME_LEN
];
char
db
[
TSDB_FULL
_DB_NAME_LEN
];
int32_t
cacheBlockSize
;
// MB
int32_t
totalBlocks
;
int32_t
daysPerFile
;
...
...
@@ -47,40 +47,43 @@ typedef struct {
SVnodeDesc
replicas
[
TSDB_MAX_REPLICA
];
}
SVnodeCfg
;
typedef
struct
{
int64_t
totalStorage
;
int64_t
compStorage
;
int64_t
pointsWritten
;
int64_t
tablesNum
;
}
SVnodeStatisic
;
typedef
enum
{
VN_MSG_TYPE_WRITE
=
1
,
VN_MSG_TYPE_APPLY
,
VN_MSG_TYPE_SYNC
,
VN_MSG_TYPE_QUERY
,
VN_MSG_TYPE_FETCH
}
EVnMsgType
;
typedef
struct
{
int8_t
syncRole
;
}
SVnodeStatus
;
typedef
struct
SVnodeMsg
{
int32_t
msgType
;
int32_t
code
;
SRpcMsg
rpcMsg
;
// original message from rpc
int32_t
contLen
;
char
pCont
[];
int32_t
curNum
;
int32_t
allocNum
;
SRpcMsg
rpcMsg
[];
}
SVnodeMsg
;
int32_t
vnodeInit
();
void
vnodeCleanup
();
typedef
struct
{
void
(
*
SendMsgToDnode
)(
SEpSet
*
pEpSet
,
SRpcMsg
*
pMsg
);
void
(
*
SendMsgToMnode
)(
SRpcMsg
*
pMsg
);
int32_t
(
*
PutMsgIntoApplyQueue
)(
int32_t
vgId
,
SVnodeMsg
*
pMsg
);
}
SVnodePara
;
int32_t
vnode
GetStatistics
(
SVnode
*
pVnode
,
SVnodeStatisic
*
pStat
);
int32_t
vnodeGetStatus
(
SVnode
*
pVnode
,
SVnodeStatus
*
pStatus
);
int32_t
vnode
Init
(
SVnodePara
);
void
vnodeCleanup
(
);
SVnode
*
vnodeOpen
(
int32_t
vgId
,
const
char
*
path
);
void
vnodeClose
(
SVnode
*
pVnode
);
int32_t
vnodeAlter
(
SVnode
*
pVnode
,
const
SVnodeCfg
*
pCfg
);
SVnode
*
vnodeCreate
(
int32_t
vgId
,
const
char
*
path
,
const
SVnodeCfg
*
pCfg
);
int32_t
vnodeDrop
(
SVnode
*
pVnode
);
void
vnodeDrop
(
SVnode
*
pVnode
);
int32_t
vnodeCompact
(
SVnode
*
pVnode
);
int32_t
vnodeSync
(
SVnode
*
pVnode
);
void
vnodeProcessMsg
(
SVnode
*
pVnode
,
SVnodeMsg
*
pMsg
);
int32_t
vnodeGetLoad
(
SVnode
*
pVnode
,
SVnodeLoad
*
pLoad
);
SVnodeMsg
*
vnodeInitMsg
(
int32_t
msgNum
);
int32_t
vnodeAppendMsg
(
SVnodeMsg
*
pMsg
,
SRpcMsg
*
pRpcMsg
);
void
vnodeCleanupMsg
(
SVnodeMsg
*
pMsg
);
void
vnodeProcessMsg
(
SVnode
*
pVnode
,
SVnodeMsg
*
pMsg
,
EVnMsgType
msgType
);
#ifdef __cplusplus
}
...
...
include/util/taoserror.h
浏览文件 @
a92aa1c5
...
...
@@ -223,6 +223,7 @@ int32_t* taosGetErrno();
#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")
// vnode
#define TSDB_CODE_VND_ACTION_IN_PROGRESS TAOS_DEF_ERROR_CODE(0, 0x0500) //"Action in progress")
...
...
include/util/tdef.h
浏览文件 @
a92aa1c5
...
...
@@ -153,11 +153,12 @@ do { \
#define TSDB_NODE_NAME_LEN 64
#define TSDB_TABLE_NAME_LEN 193 // it is a null-terminated string
#define TSDB_DB_NAME_LEN 33
#define TSDB_FULL_DB_NAME_LEN (TSDB_ACCT_ID_LEN + TSDB_DB_NAME_LEN)
#define TSDB_FUNC_NAME_LEN 65
#define TSDB_FUNC_CODE_LEN (65535 - 512)
#define TSDB_FUNC_BUF_SIZE 512
#define TSDB_TYPE_STR_MAX_LEN 32
#define TSDB_TABLE_FNAME_LEN (TSDB_
ACCT_ID_LEN + TSDB
_DB_NAME_LEN + TSDB_TABLE_NAME_LEN)
#define TSDB_TABLE_FNAME_LEN (TSDB_
FULL
_DB_NAME_LEN + TSDB_TABLE_NAME_LEN)
#define TSDB_COL_NAME_LEN 65
#define TSDB_MAX_SAVED_SQL_LEN TSDB_MAX_COLUMNS * 64
#define TSDB_MAX_SQL_LEN TSDB_PAYLOAD_SIZE
...
...
@@ -211,7 +212,7 @@ do { \
#define TSDB_EXTRA_PAYLOAD_SIZE 128 // extra bytes for auth
#define TSDB_CQ_SQL_SIZE 1024
#define TSDB_MIN_VNODES 64
#define TSDB_MAX_VNODES
2048
#define TSDB_MAX_VNODES
512
#define TSDB_MIN_VNODES_PER_DB 2
#define TSDB_MAX_VNODES_PER_DB 64
...
...
include/util/tqueue.h
浏览文件 @
a92aa1c5
...
...
@@ -40,8 +40,8 @@ shall be used to set up the protection.
typedef
void
*
taos_queue
;
typedef
void
*
taos_qset
;
typedef
void
*
taos_qall
;
typedef
void
*
(
*
FProcessItem
)(
void
*
pItem
,
void
*
ahandle
);
typedef
void
*
(
*
FProcessItems
)(
taos_qall
qall
,
int
numOfItems
,
void
*
ahandle
);
typedef
void
(
*
FProcessItem
)(
void
*
ahandle
,
void
*
pItem
);
typedef
void
(
*
FProcessItems
)(
void
*
ahandle
,
taos_qall
qall
,
int
numOfItems
);
taos_queue
taosOpenQueue
();
void
taosCloseQueue
(
taos_queue
);
...
...
@@ -50,6 +50,7 @@ void *taosAllocateQitem(int size);
void
taosFreeQitem
(
void
*
pItem
);
int
taosWriteQitem
(
taos_queue
,
void
*
pItem
);
int
taosReadQitem
(
taos_queue
,
void
**
pItem
);
bool
taosQueueEmpty
(
taos_queue
);
taos_qall
taosAllocateQall
();
void
taosFreeQall
(
taos_qall
);
...
...
source/common/src/tname.c
浏览文件 @
a92aa1c5
...
...
@@ -201,7 +201,7 @@ int32_t tNameExtractFullName(const SName* name, char* dst) {
return
-
1
;
}
int32_t
len
=
snprintf
(
dst
,
TSDB_
ACCT_ID_LEN
+
TSDB
_DB_NAME_LEN
,
"%s.%s"
,
name
->
acctId
,
name
->
dbname
);
int32_t
len
=
snprintf
(
dst
,
TSDB_
FULL
_DB_NAME_LEN
,
"%s.%s"
,
name
->
acctId
,
name
->
dbname
);
size_t
tnameLen
=
strlen
(
name
->
tname
);
if
(
tnameLen
>
0
)
{
...
...
source/dnode/mgmt/inc/dnodeInt.h
浏览文件 @
a92aa1c5
...
...
@@ -42,7 +42,10 @@ void dnodeCleanup();
EDnStat
dnodeGetRunStat
();
void
dnodeSetRunStat
();
void
dnodeGetStartup
(
SStartupMsg
*
);
void
dnodeReportStartup
(
char
*
name
,
char
*
desc
);
void
dnodeReportStartupFinished
(
char
*
name
,
char
*
desc
);
void
dnodeGetStartup
(
SStartupMsg
*
);
#ifdef __cplusplus
}
...
...
source/dnode/mgmt/inc/dnodeVnodes.h
浏览文件 @
a92aa1c5
...
...
@@ -23,8 +23,13 @@ extern "C" {
int32_t
dnodeInitVnodes
();
void
dnodeCleanupVnodes
();
void
dnodeProcessVnodesMsg
(
SRpcMsg
*
pMsg
,
SEpSet
*
pEpSet
);
void
dnodeGetVnodes
(
SVnodeLoads
*
pVloads
);
void
dnodeGetVnodeLoads
(
SVnodeLoads
*
pVloads
);
void
dnodeProcessVnodeMgmtMsg
(
SRpcMsg
*
pMsg
,
SEpSet
*
pEpSet
);
void
dnodeProcessVnodeWriteMsg
(
SRpcMsg
*
pMsg
,
SEpSet
*
pEpSet
);
void
dnodeProcessVnodeSyncMsg
(
SRpcMsg
*
pMsg
,
SEpSet
*
pEpSet
);
void
dnodeProcessVnodeQueryMsg
(
SRpcMsg
*
pMsg
,
SEpSet
*
pEpSet
);
void
dnodeProcessVnodeFetchMsg
(
SRpcMsg
*
pMsg
,
SEpSet
*
pEpSet
);
#ifdef __cplusplus
}
...
...
source/dnode/mgmt/src/dnodeDnode.c
浏览文件 @
a92aa1c5
...
...
@@ -372,8 +372,8 @@ static void dnodeSendStatusMsg() {
char
timestr
[
32
]
=
"1970-01-01 00:00:00.00"
;
(
void
)
taosParseTime
(
timestr
,
&
pStatus
->
clusterCfg
.
checkTime
,
(
int32_t
)
strlen
(
timestr
),
TSDB_TIME_PRECISION_MILLI
,
0
);
dnodeGetVnodes
(
&
pStatus
->
vnodeLoads
);
contLen
=
sizeof
(
SStatusMsg
)
+
pStatus
->
vnodeLoads
.
vnodeN
um
*
sizeof
(
SVnodeLoad
);
dnodeGetVnode
Load
s
(
&
pStatus
->
vnodeLoads
);
contLen
=
sizeof
(
SStatusMsg
)
+
pStatus
->
vnodeLoads
.
n
um
*
sizeof
(
SVnodeLoad
);
SRpcMsg
rpcMsg
=
{.
pCont
=
pStatus
,
.
contLen
=
contLen
,
.
msgType
=
TSDB_MSG_TYPE_STATUS
};
dnodeSendMsgToMnode
(
&
rpcMsg
);
...
...
source/dnode/mgmt/src/dnodeInt.c
浏览文件 @
a92aa1c5
...
...
@@ -35,14 +35,14 @@ EDnStat dnodeGetRunStat() { return tsInt.runStat; }
void
dnodeSetRunStat
(
EDnStat
stat
)
{
tsInt
.
runStat
=
stat
;
}
static
void
dnodeReportStartup
(
char
*
name
,
char
*
desc
)
{
void
dnodeReportStartup
(
char
*
name
,
char
*
desc
)
{
SStartupMsg
*
pStartup
=
&
tsInt
.
startup
;
tstrncpy
(
pStartup
->
name
,
name
,
strlen
(
pStartup
->
name
));
tstrncpy
(
pStartup
->
desc
,
desc
,
strlen
(
pStartup
->
desc
));
pStartup
->
finished
=
0
;
}
static
void
dnodeReportStartupFinished
(
char
*
name
,
char
*
desc
)
{
void
dnodeReportStartupFinished
(
char
*
name
,
char
*
desc
)
{
SStartupMsg
*
pStartup
=
&
tsInt
.
startup
;
tstrncpy
(
pStartup
->
name
,
name
,
strlen
(
pStartup
->
name
));
tstrncpy
(
pStartup
->
desc
,
desc
,
strlen
(
pStartup
->
desc
));
...
...
source/dnode/mgmt/src/dnodeTransport.c
浏览文件 @
a92aa1c5
...
...
@@ -34,24 +34,22 @@ static struct {
static
void
dnodeInitMsgFp
()
{
// msg from client to dnode
tsTrans
.
msgFp
[
TSDB_MSG_TYPE_SUBMIT
]
=
dnodeProcessVnodesMsg
;
tsTrans
.
msgFp
[
TSDB_MSG_TYPE_QUERY
]
=
dnodeProcessVnodesMsg
;
tsTrans
.
msgFp
[
TSDB_MSG_TYPE_FETCH
]
=
dnodeProcessVnodesMsg
;
tsTrans
.
msgFp
[
TSDB_MSG_TYPE_CREATE_TABLE
]
=
dnodeProcessVnodesMsg
;
tsTrans
.
msgFp
[
TSDB_MSG_TYPE_DROP_TABLE
]
=
dnodeProcessVnodesMsg
;
tsTrans
.
msgFp
[
TSDB_MSG_TYPE_ALTER_TABLE
]
=
dnodeProcessVnodesMsg
;
tsTrans
.
msgFp
[
TSDB_MSG_TYPE_UPDATE_TAG_VAL
]
=
dnodeProcessVnodesMsg
;
tsTrans
.
msgFp
[
TSDB_MSG_TYPE_TABLE_META
]
=
dnodeProcessVnodesMsg
;
tsTrans
.
msgFp
[
TSDB_MSG_TYPE_TABLES_META
]
=
dnodeProcessVnodesMsg
;
tsTrans
.
msgFp
[
TSDB_MSG_TYPE_STABLE_VGROUP
]
=
dnodeProcessMnodeMsg
;
tsTrans
.
msgFp
[
TSDB_MSG_TYPE_MQ_QUERY
]
=
dnodeProcessVnodesMsg
;
tsTrans
.
msgFp
[
TSDB_MSG_TYPE_MQ_CONSUME
]
=
dnodeProcessVnodesMsg
;
tsTrans
.
msgFp
[
TSDB_MSG_TYPE_MQ_CONNECT
]
=
dnodeProcessVnodesMsg
;
tsTrans
.
msgFp
[
TSDB_MSG_TYPE_MQ_DISCONNECT
]
=
dnodeProcessVnodesMsg
;
tsTrans
.
msgFp
[
TSDB_MSG_TYPE_MQ_ACK
]
=
dnodeProcessVnodesMsg
;
tsTrans
.
msgFp
[
TSDB_MSG_TYPE_MQ_RESET
]
=
dnodeProcessVnodesMsg
;
tsTrans
.
msgFp
[
TSDB_MSG_TYPE_NETWORK_TEST
]
=
dnodeProcessDnodeMsg
;
tsTrans
.
msgFp
[
TSDB_MSG_TYPE_SUBMIT
]
=
dnodeProcessVnodeWriteMsg
;
tsTrans
.
msgFp
[
TSDB_MSG_TYPE_QUERY
]
=
dnodeProcessVnodeQueryMsg
;
tsTrans
.
msgFp
[
TSDB_MSG_TYPE_FETCH
]
=
dnodeProcessVnodeFetchMsg
;
tsTrans
.
msgFp
[
TSDB_MSG_TYPE_CREATE_TABLE
]
=
dnodeProcessVnodeWriteMsg
;
tsTrans
.
msgFp
[
TSDB_MSG_TYPE_DROP_TABLE
]
=
dnodeProcessVnodeWriteMsg
;
tsTrans
.
msgFp
[
TSDB_MSG_TYPE_ALTER_TABLE
]
=
dnodeProcessVnodeWriteMsg
;
tsTrans
.
msgFp
[
TSDB_MSG_TYPE_UPDATE_TAG_VAL
]
=
dnodeProcessVnodeWriteMsg
;
tsTrans
.
msgFp
[
TSDB_MSG_TYPE_TABLE_META
]
=
dnodeProcessVnodeQueryMsg
;
tsTrans
.
msgFp
[
TSDB_MSG_TYPE_TABLES_META
]
=
dnodeProcessVnodeQueryMsg
;
tsTrans
.
msgFp
[
TSDB_MSG_TYPE_MQ_QUERY
]
=
dnodeProcessVnodeQueryMsg
;
tsTrans
.
msgFp
[
TSDB_MSG_TYPE_MQ_CONSUME
]
=
dnodeProcessVnodeQueryMsg
;
tsTrans
.
msgFp
[
TSDB_MSG_TYPE_MQ_CONNECT
]
=
dnodeProcessVnodeWriteMsg
;
tsTrans
.
msgFp
[
TSDB_MSG_TYPE_MQ_DISCONNECT
]
=
dnodeProcessVnodeWriteMsg
;
tsTrans
.
msgFp
[
TSDB_MSG_TYPE_MQ_ACK
]
=
dnodeProcessVnodeWriteMsg
;
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
;
...
...
@@ -77,6 +75,7 @@ static void dnodeInitMsgFp() {
tsTrans
.
msgFp
[
TSDB_MSG_TYPE_CREATE_STABLE
]
=
dnodeProcessMnodeMsg
;
tsTrans
.
msgFp
[
TSDB_MSG_TYPE_DROP_STABLE
]
=
dnodeProcessMnodeMsg
;
tsTrans
.
msgFp
[
TSDB_MSG_TYPE_ALTER_STABLE
]
=
dnodeProcessMnodeMsg
;
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
;
...
...
@@ -85,22 +84,29 @@ static void dnodeInitMsgFp() {
tsTrans
.
msgFp
[
TSDB_MSG_TYPE_SHOW_RETRIEVE_FUNC
]
=
dnodeProcessMnodeMsg
;
tsTrans
.
msgFp
[
TSDB_MSG_TYPE_COMPACT_VNODE
]
=
dnodeProcessMnodeMsg
;
// message from mnode to dnode
tsTrans
.
msgFp
[
TSDB_MSG_TYPE_CREATE_STABLE_IN
]
=
dnodeProcessVnodesMsg
;
// 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
]
=
dnodeProcessVnodes
Msg
;
tsTrans
.
msgFp
[
TSDB_MSG_TYPE_
ALTER_STABLE_IN
]
=
dnodeProcessVnodeWrite
Msg
;
tsTrans
.
msgFp
[
TSDB_MSG_TYPE_ALTER_STABLE_IN_RSP
]
=
dnodeProcessMnodeMsg
;
tsTrans
.
msgFp
[
TSDB_MSG_TYPE_CREATE_STABLE_IN
]
=
dnodeProcessVnodesMsg
;
tsTrans
.
msgFp
[
TSDB_MSG_TYPE_DROP_STABLE_IN_RSP
]
=
dnodeProcessMnodeMsg
;
tsTrans
.
msgFp
[
TSDB_MSG_TYPE_CREATE_VNODE_IN
]
=
dnodeProcessVnodesMsg
;
tsTrans
.
msgFp
[
TSDB_MSG_TYPE_DROP_STABLE_IN
]
=
dnodeProcessVnodeWriteMsg
;
tsTrans
.
msgFp
[
TSDB_MSG_TYPE_DROP_STABLE_IN
]
=
dnodeProcessMnodeMsg
;
// 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_ALTER_VNODE_IN
]
=
dnodeProcessVnode
s
Msg
;
tsTrans
.
msgFp
[
TSDB_MSG_TYPE_ALTER_VNODE_IN
]
=
dnodeProcessVnode
Mgmt
Msg
;
tsTrans
.
msgFp
[
TSDB_MSG_TYPE_ALTER_VNODE_IN_RSP
]
=
dnodeProcessMnodeMsg
;
tsTrans
.
msgFp
[
TSDB_MSG_TYPE_DROP_VNODE_IN
]
=
dnodeProcessVnode
s
Msg
;
tsTrans
.
msgFp
[
TSDB_MSG_TYPE_DROP_VNODE_IN
]
=
dnodeProcessVnode
Mgmt
Msg
;
tsTrans
.
msgFp
[
TSDB_MSG_TYPE_DROP_VNODE_IN_RSP
]
=
dnodeProcessMnodeMsg
;
tsTrans
.
msgFp
[
TSDB_MSG_TYPE_SYNC_VNODE_IN
]
=
dnodeProcessVnode
s
Msg
;
tsTrans
.
msgFp
[
TSDB_MSG_TYPE_SYNC_VNODE_IN
]
=
dnodeProcessVnode
Mgmt
Msg
;
tsTrans
.
msgFp
[
TSDB_MSG_TYPE_SYNC_VNODE_IN_RSP
]
=
dnodeProcessMnodeMsg
;
tsTrans
.
msgFp
[
TSDB_MSG_TYPE_COMPACT_VNODE_IN
]
=
dnodeProcessVnodesMsg
;
tsTrans
.
msgFp
[
TSDB_MSG_TYPE_AUTH_VNODE_IN
]
=
dnodeProcessVnodeMgmtMsg
;
tsTrans
.
msgFp
[
TSDB_MSG_TYPE_AUTH_VNODE_IN_RSP
]
=
dnodeProcessMnodeMsg
;
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
;
...
...
source/dnode/mgmt/src/dnodeVnodes.c
浏览文件 @
a92aa1c5
此差异已折叠。
点击以展开。
source/dnode/mnode/inc/mnodeDef.h
浏览文件 @
a92aa1c5
...
...
@@ -208,7 +208,7 @@ typedef struct {
typedef
struct
SDbObj
{
SdbHead
head
;
char
name
[
TSDB_
ACCT_ID_LEN
+
TSDB
_DB_NAME_LEN
];
char
name
[
TSDB_
FULL
_DB_NAME_LEN
];
char
acct
[
TSDB_USER_LEN
];
int64_t
createdTime
;
int64_t
updateTime
;
...
...
@@ -236,7 +236,7 @@ typedef struct SVgObj {
int64_t
updateTime
;
int32_t
lbDnodeId
;
int32_t
lbTime
;
char
dbName
[
TSDB_
ACCT_ID_LEN
+
TSDB
_DB_NAME_LEN
];
char
dbName
[
TSDB_
FULL
_DB_NAME_LEN
];
int8_t
inUse
;
int8_t
accessState
;
int8_t
status
;
...
...
@@ -288,7 +288,7 @@ typedef struct {
void
*
pIter
;
void
*
pVgIter
;
void
**
ppShow
;
char
db
[
TSDB_
ACCT_ID_LEN
+
TSDB
_DB_NAME_LEN
];
char
db
[
TSDB_
FULL
_DB_NAME_LEN
];
int16_t
offset
[
TSDB_MAX_COLUMNS
];
int32_t
bytes
[
TSDB_MAX_COLUMNS
];
char
payload
[];
...
...
source/dnode/vnode/impl/src/vnodeInt.c
浏览文件 @
a92aa1c5
...
...
@@ -15,19 +15,58 @@
#define _DEFAULT_SOURCE
#include "vnodeInt.h"
#include "tqueue.h"
int32_t
vnodeInit
()
{
return
0
;
}
int32_t
vnodeInit
(
SVnodePara
para
)
{
return
0
;
}
void
vnodeCleanup
()
{}
int32_t
vnodeGetStatistics
(
SVnode
*
pVnode
,
SVnodeStatisic
*
pStat
)
{
return
0
;
}
int32_t
vnodeGetStatus
(
SVnode
*
pVnode
,
SVnodeStatus
*
pStatus
)
{
return
0
;
}
SVnode
*
vnodeOpen
(
int32_t
vgId
,
const
char
*
path
)
{
return
NULL
;
}
void
vnodeClose
(
SVnode
*
pVnode
)
{}
int32_t
vnodeAlter
(
SVnode
*
pVnode
,
const
SVnodeCfg
*
pCfg
)
{
return
0
;
}
SVnode
*
vnodeCreate
(
int32_t
vgId
,
const
char
*
path
,
const
SVnodeCfg
*
pCfg
)
{
return
NULL
;
}
int32_t
vnodeDrop
(
SVnode
*
pVnode
)
{
return
0
;
}
void
vnodeDrop
(
SVnode
*
pVnode
)
{
}
int32_t
vnodeCompact
(
SVnode
*
pVnode
)
{
return
0
;
}
int32_t
vnodeSync
(
SVnode
*
pVnode
)
{
return
0
;
}
void
vnodeProcessMsg
(
SVnode
*
pVnode
,
SVnodeMsg
*
pMsg
)
{}
int32_t
vnodeGetLoad
(
SVnode
*
pVnode
,
SVnodeLoad
*
pLoad
)
{
return
0
;
}
SVnodeMsg
*
vnodeInitMsg
(
int32_t
msgNum
)
{
SVnodeMsg
*
pMsg
=
taosAllocateQitem
(
msgNum
*
sizeof
(
SRpcMsg
*
)
+
sizeof
(
SVnodeMsg
));
if
(
pMsg
==
NULL
)
{
terrno
=
TSDB_CODE_VND_OUT_OF_MEMORY
;
return
NULL
;
}
else
{
pMsg
->
allocNum
=
msgNum
;
return
pMsg
;
}
}
int32_t
vnodeAppendMsg
(
SVnodeMsg
*
pMsg
,
SRpcMsg
*
pRpcMsg
)
{
if
(
pMsg
->
curNum
>=
pMsg
->
allocNum
)
{
return
TSDB_CODE_VND_OUT_OF_MEMORY
;
}
pMsg
->
rpcMsg
[
pMsg
->
curNum
++
]
=
*
pRpcMsg
;
}
void
vnodeCleanupMsg
(
SVnodeMsg
*
pMsg
)
{
for
(
int32_t
i
=
0
;
i
<
pMsg
->
curNum
;
++
i
)
{
rpcFreeCont
(
pMsg
->
rpcMsg
[
i
].
pCont
);
}
taosFreeQitem
(
pMsg
);
}
void
vnodeProcessMsg
(
SVnode
*
pVnode
,
SVnodeMsg
*
pMsg
,
EVnMsgType
msgType
)
{
switch
(
msgType
)
{
case
VN_MSG_TYPE_WRITE
:
break
;
case
VN_MSG_TYPE_APPLY
:
break
;
case
VN_MSG_TYPE_SYNC
:
break
;
case
VN_MSG_TYPE_QUERY
:
break
;
case
VN_MSG_TYPE_FETCH
:
break
;
}
}
source/libs/parser/src/parserUtil.c
浏览文件 @
a92aa1c5
...
...
@@ -1934,7 +1934,7 @@ char* cloneCurrentDBName(SSqlObj* pSql) {
case TAOS_REQ_FROM_HTTP:
pCtx = pSql->param;
if (pCtx && pCtx->db[0] != '\0') {
char db[TSDB_
ACCT_ID_LEN + TSDB
_DB_NAME_LEN] = {0};
char db[TSDB_
FULL
_DB_NAME_LEN] = {0};
int32_t len = sprintf(db, "%s%s%s", pTscObj->acctId, TS_PATH_DELIMITER, pCtx->db);
assert(len <= sizeof(db));
...
...
source/util/src/terror.c
浏览文件 @
a92aa1c5
...
...
@@ -235,6 +235,7 @@ TAOS_DEFINE_ERROR(TSDB_CODE_DND_INVALID_MSG_LEN, "Invalid message lengt
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"
)
// vnode
TAOS_DEFINE_ERROR
(
TSDB_CODE_VND_ACTION_IN_PROGRESS
,
"Action in progress"
)
...
...
source/util/src/tqueue.c
浏览文件 @
a92aa1c5
...
...
@@ -98,6 +98,20 @@ void taosCloseQueue(taos_queue param) {
uTrace
(
"queue:%p is closed"
,
queue
);
}
bool
taosQueueEmpty
(
taos_queue
param
)
{
if
(
param
==
NULL
)
return
true
;
STaosQueue
*
queue
=
(
STaosQueue
*
)
param
;
bool
empty
=
false
;
pthread_mutex_lock
(
&
queue
->
mutex
);
if
(
queue
->
head
==
NULL
&&
queue
->
tail
==
NULL
)
{
empty
=
true
;
}
pthread_mutex_destroy
(
&
queue
->
mutex
);
return
empty
;
}
void
*
taosAllocateQitem
(
int
size
)
{
STaosQnode
*
pNode
=
(
STaosQnode
*
)
calloc
(
sizeof
(
STaosQnode
)
+
size
,
1
);
...
...
source/util/src/tworker.c
浏览文件 @
a92aa1c5
...
...
@@ -76,7 +76,7 @@ static void *tWorkerThreadFp(SWorker *worker) {
}
if
(
fp
)
{
(
*
fp
)(
msg
,
ahandle
);
(
*
fp
)(
ahandle
,
msg
);
}
}
...
...
@@ -186,7 +186,7 @@ static void *tWriteWorkerThreadFp(SMWorker *worker) {
}
if
(
fp
)
{
(
*
fp
)(
worker
->
qall
,
numOfMsgs
,
ahandle
);
(
*
fp
)(
ahandle
,
worker
->
qall
,
numOfMsgs
);
}
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录