Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
慢慢CG
TDengine
提交
e141eb96
T
TDengine
项目概览
慢慢CG
/
TDengine
与 Fork 源项目一致
Fork自
taosdata / TDengine
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
T
TDengine
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
提交
e141eb96
编写于
6月 09, 2021
作者:
L
lichuang
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
[TD-3963]fix alter vgroup bugs
上级
54a1cf26
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
12 addition
and
38 deletion
+12
-38
src/mnode/inc/mnodeDb.h
src/mnode/inc/mnodeDb.h
+1
-1
src/mnode/src/mnodeDb.c
src/mnode/src/mnodeDb.c
+2
-33
src/mnode/src/mnodeVgroup.c
src/mnode/src/mnodeVgroup.c
+9
-4
未找到文件。
src/mnode/inc/mnodeDb.h
浏览文件 @
e141eb96
...
...
@@ -40,7 +40,7 @@ void mnodeIncDbRef(SDbObj *pDb);
void
mnodeDecDbRef
(
SDbObj
*
pDb
);
bool
mnodeCheckIsMonitorDB
(
char
*
db
,
char
*
monitordb
);
void
mnodeDropAllDbs
(
SAcctObj
*
pAcct
);
int
mnodeInsertAlterRow
(
SDbObj
*
pDb
,
void
*
pMsg
);
int
mnodeInsertAlter
Db
Row
(
SDbObj
*
pDb
,
void
*
pMsg
);
int32_t
mnodeCompactDbs
();
...
...
src/mnode/src/mnodeDb.c
浏览文件 @
e141eb96
...
...
@@ -55,7 +55,6 @@ static int32_t mnodeRetrieveDbs(SShowObj *pShow, char *data, int32_t rows, void
static
int32_t
mnodeProcessCreateDbMsg
(
SMnodeMsg
*
pMsg
);
static
int32_t
mnodeProcessDropDbMsg
(
SMnodeMsg
*
pMsg
);
static
int32_t
mnodeProcessSyncDbMsg
(
SMnodeMsg
*
pMsg
);
static
void
mnodeProcessAlterDbRsp
(
SRpcMsg
*
rpcMsg
);
int32_t
mnodeProcessAlterDbMsg
(
SMnodeMsg
*
pMsg
);
#ifndef _TOPIC
...
...
@@ -203,7 +202,6 @@ int32_t mnodeInitDbs() {
mnodeAddWriteMsgHandle
(
TSDB_MSG_TYPE_CM_ALTER_DB
,
mnodeProcessAlterDbMsg
);
mnodeAddWriteMsgHandle
(
TSDB_MSG_TYPE_CM_DROP_DB
,
mnodeProcessDropDbMsg
);
mnodeAddWriteMsgHandle
(
TSDB_MSG_TYPE_CM_SYNC_DB
,
mnodeProcessSyncDbMsg
);
mnodeAddPeerRspHandle
(
TSDB_MSG_TYPE_CM_ALTER_DB_RSP
,
mnodeProcessAlterDbRsp
);
mnodeAddShowMetaHandle
(
TSDB_MGMT_TABLE_DB
,
mnodeGetDbMeta
);
mnodeAddShowRetrieveHandle
(
TSDB_MGMT_TABLE_DB
,
mnodeRetrieveDbs
);
mnodeAddShowFreeIterHandle
(
TSDB_MGMT_TABLE_DB
,
mnodeCancelGetNextDb
);
...
...
@@ -1102,7 +1100,7 @@ static int32_t mnodeAlterDbFp(SMnodeMsg *pMsg) {
return
TSDB_CODE_MND_ACTION_IN_PROGRESS
;
}
int
mnodeInsertAlterRow
(
SDbObj
*
pDb
,
void
*
pMsg
)
{
int
mnodeInsertAlter
Db
Row
(
SDbObj
*
pDb
,
void
*
pMsg
)
{
SSdbRow
desc
=
{
.
type
=
SDB_OPER_GLOBAL
,
.
pTable
=
tsDbSdb
,
...
...
@@ -1110,7 +1108,7 @@ int mnodeInsertAlterRow(SDbObj *pDb, void *pMsg) {
.
pMsg
=
pMsg
,
};
return
sdb
InsertRowToQueue
(
&
desc
);
return
sdb
UpdateRow
(
&
desc
);
}
static
int32_t
mnodeAlterDb
(
SDbObj
*
pDb
,
SAlterDbMsg
*
pAlter
,
void
*
pMsg
)
{
...
...
@@ -1299,35 +1297,6 @@ void mnodeDropAllDbs(SAcctObj *pAcct) {
mInfo
(
"acct:%s, all dbs:%d is dropped from sdb"
,
pAcct
->
user
,
numOfDbs
);
}
static
void
mnodeProcessAlterDbRsp
(
SRpcMsg
*
rpcMsg
)
{
if
(
rpcMsg
->
ahandle
==
NULL
)
return
;
SMnodeMsg
*
pMsg
=
rpcMsg
->
ahandle
;
pMsg
->
received
++
;
SDbObj
*
pDb
=
(
SDbObj
*
)
pMsg
->
pDb
;
assert
(
pDb
);
if
(
rpcMsg
->
code
==
TSDB_CODE_SUCCESS
)
{
mDebug
(
"msg:%p, app:%p db:%s, altered in dnode, thandle:%p result:%s"
,
pMsg
,
pMsg
->
rpcMsg
.
ahandle
,
pDb
->
name
,
pMsg
->
rpcMsg
.
handle
,
tstrerror
(
rpcMsg
->
code
));
dnodeSendRpcMWriteRsp
(
pMsg
,
TSDB_CODE_SUCCESS
);
}
else
{
if
(
pMsg
->
retry
++
<
ALTER_CDB_RETRY_TIMES
)
{
mDebug
(
"msg:%p, app:%p db:%s, alter table rsp received, need retry, times:%d result:%s thandle:%p"
,
pMsg
->
rpcMsg
.
ahandle
,
pMsg
,
pDb
->
name
,
pMsg
->
retry
,
tstrerror
(
rpcMsg
->
code
),
pMsg
->
rpcMsg
.
handle
);
dnodeDelayReprocessMWriteMsg
(
pMsg
);
}
else
{
mError
(
"msg:%p, app:%p db:%s, failed to alter in dnode, result:%s thandle:%p"
,
pMsg
,
pMsg
->
rpcMsg
.
ahandle
,
pDb
->
name
,
tstrerror
(
rpcMsg
->
code
),
pMsg
->
rpcMsg
.
handle
);
dnodeSendRpcMWriteRsp
(
pMsg
,
rpcMsg
->
code
);
}
}
}
int32_t
mnodeCompactDbs
()
{
void
*
pIter
=
NULL
;
SDbObj
*
pDb
=
NULL
;
...
...
src/mnode/src/mnodeVgroup.c
浏览文件 @
e141eb96
...
...
@@ -1044,10 +1044,15 @@ static void mnodeProcessAlterVnodeRsp(SRpcMsg *rpcMsg) {
mnodeMsg
->
rpcMsg
.
handle
,
rpcMsg
->
ahandle
);
if
(
mnodeMsg
->
received
!=
mnodeMsg
->
expected
)
return
;
mnodeInsertAlterRow
(
pVgroup
->
pDb
,
mnodeMsg
);
dnodeSendRpcMWriteRsp
(
mnodeMsg
,
TSDB_CODE_SUCCESS
);
uint8_t
msgType
=
mnodeMsg
->
rpcMsg
.
msgType
;
if
(
msgType
==
TSDB_MSG_TYPE_CM_ALTER_DB
||
msgType
==
TSDB_MSG_TYPE_CM_CREATE_TP
||
msgType
==
TSDB_MSG_TYPE_CM_ALTER_TP
)
{
int32_t
code
=
mnodeInsertAlterDbRow
(
pVgroup
->
pDb
,
mnodeMsg
);
if
(
code
!=
TSDB_CODE_SUCCESS
&&
code
!=
TSDB_CODE_MND_ACTION_IN_PROGRESS
)
{
dnodeSendRpcMWriteRsp
(
mnodeMsg
,
code
);
}
}
else
{
dnodeSendRpcMWriteRsp
(
mnodeMsg
,
TSDB_CODE_SUCCESS
);
}
}
static
void
mnodeProcessCreateVnodeRsp
(
SRpcMsg
*
rpcMsg
)
{
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录