fix: mutex init issue
This commit is contained in:
parent
b7126b9cc6
commit
da27a306db
|
@ -677,10 +677,6 @@ static int32_t addNewGroupData(struct SOperatorInfo* pOperator, SOperatorParam*
|
||||||
SHashObj* pGrpHash = pGCache->globalGrp ? pGCache->pGrpHash : pCtx->pGrpHash;
|
SHashObj* pGrpHash = pGCache->globalGrp ? pGCache->pGrpHash : pCtx->pGrpHash;
|
||||||
SGroupCacheData grpData = {0};
|
SGroupCacheData grpData = {0};
|
||||||
|
|
||||||
initNewGroupData(pCtx, &grpData, pParam->downstreamIdx, vgId, pGCache->batchFetch, pGcParam->needCache);
|
|
||||||
|
|
||||||
qError("new group %" PRIu64 " initialized, downstreamIdx:%d, vgId:%d, needCache:%d", uid, pParam->downstreamIdx, vgId, pGcParam->needCache);
|
|
||||||
|
|
||||||
while (true) {
|
while (true) {
|
||||||
if (0 != taosHashPut(pGrpHash, &uid, sizeof(uid), &grpData, sizeof(grpData))) {
|
if (0 != taosHashPut(pGrpHash, &uid, sizeof(uid), &grpData, sizeof(grpData))) {
|
||||||
if (terrno == TSDB_CODE_DUP_KEY) {
|
if (terrno == TSDB_CODE_DUP_KEY) {
|
||||||
|
@ -693,23 +689,27 @@ static int32_t addNewGroupData(struct SOperatorInfo* pOperator, SOperatorParam*
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
*ppGrp = taosHashGet(pGrpHash, &uid, sizeof(uid));
|
break;
|
||||||
if (*ppGrp && pParam->pChildren) {
|
}
|
||||||
SGcNewGroupInfo newGroup;
|
|
||||||
newGroup.pGroup = *ppGrp;
|
|
||||||
newGroup.vgId = vgId;
|
|
||||||
newGroup.uid = uid;
|
|
||||||
newGroup.pParam = taosArrayGetP(pParam->pChildren, 0);
|
|
||||||
|
|
||||||
taosWLockLatch(&pCtx->grpLock);
|
*ppGrp = taosHashGet(pGrpHash, &uid, sizeof(uid));
|
||||||
if (NULL == taosArrayPush(pCtx->pNewGrpList, &newGroup)) {
|
initNewGroupData(pCtx, *ppGrp, pParam->downstreamIdx, vgId, pGCache->batchFetch, pGcParam->needCache);
|
||||||
taosWUnLockLatch(&pCtx->grpLock);
|
|
||||||
return TSDB_CODE_OUT_OF_MEMORY;
|
qError("new group %" PRIu64 " initialized, downstreamIdx:%d, vgId:%d, needCache:%d", uid, pParam->downstreamIdx, vgId, pGcParam->needCache);
|
||||||
}
|
|
||||||
|
if (pParam->pChildren) {
|
||||||
|
SGcNewGroupInfo newGroup;
|
||||||
|
newGroup.pGroup = *ppGrp;
|
||||||
|
newGroup.vgId = vgId;
|
||||||
|
newGroup.uid = uid;
|
||||||
|
newGroup.pParam = taosArrayGetP(pParam->pChildren, 0);
|
||||||
|
|
||||||
|
taosWLockLatch(&pCtx->grpLock);
|
||||||
|
if (NULL == taosArrayPush(pCtx->pNewGrpList, &newGroup)) {
|
||||||
taosWUnLockLatch(&pCtx->grpLock);
|
taosWUnLockLatch(&pCtx->grpLock);
|
||||||
|
return TSDB_CODE_OUT_OF_MEMORY;
|
||||||
break;
|
|
||||||
}
|
}
|
||||||
|
taosWUnLockLatch(&pCtx->grpLock);
|
||||||
}
|
}
|
||||||
|
|
||||||
return TSDB_CODE_SUCCESS;
|
return TSDB_CODE_SUCCESS;
|
||||||
|
|
Loading…
Reference in New Issue