From cbb1186e03a353d0db134a564452577b0dcd3b05 Mon Sep 17 00:00:00 2001 From: dmchen Date: Thu, 5 Sep 2024 04:00:49 +0000 Subject: [PATCH 1/2] fix/TD-31891-remove-void-sdb --- source/dnode/mnode/sdb/src/sdb.c | 6 +++++- source/dnode/mnode/sdb/src/sdbFile.c | 29 +++++++++++++++++++++------- source/dnode/mnode/sdb/src/sdbHash.c | 8 ++++---- 3 files changed, 31 insertions(+), 12 deletions(-) diff --git a/source/dnode/mnode/sdb/src/sdb.c b/source/dnode/mnode/sdb/src/sdb.c index 7244f2d7c9..576ba736b5 100644 --- a/source/dnode/mnode/sdb/src/sdb.c +++ b/source/dnode/mnode/sdb/src/sdb.c @@ -68,7 +68,11 @@ SSdb *sdbInit(SSdbOpt *pOption) { void sdbCleanup(SSdb *pSdb) { mInfo("start to cleanup sdb"); - (void)sdbWriteFile(pSdb, 0); + int32_t code = 0; + + if ((code = sdbWriteFile(pSdb, 0)) != 0) { + mError("failed to write sdb file since %s", tstrerror(code)); + } if (pSdb->currDir != NULL) { taosMemoryFreeClear(pSdb->currDir); diff --git a/source/dnode/mnode/sdb/src/sdbFile.c b/source/dnode/mnode/sdb/src/sdbFile.c index dec37bfbf1..cdd238904b 100644 --- a/source/dnode/mnode/sdb/src/sdbFile.c +++ b/source/dnode/mnode/sdb/src/sdbFile.c @@ -258,8 +258,11 @@ static int32_t sdbReadFileImp(SSdb *pSdb) { if (code != 0) { mError("failed to read sdb file:%s head since %s", file, tstrerror(code)); taosMemoryFree(pRaw); - (void)taosCloseFile(&pFile); - return -1; + int32_t ret = 0; + if ((ret = taosCloseFile(&pFile)) != 0) { + mError("failed to close sdb file:%s since %s", file, tstrerror(ret)); + } + return code; } int64_t tableVer[SDB_MAX] = {0}; @@ -361,7 +364,10 @@ static int32_t sdbReadFileImp(SSdb *pSdb) { pSdb->commitTerm, pSdb->commitConfig); _OVER: - (void)taosCloseFile(&pFile); + int32_t ret = 0; + if ((ret = taosCloseFile(&pFile)) != 0) { + mError("failed to close sdb file:%s since %s", file, tstrerror(ret)); + } sdbFreeRaw(pRaw); TAOS_RETURN(code); @@ -404,8 +410,11 @@ static int32_t sdbWriteFileImp(SSdb *pSdb, int32_t skip_type) { code = sdbWriteFileHead(pSdb, pFile); if (code != 0) { mError("failed to write sdb file:%s head since %s", tmpfile, tstrerror(code)); - (void)taosCloseFile(&pFile); - return -1; + int32_t ret = 0; + if ((ret = taosCloseFile(&pFile)) != 0) { + mError("failed to close sdb file:%s since %s", tmpfile, tstrerror(ret)); + } + return code; } for (int32_t i = SDB_MAX - 1; i >= 0; --i) { @@ -613,12 +622,18 @@ static void sdbCloseIter(SSdbIter *pIter) { if (pIter == NULL) return; if (pIter->file != NULL) { - (void)taosCloseFile(&pIter->file); + int32_t ret = 0; + if ((ret = taosCloseFile(&pIter->file)) != 0) { + mError("failed to close sdb file since %s", tstrerror(ret)); + } pIter->file = NULL; } if (pIter->name != NULL) { - (void)taosRemoveFile(pIter->name); + int32_t ret = 0; + if ((ret = taosRemoveFile(pIter->name)) != 0) { + mError("failed to remove sdb file:%s since %s", pIter->name, tstrerror(ret)); + } taosMemoryFree(pIter->name); pIter->name = NULL; } diff --git a/source/dnode/mnode/sdb/src/sdbHash.c b/source/dnode/mnode/sdb/src/sdbHash.c index 0e41e0732f..5a2d1c981c 100644 --- a/source/dnode/mnode/sdb/src/sdbHash.c +++ b/source/dnode/mnode/sdb/src/sdbHash.c @@ -174,12 +174,12 @@ static int32_t sdbInsertRow(SSdb *pSdb, SHashObj *hash, SSdbRaw *pRaw, SSdbRow * if (insertFp != NULL) { code = (*insertFp)(pSdb, pRow->pObj); if (code != 0) { - if (terrno == 0) terrno = TSDB_CODE_MND_TRANS_UNKNOW_ERROR; - code = terrno; - (void)taosHashRemove(hash, pRow->pObj, keySize); + if (taosHashRemove(hash, pRow->pObj, keySize) != 0) { + mError("failed to remove row from hash"); + } sdbFreeRow(pSdb, pRow, false); - terrno = code; sdbUnLock(pSdb, type); + terrno = code; return terrno; } } From 5e4c610142cd181db7d0d6e7d5055ce523e52498 Mon Sep 17 00:00:00 2001 From: dmchen Date: Thu, 5 Sep 2024 05:55:46 +0000 Subject: [PATCH 2/2] fix/TD-31891-fix-case --- source/dnode/mnode/sdb/src/sdbFile.c | 1 - 1 file changed, 1 deletion(-) diff --git a/source/dnode/mnode/sdb/src/sdbFile.c b/source/dnode/mnode/sdb/src/sdbFile.c index cdd238904b..94826405dc 100644 --- a/source/dnode/mnode/sdb/src/sdbFile.c +++ b/source/dnode/mnode/sdb/src/sdbFile.c @@ -364,7 +364,6 @@ static int32_t sdbReadFileImp(SSdb *pSdb) { pSdb->commitTerm, pSdb->commitConfig); _OVER: - int32_t ret = 0; if ((ret = taosCloseFile(&pFile)) != 0) { mError("failed to close sdb file:%s since %s", file, tstrerror(ret)); }