diff --git a/source/dnode/mnode/sdb/src/sdb.c b/source/dnode/mnode/sdb/src/sdb.c index c1d4ba7893..7244f2d7c9 100644 --- a/source/dnode/mnode/sdb/src/sdb.c +++ b/source/dnode/mnode/sdb/src/sdb.c @@ -46,7 +46,7 @@ SSdb *sdbInit(SSdbOpt *pOption) { } for (ESdbType i = 0; i < SDB_MAX; ++i) { - taosThreadRwlockInit(&pSdb->locks[i], NULL); + (void)taosThreadRwlockInit(&pSdb->locks[i], NULL); pSdb->maxId[i] = 0; pSdb->tableVer[i] = 0; pSdb->keyTypes[i] = SDB_KEY_INT32; @@ -60,7 +60,7 @@ SSdb *sdbInit(SSdbOpt *pOption) { pSdb->commitTerm = -1; pSdb->commitConfig = -1; pSdb->pMnode = pOption->pMnode; - taosThreadMutexInit(&pSdb->filelock, NULL); + (void)taosThreadMutexInit(&pSdb->filelock, NULL); mInfo("sdb init success"); return pSdb; } @@ -68,7 +68,7 @@ SSdb *sdbInit(SSdbOpt *pOption) { void sdbCleanup(SSdb *pSdb) { mInfo("start to cleanup sdb"); - sdbWriteFile(pSdb, 0); + (void)sdbWriteFile(pSdb, 0); if (pSdb->currDir != NULL) { taosMemoryFreeClear(pSdb->currDir); @@ -99,14 +99,14 @@ void sdbCleanup(SSdb *pSdb) { taosHashClear(hash); taosHashCleanup(hash); - taosThreadRwlockDestroy(&pSdb->locks[i]); + (void)taosThreadRwlockDestroy(&pSdb->locks[i]); pSdb->hashObjs[i] = NULL; memset(&pSdb->locks[i], 0, sizeof(pSdb->locks[i])); mInfo("sdb table:%s is cleaned up", sdbTableName(i)); } - taosThreadMutexDestroy(&pSdb->filelock); + (void)taosThreadMutexDestroy(&pSdb->filelock); taosMemoryFree(pSdb); mInfo("sdb is cleaned up"); } @@ -188,19 +188,19 @@ void sdbGetCommitInfo(SSdb *pSdb, int64_t *index, int64_t *term, int64_t *config void sdbWriteLock(SSdb *pSdb, int32_t type) { TdThreadRwlock *pLock = &pSdb->locks[type]; // mTrace("sdb table:%d start write lock:%p", type, pLock); - taosThreadRwlockWrlock(pLock); + (void)taosThreadRwlockWrlock(pLock); // mTrace("sdb table:%d stop write lock:%p", type, pLock); } void sdbReadLock(SSdb *pSdb, int32_t type) { TdThreadRwlock *pLock = &pSdb->locks[type]; // mTrace("sdb table:%d start read lock:%p", type, pLock); - taosThreadRwlockRdlock(pLock); + (void)taosThreadRwlockRdlock(pLock); // mTrace("sdb table:%d stop read lock:%p", type, pLock); } void sdbUnLock(SSdb *pSdb, int32_t type) { TdThreadRwlock *pLock = &pSdb->locks[type]; // mTrace("sdb table:%d unlock:%p", type, pLock); - taosThreadRwlockUnlock(pLock); + (void)taosThreadRwlockUnlock(pLock); } diff --git a/source/dnode/mnode/sdb/src/sdbFile.c b/source/dnode/mnode/sdb/src/sdbFile.c index 0952fbe7a3..6fb395e63f 100644 --- a/source/dnode/mnode/sdb/src/sdbFile.c +++ b/source/dnode/mnode/sdb/src/sdbFile.c @@ -258,7 +258,7 @@ static int32_t sdbReadFileImp(SSdb *pSdb) { if (code != 0) { mError("failed to read sdb file:%s head since %s", file, tstrerror(code)); taosMemoryFree(pRaw); - taosCloseFile(&pFile); + (void)taosCloseFile(&pFile); return -1; } @@ -361,14 +361,14 @@ static int32_t sdbReadFileImp(SSdb *pSdb) { pSdb->commitTerm, pSdb->commitConfig); _OVER: - taosCloseFile(&pFile); + (void)taosCloseFile(&pFile); sdbFreeRaw(pRaw); TAOS_RETURN(code); } int32_t sdbReadFile(SSdb *pSdb) { - taosThreadMutexLock(&pSdb->filelock); + (void)taosThreadMutexLock(&pSdb->filelock); sdbResetData(pSdb); int32_t code = sdbReadFileImp(pSdb); @@ -377,7 +377,7 @@ int32_t sdbReadFile(SSdb *pSdb) { sdbResetData(pSdb); } - taosThreadMutexUnlock(&pSdb->filelock); + (void)taosThreadMutexUnlock(&pSdb->filelock); return code; } @@ -404,7 +404,7 @@ static int32_t sdbWriteFileImp(SSdb *pSdb) { code = sdbWriteFileHead(pSdb, pFile); if (code != 0) { mError("failed to write sdb file:%s head since %s", tmpfile, tstrerror(code)); - taosCloseFile(&pFile); + (void)taosCloseFile(&pFile); return -1; } @@ -507,7 +507,9 @@ static int32_t sdbWriteFileImp(SSdb *pSdb) { } } - taosCloseFile(&pFile); + if (taosCloseFile(&pFile) != 0) { + code = taosRenameFile(tmpfile, curfile); + } if (code == 0) { code = taosRenameFile(tmpfile, curfile); @@ -541,7 +543,7 @@ int32_t sdbWriteFile(SSdb *pSdb, int32_t delta) { return 0; } - taosThreadMutexLock(&pSdb->filelock); + (void)taosThreadMutexLock(&pSdb->filelock); if (pSdb->pWal != NULL) { if (pSdb->sync > 0) { code = syncBeginSnapshot(pSdb->sync, pSdb->applyIndex); @@ -560,7 +562,7 @@ int32_t sdbWriteFile(SSdb *pSdb, int32_t delta) { if (code != 0) { mError("failed to write sdb file since %s", tstrerror(code)); } - taosThreadMutexUnlock(&pSdb->filelock); + (void)taosThreadMutexUnlock(&pSdb->filelock); return code; } @@ -602,7 +604,7 @@ static void sdbCloseIter(SSdbIter *pIter) { if (pIter == NULL) return; if (pIter->file != NULL) { - taosCloseFile(&pIter->file); + (void)taosCloseFile(&pIter->file); pIter->file = NULL; } @@ -624,18 +626,18 @@ int32_t sdbStartRead(SSdb *pSdb, SSdbIter **ppIter, int64_t *index, int64_t *ter char datafile[PATH_MAX] = {0}; snprintf(datafile, sizeof(datafile), "%s%ssdb.data", pSdb->currDir, TD_DIRSEP); - taosThreadMutexLock(&pSdb->filelock); + (void)taosThreadMutexLock(&pSdb->filelock); int64_t commitIndex = pSdb->commitIndex; int64_t commitTerm = pSdb->commitTerm; int64_t commitConfig = pSdb->commitConfig; if (taosCopyFile(datafile, pIter->name) < 0) { - taosThreadMutexUnlock(&pSdb->filelock); + (void)taosThreadMutexUnlock(&pSdb->filelock); code = TAOS_SYSTEM_ERROR(errno); mError("failed to copy sdb file %s to %s since %s", datafile, pIter->name, tstrerror(code)); sdbCloseIter(pIter); TAOS_RETURN(code); } - taosThreadMutexUnlock(&pSdb->filelock); + (void)taosThreadMutexUnlock(&pSdb->filelock); pIter->file = taosOpenFile(pIter->name, TD_FILE_READ); if (pIter->file == NULL) { @@ -725,7 +727,10 @@ int32_t sdbStopWrite(SSdb *pSdb, SSdbIter *pIter, bool isApply, int64_t index, i goto _OVER; } - taosCloseFile(&pIter->file); + if (taosCloseFile(&pIter->file) != 0) { + code = TAOS_SYSTEM_ERROR(errno); + goto _OVER; + } pIter->file = NULL; char datafile[PATH_MAX] = {0}; diff --git a/source/dnode/mnode/sdb/src/sdbHash.c b/source/dnode/mnode/sdb/src/sdbHash.c index 4043ff6a12..03b45c25b4 100644 --- a/source/dnode/mnode/sdb/src/sdbHash.c +++ b/source/dnode/mnode/sdb/src/sdbHash.c @@ -176,7 +176,7 @@ static int32_t sdbInsertRow(SSdb *pSdb, SHashObj *hash, SSdbRaw *pRaw, SSdbRow * if (code != 0) { if (terrno == 0) terrno = TSDB_CODE_MND_TRANS_UNKNOW_ERROR; code = terrno; - taosHashRemove(hash, pRow->pObj, keySize); + (void)taosHashRemove(hash, pRow->pObj, keySize); sdbFreeRow(pSdb, pRow, false); terrno = code; sdbUnLock(pSdb, type); @@ -239,10 +239,10 @@ static int32_t sdbDeleteRow(SSdb *pSdb, SHashObj *hash, SSdbRaw *pRaw, SSdbRow * SSdbRow *pOldRow = *ppOldRow; pOldRow->status = pRaw->status; - atomic_add_fetch_32(&pOldRow->refCount, 1); + (void)atomic_add_fetch_32(&pOldRow->refCount, 1); sdbPrintOper(pSdb, pOldRow, "delete"); - taosHashRemove(hash, pOldRow->pObj, keySize); + TAOS_CHECK_RETURN(taosHashRemove(hash, pOldRow->pObj, keySize)); pSdb->tableVer[pOldRow->type]++; sdbUnLock(pSdb, type); @@ -309,7 +309,7 @@ void *sdbAcquireAll(SSdb *pSdb, ESdbType type, const void *pKey, bool onlyReady) SSdbRow *pRow = *ppRow; switch (pRow->status) { case SDB_STATUS_READY: - atomic_add_fetch_32(&pRow->refCount, 1); + (void)atomic_add_fetch_32(&pRow->refCount, 1); pRet = pRow->pObj; sdbPrintOper(pSdb, pRow, "acquire"); break; @@ -327,7 +327,7 @@ void *sdbAcquireAll(SSdb *pSdb, ESdbType type, const void *pKey, bool onlyReady) if (pRet == NULL) { if (!onlyReady) { terrno = 0; - atomic_add_fetch_32(&pRow->refCount, 1); + (void)atomic_add_fetch_32(&pRow->refCount, 1); pRet = pRow->pObj; sdbPrintOper(pSdb, pRow, "acquire"); } @@ -395,7 +395,7 @@ void *sdbFetch(SSdb *pSdb, ESdbType type, void *pIter, void **ppObj) { continue; } - atomic_add_fetch_32(&pRow->refCount, 1); + (void)atomic_add_fetch_32(&pRow->refCount, 1); sdbPrintOper(pSdb, pRow, "fetch"); *ppObj = pRow->pObj; break; @@ -423,7 +423,7 @@ void *sdbFetchAll(SSdb *pSdb, ESdbType type, void *pIter, void **ppObj, ESdbStat continue; } - atomic_add_fetch_32(&pRow->refCount, 1); + (void)atomic_add_fetch_32(&pRow->refCount, 1); sdbPrintOper(pSdb, pRow, "fetch"); *ppObj = pRow->pObj; *status = pRow->status; diff --git a/source/dnode/mnode/sdb/src/sdbRow.c b/source/dnode/mnode/sdb/src/sdbRow.c index c078e7eb21..da5a232851 100644 --- a/source/dnode/mnode/sdb/src/sdbRow.c +++ b/source/dnode/mnode/sdb/src/sdbRow.c @@ -42,7 +42,7 @@ void sdbFreeRow(SSdb *pSdb, SSdbRow *pRow, bool callFunc) { // remove attached object such as trans SdbDeleteFp deleteFp = pSdb->deleteFps[pRow->type]; if (deleteFp != NULL) { - (*deleteFp)(pSdb, pRow->pObj, callFunc); + (void)(*deleteFp)(pSdb, pRow->pObj, callFunc); } sdbPrintOper(pSdb, pRow, "free");