Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
taosdata
TDengine
提交
908fd4ff
T
TDengine
项目概览
taosdata
/
TDengine
大约 1 年 前同步成功
通知
1184
Star
22015
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看板
体验新版 GitCode,发现更多精彩内容 >>
提交
908fd4ff
编写于
5月 05, 2023
作者:
B
Benguang Zhao
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
feat: process split vgroup msg imp
上级
c949fee0
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
6 addition
and
35 deletion
+6
-35
source/dnode/mnode/impl/src/mndVgroup.c
source/dnode/mnode/impl/src/mndVgroup.c
+6
-35
未找到文件。
source/dnode/mnode/impl/src/mndVgroup.c
浏览文件 @
908fd4ff
...
...
@@ -2103,7 +2103,7 @@ static int32_t mndAddAdjustVnodeHashRangeAction(SMnode *pMnode, STrans *pTrans,
return
0
;
}
static
int32_t
mndSplitVgroup
(
SMnode
*
pMnode
,
SRpcMsg
*
pReq
,
SDbObj
*
pDb
,
SVgObj
*
pVgroup
)
{
int32_t
mndSplitVgroup
(
SMnode
*
pMnode
,
SRpcMsg
*
pReq
,
SDbObj
*
pDb
,
SVgObj
*
pVgroup
)
{
int32_t
code
=
-
1
;
STrans
*
pTrans
=
NULL
;
SSdbRaw
*
pRaw
=
NULL
;
...
...
@@ -2229,42 +2229,13 @@ _OVER:
return
code
;
}
static
int32_t
mndProcessSplitVgroupMsg
(
SRpcMsg
*
pReq
)
{
SMnode
*
pMnode
=
pReq
->
info
.
node
;
int32_t
code
=
-
1
;
SVgObj
*
pVgroup
=
NULL
;
SDbObj
*
pDb
=
NULL
;
SSplitVgroupReq
req
=
{
0
};
if
(
tDeserializeSSplitVgroupReq
(
pReq
->
pCont
,
pReq
->
contLen
,
&
req
)
!=
0
)
{
terrno
=
TSDB_CODE_INVALID_MSG
;
goto
_OVER
;
}
mInfo
(
"vgId:%d, start to split"
,
req
.
vgId
);
if
(
mndCheckOperPrivilege
(
pMnode
,
pReq
->
info
.
conn
.
user
,
MND_OPER_SPLIT_VGROUP
)
!=
0
)
{
goto
_OVER
;
}
pVgroup
=
mndAcquireVgroup
(
pMnode
,
req
.
vgId
);
if
(
pVgroup
==
NULL
)
goto
_OVER
;
extern
int32_t
mndProcessSplitVgroupMsgImp
(
SRpcMsg
*
pReq
);
pDb
=
mndAcquireDb
(
pMnode
,
pVgroup
->
dbName
);
if
(
pDb
==
NULL
)
goto
_OVER
;
code
=
mndSplitVgroup
(
pMnode
,
pReq
,
pDb
,
pVgroup
);
if
(
code
!=
0
)
{
mError
(
"vgId:%d, failed to start to split vgroup since %s, db:%s"
,
pVgroup
->
vgId
,
terrstr
(),
pDb
->
name
);
goto
_OVER
;
}
mInfo
(
"vgId:%d, split vgroup started successfully. db:%s"
,
pVgroup
->
vgId
,
pDb
->
name
);
static
int32_t
mndProcessSplitVgroupMsg
(
SRpcMsg
*
pReq
)
{
return
mndProcessSplitVgroupMsgImp
(
pReq
);
}
_OVER:
mndReleaseVgroup
(
pMnode
,
pVgroup
);
mndReleaseDb
(
pMnode
,
pDb
);
return
code
;
}
#ifndef TD_ENTERPRISE
int32_t
mndProcessSplitVgroupMsgImp
(
SRpcMsg
*
pReq
)
{
return
0
;
}
#endif
static
int32_t
mndSetBalanceVgroupInfoToTrans
(
SMnode
*
pMnode
,
STrans
*
pTrans
,
SDbObj
*
pDb
,
SVgObj
*
pVgroup
,
SDnodeObj
*
pSrc
,
SDnodeObj
*
pDst
)
{
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录