fix: dup read lock on windows
This commit is contained in:
parent
3c2bf19706
commit
1d089fe085
|
@ -1432,38 +1432,39 @@ int32_t metaGetInfo(SMeta *pMeta, int64_t uid, SMetaInfo *pInfo, SMetaReader *pR
|
|||
int32_t code = 0;
|
||||
void *pData = NULL;
|
||||
int nData = 0;
|
||||
int lock = 0;
|
||||
bool lock = false;
|
||||
|
||||
metaRLock(pMeta);
|
||||
if (pReader && !(pReader->flags & META_READER_NOLOCK)) {
|
||||
lock = true;
|
||||
}
|
||||
|
||||
if(!lock) metaRLock(pMeta);
|
||||
|
||||
// search cache
|
||||
if (metaCacheGet(pMeta, uid, pInfo) == 0) {
|
||||
metaULock(pMeta);
|
||||
if(!lock) metaULock(pMeta);
|
||||
goto _exit;
|
||||
}
|
||||
|
||||
// search TDB
|
||||
if (tdbTbGet(pMeta->pUidIdx, &uid, sizeof(uid), &pData, &nData) < 0) {
|
||||
// not found
|
||||
metaULock(pMeta);
|
||||
if(!lock) metaULock(pMeta);
|
||||
code = TSDB_CODE_NOT_FOUND;
|
||||
goto _exit;
|
||||
}
|
||||
|
||||
metaULock(pMeta);
|
||||
if(!lock) metaULock(pMeta);
|
||||
|
||||
pInfo->uid = uid;
|
||||
pInfo->suid = ((SUidIdxVal *)pData)->suid;
|
||||
pInfo->version = ((SUidIdxVal *)pData)->version;
|
||||
pInfo->skmVer = ((SUidIdxVal *)pData)->skmVer;
|
||||
|
||||
if (pReader != NULL) {
|
||||
lock = !(pReader->flags & META_READER_NOLOCK);
|
||||
if (lock) {
|
||||
metaULock(pReader->pMeta);
|
||||
// metaReaderReleaseLock(pReader);
|
||||
}
|
||||
}
|
||||
// upsert the cache
|
||||
metaWLock(pMeta);
|
||||
metaCacheUpsert(pMeta, pInfo);
|
||||
|
|
|
@ -504,7 +504,7 @@ int32_t addTagPseudoColumnData(SReadHandle* pHandle, const SExprInfo* pExpr, int
|
|||
|
||||
// 1. check if it is existed in meta cache
|
||||
if (pCache == NULL) {
|
||||
pHandle->api.metaReaderFn.initReader(&mr, pHandle->vnode, META_READER_NOLOCK, &pHandle->api.metaFn);
|
||||
pHandle->api.metaReaderFn.initReader(&mr, pHandle->vnode, 0, &pHandle->api.metaFn);
|
||||
code = pHandle->api.metaReaderFn.getEntryGetUidCache(&mr, pBlock->info.id.uid);
|
||||
if (code != TSDB_CODE_SUCCESS) {
|
||||
// when encounter the TSDB_CODE_PAR_TABLE_NOT_EXIST error, we proceed.
|
||||
|
|
Loading…
Reference in New Issue