Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
taosdata
TDengine
提交
1363021f
T
TDengine
项目概览
taosdata
/
TDengine
接近 2 年 前同步成功
通知
1192
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看板
提交
1363021f
编写于
3月 19, 2022
作者:
S
Shengliang Guan
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
shm
上级
17215ffe
变更
9
隐藏空白更改
内联
并排
Showing
9 changed file
with
32 addition
and
30 deletion
+32
-30
source/dnode/mgmt/vnode/inc/vmInt.h
source/dnode/mgmt/vnode/inc/vmInt.h
+15
-14
source/dnode/mgmt/vnode/src/vmInt.c
source/dnode/mgmt/vnode/src/vmInt.c
+2
-1
source/dnode/mgmt/vnode/src/vmMsg.c
source/dnode/mgmt/vnode/src/vmMsg.c
+1
-1
source/dnode/mgmt/vnode/src/vmWorker.c
source/dnode/mgmt/vnode/src/vmWorker.c
+3
-3
source/dnode/vnode/inc/vnode.h
source/dnode/vnode/inc/vnode.h
+1
-1
source/dnode/vnode/src/inc/vnd.h
source/dnode/vnode/src/inc/vnd.h
+3
-3
source/dnode/vnode/src/vnd/vnodeMain.c
source/dnode/vnode/src/vnd/vnodeMain.c
+2
-2
source/dnode/vnode/src/vnd/vnodeMgr.c
source/dnode/vnode/src/vnd/vnodeMgr.c
+4
-4
source/dnode/vnode/src/vnd/vnodeQuery.c
source/dnode/vnode/src/vnd/vnodeQuery.c
+1
-1
未找到文件。
source/dnode/mgmt/vnode/inc/vmInt.h
浏览文件 @
1363021f
...
@@ -49,20 +49,21 @@ typedef struct {
...
@@ -49,20 +49,21 @@ typedef struct {
}
SWrapperCfg
;
}
SWrapperCfg
;
typedef
struct
{
typedef
struct
{
int32_t
vgId
;
int32_t
vgId
;
int32_t
refCount
;
int32_t
refCount
;
int32_t
vgVersion
;
int32_t
vgVersion
;
int8_t
dropped
;
int8_t
dropped
;
int8_t
accessState
;
int8_t
accessState
;
uint64_t
dbUid
;
uint64_t
dbUid
;
char
*
db
;
char
*
db
;
char
*
path
;
char
*
path
;
SVnode
*
pImpl
;
SVnode
*
pImpl
;
STaosQueue
*
pWriteQ
;
STaosQueue
*
pWriteQ
;
STaosQueue
*
pSyncQ
;
STaosQueue
*
pSyncQ
;
STaosQueue
*
pApplyQ
;
STaosQueue
*
pApplyQ
;
STaosQueue
*
pQueryQ
;
STaosQueue
*
pQueryQ
;
STaosQueue
*
pFetchQ
;
STaosQueue
*
pFetchQ
;
SMgmtWrapper
*
pWrapper
;
}
SVnodeObj
;
}
SVnodeObj
;
typedef
struct
{
typedef
struct
{
...
...
source/dnode/mgmt/vnode/src/vmInt.c
浏览文件 @
1363021f
...
@@ -56,6 +56,7 @@ int32_t vmOpenVnode(SVnodesMgmt *pMgmt, SWrapperCfg *pCfg, SVnode *pImpl) {
...
@@ -56,6 +56,7 @@ int32_t vmOpenVnode(SVnodesMgmt *pMgmt, SWrapperCfg *pCfg, SVnode *pImpl) {
pVnode
->
refCount
=
0
;
pVnode
->
refCount
=
0
;
pVnode
->
dropped
=
0
;
pVnode
->
dropped
=
0
;
pVnode
->
accessState
=
TSDB_VN_ALL_ACCCESS
;
pVnode
->
accessState
=
TSDB_VN_ALL_ACCCESS
;
pVnode
->
pWrapper
=
pMgmt
->
pWrapper
;
pVnode
->
pImpl
=
pImpl
;
pVnode
->
pImpl
=
pImpl
;
pVnode
->
vgVersion
=
pCfg
->
vgVersion
;
pVnode
->
vgVersion
=
pCfg
->
vgVersion
;
pVnode
->
dbUid
=
pCfg
->
dbUid
;
pVnode
->
dbUid
=
pCfg
->
dbUid
;
...
@@ -127,7 +128,7 @@ static void *vmOpenVnodeFunc(void *param) {
...
@@ -127,7 +128,7 @@ static void *vmOpenVnodeFunc(void *param) {
pMgmt
->
state
.
openVnodes
,
pMgmt
->
state
.
totalVnodes
);
pMgmt
->
state
.
openVnodes
,
pMgmt
->
state
.
totalVnodes
);
dndReportStartup
(
pDnode
,
"open-vnodes"
,
stepDesc
);
dndReportStartup
(
pDnode
,
"open-vnodes"
,
stepDesc
);
SVnodeCfg
cfg
=
{.
p
Mgmt
=
pMgmt
,
.
pTfs
=
pMgmt
->
pTfs
,
.
vgId
=
pCfg
->
vgId
,
.
dbId
=
pCfg
->
dbUid
};
SVnodeCfg
cfg
=
{.
p
Wrapper
=
pMgmt
->
pWrapper
,
.
pTfs
=
pMgmt
->
pTfs
,
.
vgId
=
pCfg
->
vgId
,
.
dbId
=
pCfg
->
dbUid
};
SVnode
*
pImpl
=
vnodeOpen
(
pCfg
->
path
,
&
cfg
);
SVnode
*
pImpl
=
vnodeOpen
(
pCfg
->
path
,
&
cfg
);
if
(
pImpl
==
NULL
)
{
if
(
pImpl
==
NULL
)
{
dError
(
"vgId:%d, failed to open vnode by thread:%d"
,
pCfg
->
vgId
,
pThread
->
threadIndex
);
dError
(
"vgId:%d, failed to open vnode by thread:%d"
,
pCfg
->
vgId
,
pThread
->
threadIndex
);
...
...
source/dnode/mgmt/vnode/src/vmMsg.c
浏览文件 @
1363021f
...
@@ -82,7 +82,7 @@ int32_t vmProcessCreateVnodeReq(SVnodesMgmt *pMgmt, SNodeMsg *pMsg) {
...
@@ -82,7 +82,7 @@ int32_t vmProcessCreateVnodeReq(SVnodesMgmt *pMgmt, SNodeMsg *pMsg) {
return
-
1
;
return
-
1
;
}
}
vnodeCfg
.
p
Mgmt
=
pMgmt
;
vnodeCfg
.
p
Wrapper
=
pMgmt
->
pWrapper
;
vnodeCfg
.
pTfs
=
pMgmt
->
pTfs
;
vnodeCfg
.
pTfs
=
pMgmt
->
pTfs
;
vnodeCfg
.
dbId
=
wrapperCfg
.
dbUid
;
vnodeCfg
.
dbId
=
wrapperCfg
.
dbUid
;
SVnode
*
pImpl
=
vnodeOpen
(
wrapperCfg
.
path
,
&
vnodeCfg
);
SVnode
*
pImpl
=
vnodeOpen
(
wrapperCfg
.
path
,
&
vnodeCfg
);
...
...
source/dnode/mgmt/vnode/src/vmWorker.c
浏览文件 @
1363021f
...
@@ -46,12 +46,12 @@ static void vmProcessWriteQueue(SVnodeObj *pVnode, STaosQall *qall, int32_t numO
...
@@ -46,12 +46,12 @@ static void vmProcessWriteQueue(SVnodeObj *pVnode, STaosQall *qall, int32_t numO
int32_t
code
=
vnodeApplyWMsg
(
pVnode
->
pImpl
,
pRpc
,
&
pRsp
);
int32_t
code
=
vnodeApplyWMsg
(
pVnode
->
pImpl
,
pRpc
,
&
pRsp
);
if
(
pRsp
!=
NULL
)
{
if
(
pRsp
!=
NULL
)
{
pRsp
->
ahandle
=
pRpc
->
ahandle
;
pRsp
->
ahandle
=
pRpc
->
ahandle
;
rpcSendResponse
(
pRsp
);
dndSendRsp
(
pVnode
->
pWrapper
,
pRsp
);
free
(
pRsp
);
free
(
pRsp
);
}
else
{
}
else
{
if
(
code
!=
0
)
code
=
terrno
;
if
(
code
!=
0
)
code
=
terrno
;
SRpcMsg
rpcRsp
=
{.
handle
=
pRpc
->
handle
,
.
ahandle
=
pRpc
->
ahandle
,
.
code
=
code
};
SRpcMsg
rpcRsp
=
{.
handle
=
pRpc
->
handle
,
.
ahandle
=
pRpc
->
ahandle
,
.
code
=
code
};
rpcSendResponse
(
&
rpcRsp
);
dndSendRsp
(
pVnode
->
pWrapper
,
&
rpcRsp
);
}
}
}
}
...
@@ -236,7 +236,7 @@ static void vmProcessMgmtQueue(SVnodesMgmt *pMgmt, SNodeMsg *pMsg) {
...
@@ -236,7 +236,7 @@ static void vmProcessMgmtQueue(SVnodesMgmt *pMgmt, SNodeMsg *pMsg) {
if
(
msgType
&
1u
)
{
if
(
msgType
&
1u
)
{
if
(
code
!=
0
)
code
=
terrno
;
if
(
code
!=
0
)
code
=
terrno
;
SRpcMsg
rsp
=
{.
code
=
code
,
.
handle
=
pMsg
->
rpcMsg
.
handle
,
.
ahandle
=
pMsg
->
rpcMsg
.
ahandle
};
SRpcMsg
rsp
=
{.
code
=
code
,
.
handle
=
pMsg
->
rpcMsg
.
handle
,
.
ahandle
=
pMsg
->
rpcMsg
.
ahandle
};
rpcSendResponse
(
&
rsp
);
dndSendRsp
(
pMgmt
->
pWrapper
,
&
rsp
);
}
}
dTrace
(
"msg:%p, is freed, result:0x%04x:%s"
,
pMsg
,
code
&
0XFFFF
,
tstrerror
(
code
));
dTrace
(
"msg:%p, is freed, result:0x%04x:%s"
,
pMsg
,
code
&
0XFFFF
,
tstrerror
(
code
));
...
...
source/dnode/vnode/inc/vnode.h
浏览文件 @
1363021f
...
@@ -40,7 +40,7 @@ typedef struct {
...
@@ -40,7 +40,7 @@ typedef struct {
typedef
struct
{
typedef
struct
{
int32_t
vgId
;
int32_t
vgId
;
uint64_t
dbId
;
uint64_t
dbId
;
void
*
p
Mgmt
;
void
*
p
Wrapper
;
STfs
*
pTfs
;
STfs
*
pTfs
;
uint64_t
wsize
;
uint64_t
wsize
;
uint64_t
ssize
;
uint64_t
ssize
;
...
...
source/dnode/vnode/src/inc/vnd.h
浏览文件 @
1363021f
...
@@ -78,14 +78,14 @@ struct SVnode {
...
@@ -78,14 +78,14 @@ struct SVnode {
SWal
*
pWal
;
SWal
*
pWal
;
tsem_t
canCommit
;
tsem_t
canCommit
;
SQHandle
*
pQuery
;
SQHandle
*
pQuery
;
void
*
p
Mgmt
;
void
*
p
Wrapper
;
STfs
*
pTfs
;
STfs
*
pTfs
;
};
};
int
vnodeScheduleTask
(
SVnodeTask
*
task
);
int
vnodeScheduleTask
(
SVnodeTask
*
task
);
int32_t
vnodePut
Req
ToVQueryQ
(
SVnode
*
pVnode
,
struct
SRpcMsg
*
pReq
);
int32_t
vnodePutToVQueryQ
(
SVnode
*
pVnode
,
struct
SRpcMsg
*
pReq
);
void
vnodeSendReq
ToDnode
(
SVnode
*
pVnode
,
struct
SEpSet
*
epSet
,
struct
SRpcMsg
*
pReq
);
void
vnodeSendReq
(
SVnode
*
pVnode
,
struct
SEpSet
*
epSet
,
struct
SRpcMsg
*
pReq
);
#define vFatal(...) \
#define vFatal(...) \
do { \
do { \
...
...
source/dnode/vnode/src/vnd/vnodeMain.c
浏览文件 @
1363021f
...
@@ -27,7 +27,7 @@ SVnode *vnodeOpen(const char *path, const SVnodeCfg *pVnodeCfg) {
...
@@ -27,7 +27,7 @@ SVnode *vnodeOpen(const char *path, const SVnodeCfg *pVnodeCfg) {
SVnodeCfg
cfg
=
defaultVnodeOptions
;
SVnodeCfg
cfg
=
defaultVnodeOptions
;
if
(
pVnodeCfg
!=
NULL
)
{
if
(
pVnodeCfg
!=
NULL
)
{
cfg
.
vgId
=
pVnodeCfg
->
vgId
;
cfg
.
vgId
=
pVnodeCfg
->
vgId
;
cfg
.
p
Mgmt
=
pVnodeCfg
->
pMgmt
;
cfg
.
p
Wrapper
=
pVnodeCfg
->
pWrapper
;
cfg
.
pTfs
=
pVnodeCfg
->
pTfs
;
cfg
.
pTfs
=
pVnodeCfg
->
pTfs
;
cfg
.
dbId
=
pVnodeCfg
->
dbId
;
cfg
.
dbId
=
pVnodeCfg
->
dbId
;
cfg
.
hashBegin
=
pVnodeCfg
->
hashBegin
;
cfg
.
hashBegin
=
pVnodeCfg
->
hashBegin
;
...
@@ -79,7 +79,7 @@ static SVnode *vnodeNew(const char *path, const SVnodeCfg *pVnodeCfg) {
...
@@ -79,7 +79,7 @@ static SVnode *vnodeNew(const char *path, const SVnodeCfg *pVnodeCfg) {
}
}
pVnode
->
vgId
=
pVnodeCfg
->
vgId
;
pVnode
->
vgId
=
pVnodeCfg
->
vgId
;
pVnode
->
p
Mgmt
=
pVnodeCfg
->
pMgmt
;
pVnode
->
p
Wrapper
=
pVnodeCfg
->
pWrapper
;
pVnode
->
pTfs
=
pVnodeCfg
->
pTfs
;
pVnode
->
pTfs
=
pVnodeCfg
->
pTfs
;
pVnode
->
path
=
strdup
(
path
);
pVnode
->
path
=
strdup
(
path
);
vnodeOptionsCopy
(
&
(
pVnode
->
config
),
pVnodeCfg
);
vnodeOptionsCopy
(
&
(
pVnode
->
config
),
pVnodeCfg
);
...
...
source/dnode/vnode/src/vnd/vnodeMgr.c
浏览文件 @
1363021f
...
@@ -89,16 +89,16 @@ int vnodeScheduleTask(SVnodeTask* pTask) {
...
@@ -89,16 +89,16 @@ int vnodeScheduleTask(SVnodeTask* pTask) {
return
0
;
return
0
;
}
}
int32_t
vnodePut
Req
ToVQueryQ
(
SVnode
*
pVnode
,
struct
SRpcMsg
*
pReq
)
{
int32_t
vnodePutToVQueryQ
(
SVnode
*
pVnode
,
struct
SRpcMsg
*
pReq
)
{
if
(
pVnode
==
NULL
||
pVnode
->
pMeta
==
NULL
||
vnodeMgr
.
putToQueryQFp
==
NULL
)
{
if
(
pVnode
==
NULL
||
pVnode
->
pMeta
==
NULL
||
vnodeMgr
.
putToQueryQFp
==
NULL
)
{
terrno
=
TSDB_CODE_VND_APP_ERROR
;
terrno
=
TSDB_CODE_VND_APP_ERROR
;
return
-
1
;
return
-
1
;
}
}
return
(
*
vnodeMgr
.
putToQueryQFp
)(
pVnode
->
p
Mgmt
,
pReq
);
return
(
*
vnodeMgr
.
putToQueryQFp
)(
pVnode
->
p
Wrapper
,
pReq
);
}
}
void
vnodeSendReq
ToDnode
(
SVnode
*
pVnode
,
struct
SEpSet
*
epSet
,
struct
SRpcMsg
*
pReq
)
{
void
vnodeSendReq
(
SVnode
*
pVnode
,
struct
SEpSet
*
epSet
,
struct
SRpcMsg
*
pReq
)
{
(
*
vnodeMgr
.
sendReqFp
)(
pVnode
->
p
Mgmt
,
epSet
,
pReq
);
(
*
vnodeMgr
.
sendReqFp
)(
pVnode
->
p
Wrapper
,
epSet
,
pReq
);
}
}
/* ------------------------ STATIC METHODS ------------------------ */
/* ------------------------ STATIC METHODS ------------------------ */
...
...
source/dnode/vnode/src/vnd/vnodeQuery.c
浏览文件 @
1363021f
...
@@ -21,7 +21,7 @@ static int vnodeGetTableMeta(SVnode *pVnode, SRpcMsg *pMsg);
...
@@ -21,7 +21,7 @@ static int vnodeGetTableMeta(SVnode *pVnode, SRpcMsg *pMsg);
int
vnodeQueryOpen
(
SVnode
*
pVnode
)
{
int
vnodeQueryOpen
(
SVnode
*
pVnode
)
{
return
qWorkerInit
(
NODE_TYPE_VNODE
,
pVnode
->
vgId
,
NULL
,
(
void
**
)
&
pVnode
->
pQuery
,
pVnode
,
return
qWorkerInit
(
NODE_TYPE_VNODE
,
pVnode
->
vgId
,
NULL
,
(
void
**
)
&
pVnode
->
pQuery
,
pVnode
,
(
putReqToQueryQFp
)
vnodePut
ReqToVQueryQ
,
(
sendReqFp
)
vnodeSendReqToDnode
);
(
putReqToQueryQFp
)
vnodePut
ToVQueryQ
,
(
sendReqFp
)
vnodeSendReq
);
}
}
void
vnodeQueryClose
(
SVnode
*
pVnode
)
{
void
vnodeQueryClose
(
SVnode
*
pVnode
)
{
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录