Merge pull request #27570 from taosdata/fix/TD-31622-remove-reference-when-cancel
fix/TD-31622-remove-reference-when-cancel
This commit is contained in:
commit
edc9f51a9f
|
@ -1316,7 +1316,7 @@ static int32_t mndRetrieveArbGroups(SRpcMsg *pReq, SShowObj *pShow, SSDataBlock
|
||||||
|
|
||||||
static void mndCancelGetNextArbGroup(SMnode *pMnode, void *pIter) {
|
static void mndCancelGetNextArbGroup(SMnode *pMnode, void *pIter) {
|
||||||
SSdb *pSdb = pMnode->pSdb;
|
SSdb *pSdb = pMnode->pSdb;
|
||||||
sdbCancelFetch(pSdb, pIter);
|
sdbCancelFetchByType(pSdb, pIter, SDB_ARBGROUP);
|
||||||
}
|
}
|
||||||
|
|
||||||
int32_t mndGetArbGroupSize(SMnode *pMnode) {
|
int32_t mndGetArbGroupSize(SMnode *pMnode) {
|
||||||
|
|
|
@ -346,7 +346,7 @@ _OVER:
|
||||||
|
|
||||||
static void mndCancelGetNextCluster(SMnode *pMnode, void *pIter) {
|
static void mndCancelGetNextCluster(SMnode *pMnode, void *pIter) {
|
||||||
SSdb *pSdb = pMnode->pSdb;
|
SSdb *pSdb = pMnode->pSdb;
|
||||||
sdbCancelFetch(pSdb, pIter);
|
sdbCancelFetchByType(pSdb, pIter, SDB_CLUSTER);
|
||||||
}
|
}
|
||||||
|
|
||||||
static int32_t mndProcessUptimeTimer(SRpcMsg *pReq) {
|
static int32_t mndProcessUptimeTimer(SRpcMsg *pReq) {
|
||||||
|
|
|
@ -1003,7 +1003,7 @@ END:
|
||||||
|
|
||||||
static void mndCancelGetNextConsumer(SMnode *pMnode, void *pIter) {
|
static void mndCancelGetNextConsumer(SMnode *pMnode, void *pIter) {
|
||||||
SSdb *pSdb = pMnode->pSdb;
|
SSdb *pSdb = pMnode->pSdb;
|
||||||
sdbCancelFetch(pSdb, pIter);
|
sdbCancelFetchByType(pSdb, pIter, SDB_CONSUMER);
|
||||||
}
|
}
|
||||||
|
|
||||||
const char *mndConsumerStatusName(int status) {
|
const char *mndConsumerStatusName(int status) {
|
||||||
|
|
|
@ -2522,5 +2522,5 @@ static int32_t mndRetrieveDbs(SRpcMsg *pReq, SShowObj *pShow, SSDataBlock *pBloc
|
||||||
|
|
||||||
static void mndCancelGetNextDb(SMnode *pMnode, void *pIter) {
|
static void mndCancelGetNextDb(SMnode *pMnode, void *pIter) {
|
||||||
SSdb *pSdb = pMnode->pSdb;
|
SSdb *pSdb = pMnode->pSdb;
|
||||||
sdbCancelFetch(pSdb, pIter);
|
sdbCancelFetchByType(pSdb, pIter, SDB_DB);
|
||||||
}
|
}
|
||||||
|
|
|
@ -1814,7 +1814,7 @@ static int32_t mndRetrieveDnodes(SRpcMsg *pReq, SShowObj *pShow, SSDataBlock *pB
|
||||||
|
|
||||||
static void mndCancelGetNextDnode(SMnode *pMnode, void *pIter) {
|
static void mndCancelGetNextDnode(SMnode *pMnode, void *pIter) {
|
||||||
SSdb *pSdb = pMnode->pSdb;
|
SSdb *pSdb = pMnode->pSdb;
|
||||||
sdbCancelFetch(pSdb, pIter);
|
sdbCancelFetchByType(pSdb, pIter, SDB_DNODE);
|
||||||
}
|
}
|
||||||
|
|
||||||
// get int32_t value from 'SMCfgDnodeReq'
|
// get int32_t value from 'SMCfgDnodeReq'
|
||||||
|
|
|
@ -719,5 +719,5 @@ static int32_t mndRetrieveFuncs(SRpcMsg *pReq, SShowObj *pShow, SSDataBlock *pBl
|
||||||
|
|
||||||
static void mndCancelGetNextFunc(SMnode *pMnode, void *pIter) {
|
static void mndCancelGetNextFunc(SMnode *pMnode, void *pIter) {
|
||||||
SSdb *pSdb = pMnode->pSdb;
|
SSdb *pSdb = pMnode->pSdb;
|
||||||
sdbCancelFetch(pSdb, pIter);
|
sdbCancelFetchByType(pSdb, pIter, SDB_FUNC);
|
||||||
}
|
}
|
||||||
|
|
|
@ -935,7 +935,7 @@ _out:
|
||||||
|
|
||||||
static void mndCancelGetNextMnode(SMnode *pMnode, void *pIter) {
|
static void mndCancelGetNextMnode(SMnode *pMnode, void *pIter) {
|
||||||
SSdb *pSdb = pMnode->pSdb;
|
SSdb *pSdb = pMnode->pSdb;
|
||||||
sdbCancelFetch(pSdb, pIter);
|
sdbCancelFetchByType(pSdb, pIter, SDB_MNODE);
|
||||||
}
|
}
|
||||||
|
|
||||||
static int32_t mndProcessAlterMnodeReq(SRpcMsg *pReq) {
|
static int32_t mndProcessAlterMnodeReq(SRpcMsg *pReq) {
|
||||||
|
|
|
@ -582,5 +582,5 @@ static int32_t mndRetrieveQnodes(SRpcMsg *pReq, SShowObj *pShow, SSDataBlock *pB
|
||||||
|
|
||||||
static void mndCancelGetNextQnode(SMnode *pMnode, void *pIter) {
|
static void mndCancelGetNextQnode(SMnode *pMnode, void *pIter) {
|
||||||
SSdb *pSdb = pMnode->pSdb;
|
SSdb *pSdb = pMnode->pSdb;
|
||||||
sdbCancelFetch(pSdb, pIter);
|
sdbCancelFetchByType(pSdb, pIter, SDB_QNODE);
|
||||||
}
|
}
|
||||||
|
|
|
@ -1520,7 +1520,7 @@ static void mndCancelRetrieveIdx(SMnode *pMnode, void *pIter) {
|
||||||
SSmaAndTagIter *p = pIter;
|
SSmaAndTagIter *p = pIter;
|
||||||
if (p != NULL) {
|
if (p != NULL) {
|
||||||
SSdb *pSdb = pMnode->pSdb;
|
SSdb *pSdb = pMnode->pSdb;
|
||||||
sdbCancelFetch(pSdb, p->pSmaIter);
|
sdbCancelFetchByType(pSdb, p->pSmaIter, SDB_SMA);
|
||||||
sdbCancelFetchByType(pSdb, p->pIdxIter, SDB_IDX);
|
sdbCancelFetchByType(pSdb, p->pIdxIter, SDB_IDX);
|
||||||
}
|
}
|
||||||
taosMemoryFree(p);
|
taosMemoryFree(p);
|
||||||
|
@ -2288,7 +2288,7 @@ static void mndCancelRetrieveTSMA(SMnode *pMnode, void *pIter) {
|
||||||
SSmaAndTagIter *p = pIter;
|
SSmaAndTagIter *p = pIter;
|
||||||
if (p != NULL) {
|
if (p != NULL) {
|
||||||
SSdb *pSdb = pMnode->pSdb;
|
SSdb *pSdb = pMnode->pSdb;
|
||||||
sdbCancelFetch(pSdb, p->pSmaIter);
|
sdbCancelFetchByType(pSdb, p->pSmaIter, SDB_SMA);
|
||||||
}
|
}
|
||||||
taosMemoryFree(p);
|
taosMemoryFree(p);
|
||||||
}
|
}
|
||||||
|
|
|
@ -504,5 +504,5 @@ static int32_t mndRetrieveSnodes(SRpcMsg *pReq, SShowObj *pShow, SSDataBlock *pB
|
||||||
|
|
||||||
static void mndCancelGetNextSnode(SMnode *pMnode, void *pIter) {
|
static void mndCancelGetNextSnode(SMnode *pMnode, void *pIter) {
|
||||||
SSdb *pSdb = pMnode->pSdb;
|
SSdb *pSdb = pMnode->pSdb;
|
||||||
sdbCancelFetch(pSdb, pIter);
|
sdbCancelFetchByType(pSdb, pIter, SDB_SNODE);
|
||||||
}
|
}
|
||||||
|
|
|
@ -3832,7 +3832,7 @@ static int32_t mndRetrieveStbCol(SRpcMsg *pReq, SShowObj *pShow, SSDataBlock *pB
|
||||||
|
|
||||||
static void mndCancelGetNextStb(SMnode *pMnode, void *pIter) {
|
static void mndCancelGetNextStb(SMnode *pMnode, void *pIter) {
|
||||||
SSdb *pSdb = pMnode->pSdb;
|
SSdb *pSdb = pMnode->pSdb;
|
||||||
sdbCancelFetch(pSdb, pIter);
|
sdbCancelFetchByType(pSdb, pIter, SDB_STB);
|
||||||
}
|
}
|
||||||
|
|
||||||
const char *mndGetStbStr(const char *src) {
|
const char *mndGetStbStr(const char *src) {
|
||||||
|
|
|
@ -1651,7 +1651,7 @@ static int32_t mndRetrieveStream(SRpcMsg *pReq, SShowObj *pShow, SSDataBlock *pB
|
||||||
|
|
||||||
static void mndCancelGetNextStream(SMnode *pMnode, void *pIter) {
|
static void mndCancelGetNextStream(SMnode *pMnode, void *pIter) {
|
||||||
SSdb *pSdb = pMnode->pSdb;
|
SSdb *pSdb = pMnode->pSdb;
|
||||||
sdbCancelFetch(pSdb, pIter);
|
sdbCancelFetchByType(pSdb, pIter, SDB_STREAM);
|
||||||
}
|
}
|
||||||
|
|
||||||
static int32_t mndRetrieveStreamTask(SRpcMsg *pReq, SShowObj *pShow, SSDataBlock *pBlock, int32_t rowsCapacity) {
|
static int32_t mndRetrieveStreamTask(SRpcMsg *pReq, SShowObj *pShow, SSDataBlock *pBlock, int32_t rowsCapacity) {
|
||||||
|
@ -1723,7 +1723,7 @@ static int32_t mndRetrieveStreamTask(SRpcMsg *pReq, SShowObj *pShow, SSDataBlock
|
||||||
|
|
||||||
static void mndCancelGetNextStreamTask(SMnode *pMnode, void *pIter) {
|
static void mndCancelGetNextStreamTask(SMnode *pMnode, void *pIter) {
|
||||||
SSdb *pSdb = pMnode->pSdb;
|
SSdb *pSdb = pMnode->pSdb;
|
||||||
sdbCancelFetch(pSdb, pIter);
|
sdbCancelFetchByType(pSdb, pIter, SDB_STREAM);
|
||||||
}
|
}
|
||||||
|
|
||||||
static int32_t mndProcessPauseStreamReq(SRpcMsg *pReq) {
|
static int32_t mndProcessPauseStreamReq(SRpcMsg *pReq) {
|
||||||
|
|
|
@ -1484,5 +1484,5 @@ END:
|
||||||
|
|
||||||
void mndCancelGetNextSubscribe(SMnode *pMnode, void *pIter) {
|
void mndCancelGetNextSubscribe(SMnode *pMnode, void *pIter) {
|
||||||
SSdb *pSdb = pMnode->pSdb;
|
SSdb *pSdb = pMnode->pSdb;
|
||||||
sdbCancelFetch(pSdb, pIter);
|
sdbCancelFetchByType(pSdb, pIter, SDB_SUBSCRIBE);
|
||||||
}
|
}
|
||||||
|
|
|
@ -934,7 +934,7 @@ END:
|
||||||
|
|
||||||
static void mndCancelGetNextTopic(SMnode *pMnode, void *pIter) {
|
static void mndCancelGetNextTopic(SMnode *pMnode, void *pIter) {
|
||||||
SSdb *pSdb = pMnode->pSdb;
|
SSdb *pSdb = pMnode->pSdb;
|
||||||
sdbCancelFetch(pSdb, pIter);
|
sdbCancelFetchByType(pSdb, pIter, SDB_TOPIC);
|
||||||
}
|
}
|
||||||
|
|
||||||
bool mndTopicExistsForDb(SMnode *pMnode, SDbObj *pDb) {
|
bool mndTopicExistsForDb(SMnode *pMnode, SDbObj *pDb) {
|
||||||
|
|
|
@ -1997,5 +1997,5 @@ static int32_t mndRetrieveTrans(SRpcMsg *pReq, SShowObj *pShow, SSDataBlock *pBl
|
||||||
|
|
||||||
static void mndCancelGetNextTrans(SMnode *pMnode, void *pIter) {
|
static void mndCancelGetNextTrans(SMnode *pMnode, void *pIter) {
|
||||||
SSdb *pSdb = pMnode->pSdb;
|
SSdb *pSdb = pMnode->pSdb;
|
||||||
sdbCancelFetch(pSdb, pIter);
|
sdbCancelFetchByType(pSdb, pIter, SDB_TRANS);
|
||||||
}
|
}
|
||||||
|
|
|
@ -2772,7 +2772,7 @@ _exit:
|
||||||
|
|
||||||
static void mndCancelGetNextUser(SMnode *pMnode, void *pIter) {
|
static void mndCancelGetNextUser(SMnode *pMnode, void *pIter) {
|
||||||
SSdb *pSdb = pMnode->pSdb;
|
SSdb *pSdb = pMnode->pSdb;
|
||||||
sdbCancelFetch(pSdb, pIter);
|
sdbCancelFetchByType(pSdb, pIter, SDB_USER);
|
||||||
}
|
}
|
||||||
|
|
||||||
static int32_t mndLoopHash(SHashObj *hash, char *priType, SSDataBlock *pBlock, int32_t *pNumOfRows, SSdb *pSdb,
|
static int32_t mndLoopHash(SHashObj *hash, char *priType, SSDataBlock *pBlock, int32_t *pNumOfRows, SSdb *pSdb,
|
||||||
|
@ -3124,7 +3124,7 @@ _exit:
|
||||||
|
|
||||||
static void mndCancelGetNextPrivileges(SMnode *pMnode, void *pIter) {
|
static void mndCancelGetNextPrivileges(SMnode *pMnode, void *pIter) {
|
||||||
SSdb *pSdb = pMnode->pSdb;
|
SSdb *pSdb = pMnode->pSdb;
|
||||||
sdbCancelFetch(pSdb, pIter);
|
sdbCancelFetchByType(pSdb, pIter, SDB_USER);
|
||||||
}
|
}
|
||||||
|
|
||||||
int32_t mndValidateUserAuthInfo(SMnode *pMnode, SUserAuthVersion *pUsers, int32_t numOfUses, void **ppRsp,
|
int32_t mndValidateUserAuthInfo(SMnode *pMnode, SUserAuthVersion *pUsers, int32_t numOfUses, void **ppRsp,
|
||||||
|
|
|
@ -1077,7 +1077,7 @@ static int32_t mndRetrieveVgroups(SRpcMsg *pReq, SShowObj *pShow, SSDataBlock *p
|
||||||
|
|
||||||
static void mndCancelGetNextVgroup(SMnode *pMnode, void *pIter) {
|
static void mndCancelGetNextVgroup(SMnode *pMnode, void *pIter) {
|
||||||
SSdb *pSdb = pMnode->pSdb;
|
SSdb *pSdb = pMnode->pSdb;
|
||||||
sdbCancelFetch(pSdb, pIter);
|
sdbCancelFetchByType(pSdb, pIter, SDB_VGROUP);
|
||||||
}
|
}
|
||||||
|
|
||||||
static bool mndGetVnodesNumFp(SMnode *pMnode, void *pObj, void *p1, void *p2, void *p3) {
|
static bool mndGetVnodesNumFp(SMnode *pMnode, void *pObj, void *p1, void *p2, void *p3) {
|
||||||
|
@ -1212,7 +1212,7 @@ static int32_t mndRetrieveVnodes(SRpcMsg *pReq, SShowObj *pShow, SSDataBlock *pB
|
||||||
|
|
||||||
static void mndCancelGetNextVnode(SMnode *pMnode, void *pIter) {
|
static void mndCancelGetNextVnode(SMnode *pMnode, void *pIter) {
|
||||||
SSdb *pSdb = pMnode->pSdb;
|
SSdb *pSdb = pMnode->pSdb;
|
||||||
sdbCancelFetch(pSdb, pIter);
|
sdbCancelFetchByType(pSdb, pIter, SDB_VGROUP);
|
||||||
}
|
}
|
||||||
|
|
||||||
static int32_t mndAddVnodeToVgroup(SMnode *pMnode, STrans *pTrans, SVgObj *pVgroup, SArray *pArray) {
|
static int32_t mndAddVnodeToVgroup(SMnode *pMnode, STrans *pTrans, SVgObj *pVgroup, SArray *pArray) {
|
||||||
|
|
|
@ -99,5 +99,5 @@ int32_t mndRetrieveView(SRpcMsg *pReq, SShowObj *pShow, SSDataBlock *pBlock, int
|
||||||
|
|
||||||
void mndCancelGetNextView(SMnode *pMnode, void *pIter) {
|
void mndCancelGetNextView(SMnode *pMnode, void *pIter) {
|
||||||
SSdb *pSdb = pMnode->pSdb;
|
SSdb *pSdb = pMnode->pSdb;
|
||||||
sdbCancelFetch(pSdb, pIter);
|
sdbCancelFetchByType(pSdb, pIter, SDB_VIEW);
|
||||||
}
|
}
|
||||||
|
|
|
@ -242,7 +242,12 @@ static int32_t sdbDeleteRow(SSdb *pSdb, SHashObj *hash, SSdbRaw *pRaw, SSdbRow *
|
||||||
(void)atomic_add_fetch_32(&pOldRow->refCount, 1);
|
(void)atomic_add_fetch_32(&pOldRow->refCount, 1);
|
||||||
sdbPrintOper(pSdb, pOldRow, "delete");
|
sdbPrintOper(pSdb, pOldRow, "delete");
|
||||||
|
|
||||||
TAOS_CHECK_RETURN(taosHashRemove(hash, pOldRow->pObj, keySize));
|
if (taosHashRemove(hash, pOldRow->pObj, keySize) != 0) {
|
||||||
|
sdbUnLock(pSdb, type);
|
||||||
|
sdbFreeRow(pSdb, pRow, false);
|
||||||
|
terrno = TSDB_CODE_SDB_OBJ_NOT_THERE;
|
||||||
|
return terrno;
|
||||||
|
}
|
||||||
pSdb->tableVer[pOldRow->type]++;
|
pSdb->tableVer[pOldRow->type]++;
|
||||||
sdbUnLock(pSdb, type);
|
sdbUnLock(pSdb, type);
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue