fix check ctgCache.pTsmas outside of cache read lock

This commit is contained in:
wangjiaming0909 2024-05-07 15:15:26 +08:00
parent c4b2f5681c
commit f5a9f8c338
1 changed files with 5 additions and 3 deletions

View File

@ -3455,11 +3455,13 @@ int32_t ctgDropTSMAForTbEnqueue(SCatalog *pCtg, SName *pName, bool syncOp) {
}
SCtgTSMACache *pCtgCache = taosHashGet(pDbCache->tsmaCache, pName->tname, strlen(pName->tname));
if (!pCtgCache || !pCtgCache->pTsmas || pCtgCache->pTsmas->size == 0) {
goto _return;
}
if (!pCtgCache) goto _return;
CTG_LOCK(CTG_READ, &pCtgCache->tsmaLock);
if (!pCtgCache->pTsmas || pCtgCache->pTsmas->size == 0) {
CTG_UNLOCK(CTG_READ, &pCtgCache->tsmaLock);
goto _return;
}
STSMACache *pCache = taosArrayGetP(pCtgCache->pTsmas, 0);
pOp = createDropAllTbTsmaCtgCacheOp(pCtg, pCache, syncOp);
if (!pOp) {