Merge pull request #25658 from taosdata/fix/3.0/TD-29931
fix check ctgCache.pTsmas outside of cache read lock
This commit is contained in:
commit
a221813f55
|
@ -3455,11 +3455,13 @@ int32_t ctgDropTSMAForTbEnqueue(SCatalog *pCtg, SName *pName, bool syncOp) {
|
||||||
}
|
}
|
||||||
|
|
||||||
SCtgTSMACache *pCtgCache = taosHashGet(pDbCache->tsmaCache, pName->tname, strlen(pName->tname));
|
SCtgTSMACache *pCtgCache = taosHashGet(pDbCache->tsmaCache, pName->tname, strlen(pName->tname));
|
||||||
if (!pCtgCache || !pCtgCache->pTsmas || pCtgCache->pTsmas->size == 0) {
|
if (!pCtgCache) goto _return;
|
||||||
goto _return;
|
|
||||||
}
|
|
||||||
|
|
||||||
CTG_LOCK(CTG_READ, &pCtgCache->tsmaLock);
|
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);
|
STSMACache *pCache = taosArrayGetP(pCtgCache->pTsmas, 0);
|
||||||
pOp = createDropAllTbTsmaCtgCacheOp(pCtg, pCache, syncOp);
|
pOp = createDropAllTbTsmaCtgCacheOp(pCtg, pCache, syncOp);
|
||||||
if (!pOp) {
|
if (!pOp) {
|
||||||
|
|
Loading…
Reference in New Issue