Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
taosdata
TDengine
提交
da9e3043
T
TDengine
项目概览
taosdata
/
TDengine
9 个月 前同步成功
通知
1176
Star
22014
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,体验更适合开发者的 AI 搜索 >>
提交
da9e3043
编写于
7月 17, 2023
作者:
wmmhello
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
fix:add sdbFetchCancel to release hash node
上级
8d8e12ee
变更
11
隐藏空白更改
内联
并排
Showing
11 changed file
with
39 addition
and
5 deletion
+39
-5
source/dnode/mnode/impl/src/mndCluster.c
source/dnode/mnode/impl/src/mndCluster.c
+1
-1
source/dnode/mnode/impl/src/mndDnode.c
source/dnode/mnode/impl/src/mndDnode.c
+1
-0
source/dnode/mnode/impl/src/mndIndex.c
source/dnode/mnode/impl/src/mndIndex.c
+1
-0
source/dnode/mnode/impl/src/mndMain.c
source/dnode/mnode/impl/src/mndMain.c
+1
-0
source/dnode/mnode/impl/src/mndScheduler.c
source/dnode/mnode/impl/src/mndScheduler.c
+5
-0
source/dnode/mnode/impl/src/mndStb.c
source/dnode/mnode/impl/src/mndStb.c
+4
-1
source/dnode/mnode/impl/src/mndStream.c
source/dnode/mnode/impl/src/mndStream.c
+2
-0
source/dnode/mnode/impl/src/mndSubscribe.c
source/dnode/mnode/impl/src/mndSubscribe.c
+3
-0
source/dnode/mnode/impl/src/mndTopic.c
source/dnode/mnode/impl/src/mndTopic.c
+7
-0
source/dnode/mnode/impl/src/mndUser.c
source/dnode/mnode/impl/src/mndUser.c
+13
-3
source/dnode/mnode/impl/src/mndVgroup.c
source/dnode/mnode/impl/src/mndVgroup.c
+1
-0
未找到文件。
source/dnode/mnode/impl/src/mndCluster.c
浏览文件 @
da9e3043
...
@@ -77,7 +77,7 @@ static SClusterObj *mndAcquireCluster(SMnode *pMnode, void **ppIter) {
...
@@ -77,7 +77,7 @@ static SClusterObj *mndAcquireCluster(SMnode *pMnode, void **ppIter) {
if
(
pIter
==
NULL
)
break
;
if
(
pIter
==
NULL
)
break
;
*
ppIter
=
pIter
;
*
ppIter
=
pIter
;
sdbCancelFetch
(
pSdb
,
pIter
);
return
pCluster
;
return
pCluster
;
}
}
...
...
source/dnode/mnode/impl/src/mndDnode.c
浏览文件 @
da9e3043
...
@@ -706,6 +706,7 @@ _OVER:
...
@@ -706,6 +706,7 @@ _OVER:
}
else
{
}
else
{
mndReleaseDnode
(
pMnode
,
pDnode
);
mndReleaseDnode
(
pMnode
,
pDnode
);
}
}
sdbCancelFetch
(
pSdb
,
pIter
);
mndTransDrop
(
pTrans
);
mndTransDrop
(
pTrans
);
sdbFreeRaw
(
pRaw
);
sdbFreeRaw
(
pRaw
);
return
terrno
;
return
terrno
;
...
...
source/dnode/mnode/impl/src/mndIndex.c
浏览文件 @
da9e3043
...
@@ -831,6 +831,7 @@ int32_t mndGetIdxsByTagName(SMnode *pMnode, SStbObj *pStb, char *tagName, SIdxOb
...
@@ -831,6 +831,7 @@ int32_t mndGetIdxsByTagName(SMnode *pMnode, SStbObj *pStb, char *tagName, SIdxOb
if
(
pIdx
->
stbUid
==
pStb
->
uid
&&
strcasecmp
(
pIdx
->
colName
,
tagName
)
==
0
)
{
if
(
pIdx
->
stbUid
==
pStb
->
uid
&&
strcasecmp
(
pIdx
->
colName
,
tagName
)
==
0
)
{
memcpy
((
char
*
)
idx
,
(
char
*
)
pIdx
,
sizeof
(
SIdxObj
));
memcpy
((
char
*
)
idx
,
(
char
*
)
pIdx
,
sizeof
(
SIdxObj
));
sdbRelease
(
pSdb
,
pIdx
);
sdbRelease
(
pSdb
,
pIdx
);
sdbCancelFetch
(
pSdb
,
pIter
);
return
0
;
return
0
;
}
}
...
...
source/dnode/mnode/impl/src/mndMain.c
浏览文件 @
da9e3043
...
@@ -199,6 +199,7 @@ static void mndSetVgroupOffline(SMnode *pMnode, int32_t dnodeId, int64_t curMs)
...
@@ -199,6 +199,7 @@ static void mndSetVgroupOffline(SMnode *pMnode, int32_t dnodeId, int64_t curMs)
pGid
->
syncCanRead
=
0
;
pGid
->
syncCanRead
=
0
;
roleChanged
=
true
;
roleChanged
=
true
;
}
}
sdbCancelFetch
(
pSdb
,
pIter
);
break
;
break
;
}
}
}
}
...
...
source/dnode/mnode/impl/src/mndScheduler.c
浏览文件 @
da9e3043
...
@@ -168,6 +168,7 @@ SSnodeObj* mndSchedFetchOneSnode(SMnode* pMnode) {
...
@@ -168,6 +168,7 @@ SSnodeObj* mndSchedFetchOneSnode(SMnode* pMnode) {
void
*
pIter
=
NULL
;
void
*
pIter
=
NULL
;
// TODO random fetch
// TODO random fetch
pIter
=
sdbFetch
(
pMnode
->
pSdb
,
SDB_SNODE
,
pIter
,
(
void
**
)
&
pObj
);
pIter
=
sdbFetch
(
pMnode
->
pSdb
,
SDB_SNODE
,
pIter
,
(
void
**
)
&
pObj
);
sdbCancelFetch
(
pMnode
->
pSdb
,
pIter
);
return
pObj
;
return
pObj
;
}
}
...
@@ -435,6 +436,7 @@ int32_t mndScheduleStream(SMnode* pMnode, SStreamObj* pStream) {
...
@@ -435,6 +436,7 @@ int32_t mndScheduleStream(SMnode* pMnode, SStreamObj* pStream) {
terrno
=
TSDB_CODE_OUT_OF_MEMORY
;
terrno
=
TSDB_CODE_OUT_OF_MEMORY
;
sdbRelease
(
pSdb
,
pVgroup
);
sdbRelease
(
pSdb
,
pVgroup
);
qDestroyQueryPlan
(
pPlan
);
qDestroyQueryPlan
(
pPlan
);
sdbCancelFetch
(
pSdb
,
pIter
);
return
-
1
;
return
-
1
;
}
}
...
@@ -444,6 +446,7 @@ int32_t mndScheduleStream(SMnode* pMnode, SStreamObj* pStream) {
...
@@ -444,6 +446,7 @@ int32_t mndScheduleStream(SMnode* pMnode, SStreamObj* pStream) {
if
(
mndAssignStreamTaskToVgroup
(
pMnode
,
pTask
,
plan
,
pVgroup
)
<
0
)
{
if
(
mndAssignStreamTaskToVgroup
(
pMnode
,
pTask
,
plan
,
pVgroup
)
<
0
)
{
sdbRelease
(
pSdb
,
pVgroup
);
sdbRelease
(
pSdb
,
pVgroup
);
qDestroyQueryPlan
(
pPlan
);
qDestroyQueryPlan
(
pPlan
);
sdbCancelFetch
(
pSdb
,
pIter
);
return
-
1
;
return
-
1
;
}
}
...
@@ -453,6 +456,7 @@ int32_t mndScheduleStream(SMnode* pMnode, SStreamObj* pStream) {
...
@@ -453,6 +456,7 @@ int32_t mndScheduleStream(SMnode* pMnode, SStreamObj* pStream) {
if
(
code
!=
TSDB_CODE_SUCCESS
)
{
if
(
code
!=
TSDB_CODE_SUCCESS
)
{
terrno
=
code
;
terrno
=
code
;
qDestroyQueryPlan
(
pPlan
);
qDestroyQueryPlan
(
pPlan
);
sdbCancelFetch
(
pSdb
,
pIter
);
return
-
1
;
return
-
1
;
}
}
}
}
...
@@ -492,6 +496,7 @@ int32_t mndScheduleStream(SMnode* pMnode, SStreamObj* pStream) {
...
@@ -492,6 +496,7 @@ int32_t mndScheduleStream(SMnode* pMnode, SStreamObj* pStream) {
if
(
code
!=
TSDB_CODE_SUCCESS
)
{
if
(
code
!=
TSDB_CODE_SUCCESS
)
{
qDestroyQueryPlan
(
pPlan
);
qDestroyQueryPlan
(
pPlan
);
sdbCancelFetch
(
pSdb
,
pIter
);
return
-
1
;
return
-
1
;
}
}
}
}
...
...
source/dnode/mnode/impl/src/mndStb.c
浏览文件 @
da9e3043
...
@@ -900,7 +900,6 @@ static int32_t mndProcessTtlTimer(SRpcMsg *pReq) {
...
@@ -900,7 +900,6 @@ static int32_t mndProcessTtlTimer(SRpcMsg *pReq) {
SMsgHead
*
pHead
=
rpcMallocCont
(
contLen
);
SMsgHead
*
pHead
=
rpcMallocCont
(
contLen
);
if
(
pHead
==
NULL
)
{
if
(
pHead
==
NULL
)
{
sdbCancelFetch
(
pSdb
,
pVgroup
);
sdbRelease
(
pSdb
,
pVgroup
);
sdbRelease
(
pSdb
,
pVgroup
);
continue
;
continue
;
}
}
...
@@ -1289,6 +1288,7 @@ static int32_t mndCheckAlterColForStream(SMnode *pMnode, const char *stbFullName
...
@@ -1289,6 +1288,7 @@ static int32_t mndCheckAlterColForStream(SMnode *pMnode, const char *stbFullName
terrno
=
TSDB_CODE_MND_INVALID_STREAM_OPTION
;
terrno
=
TSDB_CODE_MND_INVALID_STREAM_OPTION
;
mError
(
"stream:%s, create ast error"
,
pStream
->
name
);
mError
(
"stream:%s, create ast error"
,
pStream
->
name
);
sdbRelease
(
pSdb
,
pStream
);
sdbRelease
(
pSdb
,
pStream
);
sdbCancelFetch
(
pSdb
,
pIter
);
return
-
1
;
return
-
1
;
}
}
...
@@ -1308,6 +1308,7 @@ static int32_t mndCheckAlterColForStream(SMnode *pMnode, const char *stbFullName
...
@@ -1308,6 +1308,7 @@ static int32_t mndCheckAlterColForStream(SMnode *pMnode, const char *stbFullName
nodesDestroyNode
(
pAst
);
nodesDestroyNode
(
pAst
);
nodesDestroyList
(
pNodeList
);
nodesDestroyList
(
pNodeList
);
sdbRelease
(
pSdb
,
pStream
);
sdbRelease
(
pSdb
,
pStream
);
sdbCancelFetch
(
pSdb
,
pIter
);
return
-
1
;
return
-
1
;
}
}
mInfo
(
"stream:%s, check colId:%d passed"
,
pStream
->
name
,
pCol
->
colId
);
mInfo
(
"stream:%s, check colId:%d passed"
,
pStream
->
name
,
pCol
->
colId
);
...
@@ -1337,6 +1338,7 @@ static int32_t mndCheckAlterColForTSma(SMnode *pMnode, const char *stbFullName,
...
@@ -1337,6 +1338,7 @@ static int32_t mndCheckAlterColForTSma(SMnode *pMnode, const char *stbFullName,
terrno
=
TSDB_CODE_SDB_INVALID_DATA_CONTENT
;
terrno
=
TSDB_CODE_SDB_INVALID_DATA_CONTENT
;
mError
(
"tsma:%s, check tag and column modifiable, stb:%s suid:%"
PRId64
" colId:%d failed since parse AST err"
,
mError
(
"tsma:%s, check tag and column modifiable, stb:%s suid:%"
PRId64
" colId:%d failed since parse AST err"
,
pSma
->
name
,
stbFullName
,
suid
,
colId
);
pSma
->
name
,
stbFullName
,
suid
,
colId
);
sdbCancelFetch
(
pSdb
,
pIter
);
return
-
1
;
return
-
1
;
}
}
...
@@ -1357,6 +1359,7 @@ static int32_t mndCheckAlterColForTSma(SMnode *pMnode, const char *stbFullName,
...
@@ -1357,6 +1359,7 @@ static int32_t mndCheckAlterColForTSma(SMnode *pMnode, const char *stbFullName,
nodesDestroyNode
(
pAst
);
nodesDestroyNode
(
pAst
);
nodesDestroyList
(
pNodeList
);
nodesDestroyList
(
pNodeList
);
sdbRelease
(
pSdb
,
pSma
);
sdbRelease
(
pSdb
,
pSma
);
sdbCancelFetch
(
pSdb
,
pIter
);
return
-
1
;
return
-
1
;
}
}
mInfo
(
"tsma:%s, check colId:%d passed"
,
pSma
->
name
,
pCol
->
colId
);
mInfo
(
"tsma:%s, check colId:%d passed"
,
pSma
->
name
,
pCol
->
colId
);
...
...
source/dnode/mnode/impl/src/mndStream.c
浏览文件 @
da9e3043
...
@@ -705,12 +705,14 @@ static int32_t mndProcessCreateStreamReq(SRpcMsg *pReq) {
...
@@ -705,12 +705,14 @@ static int32_t mndProcessCreateStreamReq(SRpcMsg *pReq) {
if
(
numOfStream
>
MND_STREAM_MAX_NUM
)
{
if
(
numOfStream
>
MND_STREAM_MAX_NUM
)
{
mError
(
"too many streams, no more than %d for each database"
,
MND_STREAM_MAX_NUM
);
mError
(
"too many streams, no more than %d for each database"
,
MND_STREAM_MAX_NUM
);
terrno
=
TSDB_CODE_MND_TOO_MANY_STREAMS
;
terrno
=
TSDB_CODE_MND_TOO_MANY_STREAMS
;
sdbCancelFetch
(
pMnode
->
pSdb
,
pIter
);
goto
_OVER
;
goto
_OVER
;
}
}
if
(
pStream
->
targetStbUid
==
streamObj
.
targetStbUid
)
{
if
(
pStream
->
targetStbUid
==
streamObj
.
targetStbUid
)
{
mError
(
"Cannot write the same stable as other stream:%s"
,
pStream
->
name
);
mError
(
"Cannot write the same stable as other stream:%s"
,
pStream
->
name
);
terrno
=
TSDB_CODE_MND_INVALID_TARGET_TABLE
;
terrno
=
TSDB_CODE_MND_INVALID_TARGET_TABLE
;
sdbCancelFetch
(
pMnode
->
pSdb
,
pIter
);
goto
_OVER
;
goto
_OVER
;
}
}
}
}
...
...
source/dnode/mnode/impl/src/mndSubscribe.c
浏览文件 @
da9e3043
...
@@ -1104,6 +1104,7 @@ int32_t mndDropSubByTopic(SMnode *pMnode, STrans *pTrans, const char *topicName)
...
@@ -1104,6 +1104,7 @@ int32_t mndDropSubByTopic(SMnode *pMnode, STrans *pTrans, const char *topicName)
if
(
taosHashGetSize
(
pSub
->
consumerHash
)
!=
0
)
{
if
(
taosHashGetSize
(
pSub
->
consumerHash
)
!=
0
)
{
sdbRelease
(
pSdb
,
pSub
);
sdbRelease
(
pSdb
,
pSub
);
terrno
=
TSDB_CODE_MND_IN_REBALANCE
;
terrno
=
TSDB_CODE_MND_IN_REBALANCE
;
sdbCancelFetch
(
pSdb
,
pIter
);
return
-
1
;
return
-
1
;
}
}
int32_t
sz
=
taosArrayGetSize
(
pSub
->
unassignedVgs
);
int32_t
sz
=
taosArrayGetSize
(
pSub
->
unassignedVgs
);
...
@@ -1122,12 +1123,14 @@ int32_t mndDropSubByTopic(SMnode *pMnode, STrans *pTrans, const char *topicName)
...
@@ -1122,12 +1123,14 @@ int32_t mndDropSubByTopic(SMnode *pMnode, STrans *pTrans, const char *topicName)
if
(
mndTransAppendRedoAction
(
pTrans
,
&
action
)
!=
0
)
{
if
(
mndTransAppendRedoAction
(
pTrans
,
&
action
)
!=
0
)
{
taosMemoryFree
(
pReq
);
taosMemoryFree
(
pReq
);
sdbRelease
(
pSdb
,
pSub
);
sdbRelease
(
pSdb
,
pSub
);
sdbCancelFetch
(
pSdb
,
pIter
);
return
-
1
;
return
-
1
;
}
}
}
}
if
(
mndSetDropSubRedoLogs
(
pMnode
,
pTrans
,
pSub
)
<
0
)
{
if
(
mndSetDropSubRedoLogs
(
pMnode
,
pTrans
,
pSub
)
<
0
)
{
sdbRelease
(
pSdb
,
pSub
);
sdbRelease
(
pSdb
,
pSub
);
sdbCancelFetch
(
pSdb
,
pIter
);
goto
END
;
goto
END
;
}
}
...
...
source/dnode/mnode/impl/src/mndTopic.c
浏览文件 @
da9e3043
...
@@ -513,6 +513,7 @@ static int32_t mndCreateTopic(SMnode *pMnode, SRpcMsg *pReq, SCMCreateTopicReq *
...
@@ -513,6 +513,7 @@ static int32_t mndCreateTopic(SMnode *pMnode, SRpcMsg *pReq, SCMCreateTopicReq *
tEncodeSize
(
tEncodeSTqCheckInfo
,
&
info
,
len
,
code
);
tEncodeSize
(
tEncodeSTqCheckInfo
,
&
info
,
len
,
code
);
if
(
code
<
0
)
{
if
(
code
<
0
)
{
sdbRelease
(
pSdb
,
pVgroup
);
sdbRelease
(
pSdb
,
pVgroup
);
sdbCancelFetch
(
pSdb
,
pIter
);
goto
_OUT
;
goto
_OUT
;
}
}
void
*
buf
=
taosMemoryCalloc
(
1
,
sizeof
(
SMsgHead
)
+
len
);
void
*
buf
=
taosMemoryCalloc
(
1
,
sizeof
(
SMsgHead
)
+
len
);
...
@@ -522,6 +523,7 @@ static int32_t mndCreateTopic(SMnode *pMnode, SRpcMsg *pReq, SCMCreateTopicReq *
...
@@ -522,6 +523,7 @@ static int32_t mndCreateTopic(SMnode *pMnode, SRpcMsg *pReq, SCMCreateTopicReq *
if
(
tEncodeSTqCheckInfo
(
&
encoder
,
&
info
)
<
0
)
{
if
(
tEncodeSTqCheckInfo
(
&
encoder
,
&
info
)
<
0
)
{
taosMemoryFree
(
buf
);
taosMemoryFree
(
buf
);
sdbRelease
(
pSdb
,
pVgroup
);
sdbRelease
(
pSdb
,
pVgroup
);
sdbCancelFetch
(
pSdb
,
pIter
);
goto
_OUT
;
goto
_OUT
;
}
}
tEncoderClear
(
&
encoder
);
tEncoderClear
(
&
encoder
);
...
@@ -535,6 +537,7 @@ static int32_t mndCreateTopic(SMnode *pMnode, SRpcMsg *pReq, SCMCreateTopicReq *
...
@@ -535,6 +537,7 @@ static int32_t mndCreateTopic(SMnode *pMnode, SRpcMsg *pReq, SCMCreateTopicReq *
if
(
mndTransAppendRedoAction
(
pTrans
,
&
action
)
!=
0
)
{
if
(
mndTransAppendRedoAction
(
pTrans
,
&
action
)
!=
0
)
{
taosMemoryFree
(
buf
);
taosMemoryFree
(
buf
);
sdbRelease
(
pSdb
,
pVgroup
);
sdbRelease
(
pSdb
,
pVgroup
);
sdbCancelFetch
(
pSdb
,
pIter
);
goto
_OUT
;
goto
_OUT
;
}
}
buf
=
NULL
;
buf
=
NULL
;
...
@@ -697,6 +700,7 @@ static int32_t mndProcessDropTopicReq(SRpcMsg *pReq) {
...
@@ -697,6 +700,7 @@ static int32_t mndProcessDropTopicReq(SRpcMsg *pReq) {
if
(
strcmp
(
name
,
pTopic
->
name
)
==
0
)
{
if
(
strcmp
(
name
,
pTopic
->
name
)
==
0
)
{
mndReleaseConsumer
(
pMnode
,
pConsumer
);
mndReleaseConsumer
(
pMnode
,
pConsumer
);
mndReleaseTopic
(
pMnode
,
pTopic
);
mndReleaseTopic
(
pMnode
,
pTopic
);
sdbCancelFetch
(
pSdb
,
pIter
);
terrno
=
TSDB_CODE_MND_TOPIC_SUBSCRIBED
;
terrno
=
TSDB_CODE_MND_TOPIC_SUBSCRIBED
;
mError
(
"topic:%s, failed to drop since subscribed by consumer:0x%"
PRIx64
", in consumer group %s"
,
mError
(
"topic:%s, failed to drop since subscribed by consumer:0x%"
PRIx64
", in consumer group %s"
,
dropReq
.
name
,
pConsumer
->
consumerId
,
pConsumer
->
cgroup
);
dropReq
.
name
,
pConsumer
->
consumerId
,
pConsumer
->
cgroup
);
...
@@ -710,6 +714,7 @@ static int32_t mndProcessDropTopicReq(SRpcMsg *pReq) {
...
@@ -710,6 +714,7 @@ static int32_t mndProcessDropTopicReq(SRpcMsg *pReq) {
if
(
strcmp
(
name
,
pTopic
->
name
)
==
0
)
{
if
(
strcmp
(
name
,
pTopic
->
name
)
==
0
)
{
mndReleaseConsumer
(
pMnode
,
pConsumer
);
mndReleaseConsumer
(
pMnode
,
pConsumer
);
mndReleaseTopic
(
pMnode
,
pTopic
);
mndReleaseTopic
(
pMnode
,
pTopic
);
sdbCancelFetch
(
pSdb
,
pIter
);
terrno
=
TSDB_CODE_MND_TOPIC_SUBSCRIBED
;
terrno
=
TSDB_CODE_MND_TOPIC_SUBSCRIBED
;
mError
(
"topic:%s, failed to drop since subscribed by consumer:%"
PRId64
", in consumer group %s (reb new)"
,
mError
(
"topic:%s, failed to drop since subscribed by consumer:%"
PRId64
", in consumer group %s (reb new)"
,
dropReq
.
name
,
pConsumer
->
consumerId
,
pConsumer
->
cgroup
);
dropReq
.
name
,
pConsumer
->
consumerId
,
pConsumer
->
cgroup
);
...
@@ -723,6 +728,7 @@ static int32_t mndProcessDropTopicReq(SRpcMsg *pReq) {
...
@@ -723,6 +728,7 @@ static int32_t mndProcessDropTopicReq(SRpcMsg *pReq) {
if
(
strcmp
(
name
,
pTopic
->
name
)
==
0
)
{
if
(
strcmp
(
name
,
pTopic
->
name
)
==
0
)
{
mndReleaseConsumer
(
pMnode
,
pConsumer
);
mndReleaseConsumer
(
pMnode
,
pConsumer
);
mndReleaseTopic
(
pMnode
,
pTopic
);
mndReleaseTopic
(
pMnode
,
pTopic
);
sdbCancelFetch
(
pSdb
,
pIter
);
terrno
=
TSDB_CODE_MND_TOPIC_SUBSCRIBED
;
terrno
=
TSDB_CODE_MND_TOPIC_SUBSCRIBED
;
mError
(
"topic:%s, failed to drop since subscribed by consumer:%"
PRId64
", in consumer group %s (reb remove)"
,
mError
(
"topic:%s, failed to drop since subscribed by consumer:%"
PRId64
", in consumer group %s (reb remove)"
,
dropReq
.
name
,
pConsumer
->
consumerId
,
pConsumer
->
cgroup
);
dropReq
.
name
,
pConsumer
->
consumerId
,
pConsumer
->
cgroup
);
...
@@ -789,6 +795,7 @@ static int32_t mndProcessDropTopicReq(SRpcMsg *pReq) {
...
@@ -789,6 +795,7 @@ static int32_t mndProcessDropTopicReq(SRpcMsg *pReq) {
taosMemoryFree
(
buf
);
taosMemoryFree
(
buf
);
sdbRelease
(
pSdb
,
pVgroup
);
sdbRelease
(
pSdb
,
pVgroup
);
mndReleaseTopic
(
pMnode
,
pTopic
);
mndReleaseTopic
(
pMnode
,
pTopic
);
sdbCancelFetch
(
pSdb
,
pIter
);
mndTransDrop
(
pTrans
);
mndTransDrop
(
pTrans
);
return
-
1
;
return
-
1
;
}
}
...
...
source/dnode/mnode/impl/src/mndUser.c
浏览文件 @
da9e3043
...
@@ -1444,7 +1444,10 @@ int32_t mndUserRemoveDb(SMnode *pMnode, STrans *pTrans, char *db) {
...
@@ -1444,7 +1444,10 @@ int32_t mndUserRemoveDb(SMnode *pMnode, STrans *pTrans, char *db) {
if
(
pIter
==
NULL
)
break
;
if
(
pIter
==
NULL
)
break
;
code
=
-
1
;
code
=
-
1
;
if
(
mndUserDupObj
(
pUser
,
&
newUser
)
!=
0
)
break
;
if
(
mndUserDupObj
(
pUser
,
&
newUser
)
!=
0
)
{
sdbCancelFetch
(
pSdb
,
pIter
);
break
;
}
bool
inRead
=
(
taosHashGet
(
newUser
.
readDbs
,
db
,
len
)
!=
NULL
);
bool
inRead
=
(
taosHashGet
(
newUser
.
readDbs
,
db
,
len
)
!=
NULL
);
bool
inWrite
=
(
taosHashGet
(
newUser
.
writeDbs
,
db
,
len
)
!=
NULL
);
bool
inWrite
=
(
taosHashGet
(
newUser
.
writeDbs
,
db
,
len
)
!=
NULL
);
...
@@ -1453,7 +1456,10 @@ int32_t mndUserRemoveDb(SMnode *pMnode, STrans *pTrans, char *db) {
...
@@ -1453,7 +1456,10 @@ int32_t mndUserRemoveDb(SMnode *pMnode, STrans *pTrans, char *db) {
(
void
)
taosHashRemove
(
newUser
.
writeDbs
,
db
,
len
);
(
void
)
taosHashRemove
(
newUser
.
writeDbs
,
db
,
len
);
SSdbRaw
*
pCommitRaw
=
mndUserActionEncode
(
&
newUser
);
SSdbRaw
*
pCommitRaw
=
mndUserActionEncode
(
&
newUser
);
if
(
pCommitRaw
==
NULL
||
mndTransAppendCommitlog
(
pTrans
,
pCommitRaw
)
!=
0
)
break
;
if
(
pCommitRaw
==
NULL
||
mndTransAppendCommitlog
(
pTrans
,
pCommitRaw
)
!=
0
)
{
sdbCancelFetch
(
pSdb
,
pIter
);
break
;
}
(
void
)
sdbSetRawStatus
(
pCommitRaw
,
SDB_STATUS_READY
);
(
void
)
sdbSetRawStatus
(
pCommitRaw
,
SDB_STATUS_READY
);
}
}
...
@@ -1484,6 +1490,7 @@ int32_t mndUserRemoveTopic(SMnode *pMnode, STrans *pTrans, char *topic) {
...
@@ -1484,6 +1490,7 @@ int32_t mndUserRemoveTopic(SMnode *pMnode, STrans *pTrans, char *topic) {
code
=
-
1
;
code
=
-
1
;
if
(
mndUserDupObj
(
pUser
,
&
newUser
)
!=
0
)
{
if
(
mndUserDupObj
(
pUser
,
&
newUser
)
!=
0
)
{
sdbCancelFetch
(
pSdb
,
pIter
);
break
;
break
;
}
}
...
@@ -1491,7 +1498,10 @@ int32_t mndUserRemoveTopic(SMnode *pMnode, STrans *pTrans, char *topic) {
...
@@ -1491,7 +1498,10 @@ int32_t mndUserRemoveTopic(SMnode *pMnode, STrans *pTrans, char *topic) {
if
(
inTopic
)
{
if
(
inTopic
)
{
(
void
)
taosHashRemove
(
newUser
.
topics
,
topic
,
len
);
(
void
)
taosHashRemove
(
newUser
.
topics
,
topic
,
len
);
SSdbRaw
*
pCommitRaw
=
mndUserActionEncode
(
&
newUser
);
SSdbRaw
*
pCommitRaw
=
mndUserActionEncode
(
&
newUser
);
if
(
pCommitRaw
==
NULL
||
mndTransAppendCommitlog
(
pTrans
,
pCommitRaw
)
!=
0
)
break
;
if
(
pCommitRaw
==
NULL
||
mndTransAppendCommitlog
(
pTrans
,
pCommitRaw
)
!=
0
)
{
sdbCancelFetch
(
pSdb
,
pIter
);
break
;
}
(
void
)
sdbSetRawStatus
(
pCommitRaw
,
SDB_STATUS_READY
);
(
void
)
sdbSetRawStatus
(
pCommitRaw
,
SDB_STATUS_READY
);
}
}
...
...
source/dnode/mnode/impl/src/mndVgroup.c
浏览文件 @
da9e3043
...
@@ -2591,6 +2591,7 @@ static int32_t mndProcessBalanceVgroupMsg(SRpcMsg *pReq) {
...
@@ -2591,6 +2591,7 @@ static int32_t mndProcessBalanceVgroupMsg(SRpcMsg *pReq) {
pIter
=
sdbFetch
(
pMnode
->
pSdb
,
SDB_DNODE
,
pIter
,
(
void
**
)
&
pDnode
);
pIter
=
sdbFetch
(
pMnode
->
pSdb
,
SDB_DNODE
,
pIter
,
(
void
**
)
&
pDnode
);
if
(
pIter
==
NULL
)
break
;
if
(
pIter
==
NULL
)
break
;
if
(
!
mndIsDnodeOnline
(
pDnode
,
curMs
))
{
if
(
!
mndIsDnodeOnline
(
pDnode
,
curMs
))
{
sdbCancelFetch
(
pMnode
->
pSdb
,
pIter
);
terrno
=
TSDB_CODE_MND_HAS_OFFLINE_DNODE
;
terrno
=
TSDB_CODE_MND_HAS_OFFLINE_DNODE
;
mError
(
"failed to balance vgroup since %s, dnode:%d"
,
terrstr
(),
pDnode
->
id
);
mError
(
"failed to balance vgroup since %s, dnode:%d"
,
terrstr
(),
pDnode
->
id
);
sdbRelease
(
pMnode
->
pSdb
,
pDnode
);
sdbRelease
(
pMnode
->
pSdb
,
pDnode
);
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录