From de19557abe8d17bcb004a714da78f9bd5cf5f452 Mon Sep 17 00:00:00 2001 From: dmchen Date: Tue, 18 Jun 2024 09:36:19 +0000 Subject: [PATCH 1/2] fix/TD-30625 --- source/dnode/mnode/impl/src/mndCompact.c | 29 ++++++++++++++++++++++-- 1 file changed, 27 insertions(+), 2 deletions(-) diff --git a/source/dnode/mnode/impl/src/mndCompact.c b/source/dnode/mnode/impl/src/mndCompact.c index 75b4531dbb..341c2def0f 100644 --- a/source/dnode/mnode/impl/src/mndCompact.c +++ b/source/dnode/mnode/impl/src/mndCompact.c @@ -613,6 +613,19 @@ static int32_t mndSaveCompactProgress(SMnode *pMnode, int32_t compactId) { sdbRelease(pMnode->pSdb, pDetail); } + SCompactObj *pCompact = mndAcquireCompact(pMnode, compactId); + if(pCompact == NULL) return 0; + + SDbObj *pDb = mndAcquireDb(pMnode, pCompact->dbname); + if(pDb == NULL){ + needSave = true; + mWarn("compact:%" PRId32 ", no db exist, set needSave:%s" , compactId, pCompact->dbname); + } + else{ + mndReleaseDb(pMnode, pDb); + pDb = NULL; + } + if(!needSave) { mDebug("compact:%" PRId32 ", no need to save" , compactId); return 0; @@ -625,8 +638,6 @@ static int32_t mndSaveCompactProgress(SMnode *pMnode, int32_t compactId) { } mInfo("compact:%d, trans:%d, used to update compact progress.", compactId, pTrans->id); - SCompactObj *pCompact = mndAcquireCompact(pMnode, compactId); - mndTransSetDbName(pTrans, pCompact->dbname, NULL); pIter = NULL; @@ -657,6 +668,7 @@ static int32_t mndSaveCompactProgress(SMnode *pMnode, int32_t compactId) { } bool allFinished = true; + pIter = NULL; while (1) { SCompactDetailObj *pDetail = NULL; pIter = sdbFetch(pMnode->pSdb, SDB_COMPACT_DETAIL, pIter, (void **)&pDetail); @@ -682,8 +694,19 @@ static int32_t mndSaveCompactProgress(SMnode *pMnode, int32_t compactId) { sdbRelease(pMnode->pSdb, pDetail); } + pDb = mndAcquireDb(pMnode, pCompact->dbname); + if(pDb == NULL){ + allFinished = true; + mWarn("compact:%" PRId32 ", no db exist, set all finished:%s" , compactId, pCompact->dbname); + } + else{ + mndReleaseDb(pMnode, pDb); + pDb = NULL; + } + if(allFinished){ mInfo("compact:%d, all finished", pCompact->compactId); + pIter = NULL; while (1) { SCompactDetailObj *pDetail = NULL; pIter = sdbFetch(pMnode->pSdb, SDB_COMPACT_DETAIL, pIter, (void **)&pDetail); @@ -697,6 +720,7 @@ static int32_t mndSaveCompactProgress(SMnode *pMnode, int32_t compactId) { return -1; } (void)sdbSetRawStatus(pCommitRaw, SDB_STATUS_DROPPED); + mInfo("compact:%d, add drop compactdetail action", pDetail->compactDetailId); } sdbRelease(pMnode->pSdb, pDetail); @@ -709,6 +733,7 @@ static int32_t mndSaveCompactProgress(SMnode *pMnode, int32_t compactId) { return -1; } (void)sdbSetRawStatus(pCommitRaw, SDB_STATUS_DROPPED); + mInfo("compact:%d, add drop compact action", pCompact->compactId); } if (mndTransPrepare(pMnode, pTrans) != 0) { From 805cc682d9e8d4a8139ba8c03a34bdd7f4f06897 Mon Sep 17 00:00:00 2001 From: Hongze Cheng Date: Wed, 19 Jun 2024 16:01:55 +0800 Subject: [PATCH 2/2] format code --- source/dnode/mnode/impl/src/mndCompact.c | 239 +++++++++++------------ 1 file changed, 117 insertions(+), 122 deletions(-) diff --git a/source/dnode/mnode/impl/src/mndCompact.c b/source/dnode/mnode/impl/src/mndCompact.c index 341c2def0f..abbcb52db4 100644 --- a/source/dnode/mnode/impl/src/mndCompact.c +++ b/source/dnode/mnode/impl/src/mndCompact.c @@ -13,20 +13,19 @@ * along with this program. If not, see . */ #include "mndCompact.h" -#include "mndTrans.h" -#include "mndShow.h" -#include "mndDb.h" -#include "mndCompactDetail.h" -#include "mndVgroup.h" -#include "tmsgcb.h" -#include "mndDnode.h" -#include "tmisce.h" #include "audit.h" +#include "mndCompactDetail.h" +#include "mndDb.h" +#include "mndDnode.h" #include "mndPrivilege.h" +#include "mndShow.h" #include "mndTrans.h" +#include "mndVgroup.h" +#include "tmisce.h" +#include "tmsgcb.h" #define MND_COMPACT_VER_NUMBER 1 -#define MND_COMPACT_ID_LEN 11 +#define MND_COMPACT_ID_LEN 11 static int32_t mndProcessCompactTimer(SRpcMsg *pReq); @@ -50,12 +49,9 @@ int32_t mndInitCompact(SMnode *pMnode) { return sdbSetTable(pMnode->pSdb, table); } -void mndCleanupCompact(SMnode *pMnode) { - mDebug("mnd compact cleanup"); -} +void mndCleanupCompact(SMnode *pMnode) { mDebug("mnd compact cleanup"); } -void tFreeCompactObj(SCompactObj *pCompact) { -} +void tFreeCompactObj(SCompactObj *pCompact) {} int32_t tSerializeSCompactObj(void *buf, int32_t bufLen, const SCompactObj *pObj) { SEncoder encoder = {0}; @@ -75,7 +71,7 @@ int32_t tSerializeSCompactObj(void *buf, int32_t bufLen, const SCompactObj *pObj } int32_t tDeserializeSCompactObj(void *buf, int32_t bufLen, SCompactObj *pObj) { - int8_t ex = 0; + int8_t ex = 0; SDecoder decoder = {0}; tDecoderInit(&decoder, buf, bufLen); @@ -94,7 +90,7 @@ int32_t tDeserializeSCompactObj(void *buf, int32_t bufLen, SCompactObj *pObj) { SSdbRaw *mndCompactActionEncode(SCompactObj *pCompact) { terrno = TSDB_CODE_SUCCESS; - void *buf = NULL; + void *buf = NULL; SSdbRaw *pRaw = NULL; int32_t tlen = tSerializeSCompactObj(NULL, 0, pCompact); @@ -102,8 +98,8 @@ SSdbRaw *mndCompactActionEncode(SCompactObj *pCompact) { terrno = TSDB_CODE_OUT_OF_MEMORY; goto OVER; } - - int32_t size = sizeof(int32_t) + tlen; + + int32_t size = sizeof(int32_t) + tlen; pRaw = sdbAllocRaw(SDB_COMPACT, MND_COMPACT_VER_NUMBER, size); if (pRaw == NULL) { terrno = TSDB_CODE_OUT_OF_MEMORY; @@ -127,7 +123,6 @@ SSdbRaw *mndCompactActionEncode(SCompactObj *pCompact) { SDB_SET_BINARY(pRaw, dataPos, buf, tlen, OVER); SDB_SET_DATALEN(pRaw, dataPos, OVER); - OVER: taosMemoryFreeClear(buf); if (terrno != TSDB_CODE_SUCCESS) { @@ -141,9 +136,9 @@ OVER: } SSdbRow *mndCompactActionDecode(SSdbRaw *pRaw) { - SSdbRow *pRow = NULL; - SCompactObj *pCompact = NULL; - void *buf = NULL; + SSdbRow *pRow = NULL; + SCompactObj *pCompact = NULL; + void *buf = NULL; terrno = TSDB_CODE_SUCCESS; int8_t sver = 0; @@ -184,7 +179,7 @@ SSdbRow *mndCompactActionDecode(SSdbRaw *pRaw) { goto OVER; } - //taosInitRWLatch(&pView->lock); + // taosInitRWLatch(&pView->lock); OVER: taosMemoryFreeClear(buf); @@ -210,15 +205,15 @@ int32_t mndCompactActionDelete(SSdb *pSdb, SCompactObj *pCompact) { } int32_t mndCompactActionUpdate(SSdb *pSdb, SCompactObj *pOldCompact, SCompactObj *pNewCompact) { - mTrace("compact:%" PRId32 ", perform update action, old row:%p new row:%p", - pOldCompact->compactId, pOldCompact, pNewCompact); + mTrace("compact:%" PRId32 ", perform update action, old row:%p new row:%p", pOldCompact->compactId, pOldCompact, + pNewCompact); return 0; } SCompactObj *mndAcquireCompact(SMnode *pMnode, int64_t compactId) { - SSdb *pSdb = pMnode->pSdb; - SCompactObj *pCompact = sdbAcquire(pSdb, SDB_COMPACT, &compactId); + SSdb *pSdb = pMnode->pSdb; + SCompactObj *pCompact = sdbAcquire(pSdb, SDB_COMPACT, &compactId); if (pCompact == NULL && terrno == TSDB_CODE_SDB_OBJ_NOT_THERE) { terrno = TSDB_CODE_SUCCESS; } @@ -230,8 +225,8 @@ void mndReleaseCompact(SMnode *pMnode, SCompactObj *pCompact) { sdbRelease(pSdb, pCompact); } -//compact db -int32_t mndAddCompactToTran(SMnode *pMnode, STrans *pTrans, SCompactObj* pCompact, SDbObj *pDb, SCompactDbRsp *rsp){ +// compact db +int32_t mndAddCompactToTran(SMnode *pMnode, STrans *pTrans, SCompactObj *pCompact, SDbObj *pDb, SCompactDbRsp *rsp) { pCompact->compactId = tGenIdPI32(); strcpy(pCompact->dbname, pDb->name); @@ -251,18 +246,19 @@ int32_t mndAddCompactToTran(SMnode *pMnode, STrans *pTrans, SCompactObj* pCompac return 0; } -//retrieve compact -int32_t mndRetrieveCompact(SRpcMsg *pReq, SShowObj *pShow, SSDataBlock *pBlock, int32_t rows){ - SMnode *pMnode = pReq->info.node; - SSdb *pSdb = pMnode->pSdb; - int32_t numOfRows = 0; - SCompactObj *pCompact = NULL; - char *sep = NULL; - SDbObj *pDb = NULL; - +// retrieve compact +int32_t mndRetrieveCompact(SRpcMsg *pReq, SShowObj *pShow, SSDataBlock *pBlock, int32_t rows) { + SMnode *pMnode = pReq->info.node; + SSdb *pSdb = pMnode->pSdb; + int32_t numOfRows = 0; + SCompactObj *pCompact = NULL; + char *sep = NULL; + SDbObj *pDb = NULL; + if (strlen(pShow->db) > 0) { sep = strchr(pShow->db, '.'); - if (sep && ((0 == strcmp(sep + 1, TSDB_INFORMATION_SCHEMA_DB) || (0 == strcmp(sep + 1, TSDB_PERFORMANCE_SCHEMA_DB))))) { + if (sep && + ((0 == strcmp(sep + 1, TSDB_INFORMATION_SCHEMA_DB) || (0 == strcmp(sep + 1, TSDB_PERFORMANCE_SCHEMA_DB))))) { sep++; } else { pDb = mndAcquireDb(pMnode, pShow->db); @@ -306,9 +302,9 @@ int32_t mndRetrieveCompact(SRpcMsg *pReq, SShowObj *pShow, SSDataBlock *pBlock, return numOfRows; } -//kill compact -static void *mndBuildKillCompactReq(SMnode *pMnode, SVgObj *pVgroup, int32_t *pContLen, - int32_t compactId, int32_t dnodeid) { +// kill compact +static void *mndBuildKillCompactReq(SMnode *pMnode, SVgObj *pVgroup, int32_t *pContLen, int32_t compactId, + int32_t dnodeid) { SVKillCompactReq req = {0}; req.compactId = compactId; req.vgId = pVgroup->vgId; @@ -337,8 +333,8 @@ static void *mndBuildKillCompactReq(SMnode *pMnode, SVgObj *pVgroup, int32_t *pC return pReq; } -static int32_t mndAddKillCompactAction(SMnode *pMnode, STrans *pTrans, SVgObj *pVgroup, - int32_t compactId, int32_t dnodeid) { +static int32_t mndAddKillCompactAction(SMnode *pMnode, STrans *pTrans, SVgObj *pVgroup, int32_t compactId, + int32_t dnodeid) { STransAction action = {0}; SDnodeObj *pDnode = mndAcquireDnode(pMnode, dnodeid); @@ -365,7 +361,7 @@ static int32_t mndAddKillCompactAction(SMnode *pMnode, STrans *pTrans, SVgObj *p static int32_t mndKillCompact(SMnode *pMnode, SRpcMsg *pReq, SCompactObj *pCompact) { STrans *pTrans = mndTransCreate(pMnode, TRN_POLICY_ROLLBACK, TRN_CONFLICT_DB, pReq, "kill-compact"); if (pTrans == NULL) { - mError("compact:%" PRId32 ", failed to drop since %s" , pCompact->compactId, terrstr()); + mError("compact:%" PRId32 ", failed to drop since %s", pCompact->compactId, terrstr()); return -1; } mInfo("trans:%d, used to kill compact:%" PRId32, pTrans->id, pCompact->compactId); @@ -388,13 +384,13 @@ static int32_t mndKillCompact(SMnode *pMnode, SRpcMsg *pReq, SCompactObj *pCompa if (pDetail->compactId == pCompact->compactId) { SVgObj *pVgroup = mndAcquireVgroup(pMnode, pDetail->vgId); - if(pVgroup == NULL){ + if (pVgroup == NULL) { mError("trans:%d, failed to append redo action since %s", pTrans->id, terrstr()); mndTransDrop(pTrans); return -1; } - if(mndAddKillCompactAction(pMnode, pTrans, pVgroup, pCompact->compactId, pDetail->dnodeId) != 0){ + if (mndAddKillCompactAction(pMnode, pTrans, pVgroup, pCompact->compactId, pDetail->dnodeId) != 0) { mError("trans:%d, failed to append redo action since %s", pTrans->id, terrstr()); mndTransDrop(pTrans); return -1; @@ -426,7 +422,7 @@ static int32_t mndKillCompact(SMnode *pMnode, SRpcMsg *pReq, SCompactObj *pCompa return 0; } -int32_t mndProcessKillCompactReq(SRpcMsg *pReq){ +int32_t mndProcessKillCompactReq(SRpcMsg *pReq) { SKillCompactReq killCompactReq = {0}; if (tDeserializeSKillCompactReq(pReq->pCont, pReq->contLen, &killCompactReq) != 0) { terrno = TSDB_CODE_INVALID_MSG; @@ -435,10 +431,10 @@ int32_t mndProcessKillCompactReq(SRpcMsg *pReq){ mInfo("start to kill compact:%" PRId32, killCompactReq.compactId); - SMnode *pMnode = pReq->info.node; - int32_t code = -1; - SCompactObj *pCompact = mndAcquireCompact(pMnode, killCompactReq.compactId); - if(pCompact == NULL){ + SMnode *pMnode = pReq->info.node; + int32_t code = -1; + SCompactObj *pCompact = mndAcquireCompact(pMnode, killCompactReq.compactId); + if (pCompact == NULL) { terrno = TSDB_CODE_MND_INVALID_COMPACT_ID; tFreeSKillCompactReq(&killCompactReq); return -1; @@ -470,9 +466,10 @@ _OVER: return code; } -//update progress -static int32_t mndUpdateCompactProgress(SMnode *pMnode, SRpcMsg *pReq, int32_t compactId, SQueryCompactProgressRsp* rsp) { - void* pIter = NULL; +// update progress +static int32_t mndUpdateCompactProgress(SMnode *pMnode, SRpcMsg *pReq, int32_t compactId, + SQueryCompactProgressRsp *rsp) { + void *pIter = NULL; while (1) { SCompactDetailObj *pDetail = NULL; pIter = sdbFetch(pMnode->pSdb, SDB_COMPACT_DETAIL, pIter, (void **)&pDetail); @@ -493,36 +490,36 @@ static int32_t mndUpdateCompactProgress(SMnode *pMnode, SRpcMsg *pReq, int32_t c return TSDB_CODE_MND_COMPACT_DETAIL_NOT_EXIST; } -int32_t mndProcessQueryCompactRsp(SRpcMsg *pReq){ +int32_t mndProcessQueryCompactRsp(SRpcMsg *pReq) { SQueryCompactProgressRsp req = {0}; - int32_t code = 0; + int32_t code = 0; code = tDeserializeSQueryCompactProgressRsp(pReq->pCont, pReq->contLen, &req); if (code != 0) { terrno = TSDB_CODE_INVALID_MSG; - mError("failed to deserialize vnode-query-compact-progress-rsp, ret:%d, pCont:%p, len:%d", - code, pReq->pCont, pReq->contLen); + mError("failed to deserialize vnode-query-compact-progress-rsp, ret:%d, pCont:%p, len:%d", code, pReq->pCont, + pReq->contLen); return -1; } - mDebug("compact:%d, receive query response, vgId:%d, dnodeId:%d, numberFileset:%d, finished:%d", - req.compactId, req.vgId, req.dnodeId, req.numberFileset, req.finished); + mDebug("compact:%d, receive query response, vgId:%d, dnodeId:%d, numberFileset:%d, finished:%d", req.compactId, + req.vgId, req.dnodeId, req.numberFileset, req.finished); - SMnode *pMnode = pReq->info.node; + SMnode *pMnode = pReq->info.node; code = mndUpdateCompactProgress(pMnode, pReq, req.compactId, &req); - if(code != 0){ + if (code != 0) { terrno = code; - mError("compact:%d, failed to update progress, vgId:%d, dnodeId:%d, numberFileset:%d, finished:%d", - req.compactId, req.vgId, req.dnodeId, req.numberFileset, req.finished); + mError("compact:%d, failed to update progress, vgId:%d, dnodeId:%d, numberFileset:%d, finished:%d", req.compactId, + req.vgId, req.dnodeId, req.numberFileset, req.finished); return -1; } return 0; } -//timer -void mndCompactSendProgressReq(SMnode *pMnode, SCompactObj *pCompact){ - void *pIter = NULL; +// timer +void mndCompactSendProgressReq(SMnode *pMnode, SCompactObj *pCompact) { + void *pIter = NULL; while (1) { SCompactDetailObj *pDetail = NULL; @@ -532,8 +529,8 @@ void mndCompactSendProgressReq(SMnode *pMnode, SCompactObj *pCompact){ if (pDetail->compactId == pCompact->compactId) { SEpSet epSet = {0}; - SDnodeObj *pDnode = mndAcquireDnode(pMnode, pDetail->dnodeId); - if(pDnode == NULL) break; + SDnodeObj *pDnode = mndAcquireDnode(pMnode, pDetail->dnodeId); + if (pDnode == NULL) break; addEpIntoEpSet(&epSet, pDnode->fqdn, pDnode->port); mndReleaseDnode(pMnode, pDnode); @@ -555,31 +552,29 @@ void mndCompactSendProgressReq(SMnode *pMnode, SCompactObj *pCompact){ sdbCancelFetch(pMnode->pSdb, pDetail); sdbRelease(pMnode->pSdb, pDetail); continue; - } + } pHead->contLen = htonl(contLen); pHead->vgId = htonl(pDetail->vgId); tSerializeSQueryCompactProgressReq((char *)pHead + sizeof(SMsgHead), contLen - sizeof(SMsgHead), &req); - SRpcMsg rpcMsg = {.msgType = TDMT_VND_QUERY_COMPACT_PROGRESS, - .contLen = contLen}; - - //rpcMsg.pCont = rpcMallocCont(contLen); - //if (rpcMsg.pCont == NULL) { - // return; - //} + SRpcMsg rpcMsg = {.msgType = TDMT_VND_QUERY_COMPACT_PROGRESS, .contLen = contLen}; - //memcpy(rpcMsg.pCont, pHead, contLen); + // rpcMsg.pCont = rpcMallocCont(contLen); + // if (rpcMsg.pCont == NULL) { + // return; + // } + + // memcpy(rpcMsg.pCont, pHead, contLen); rpcMsg.pCont = pHead; char detail[1024] = {0}; - int32_t len = snprintf(detail, sizeof(detail), "msgType:%s numOfEps:%d inUse:%d", TMSG_INFO(TDMT_VND_QUERY_COMPACT_PROGRESS), - epSet.numOfEps, epSet.inUse); + int32_t len = snprintf(detail, sizeof(detail), "msgType:%s numOfEps:%d inUse:%d", + TMSG_INFO(TDMT_VND_QUERY_COMPACT_PROGRESS), epSet.numOfEps, epSet.inUse); for (int32_t i = 0; i < epSet.numOfEps; ++i) { - len += snprintf(detail + len, sizeof(detail) - len, " ep:%d-%s:%u", i, epSet.eps[i].fqdn, - epSet.eps[i].port); + len += snprintf(detail + len, sizeof(detail) - len, " ep:%d-%s:%u", i, epSet.eps[i].fqdn, epSet.eps[i].port); } mDebug("compact:%d, send update progress msg to %s", pDetail->compactId, detail); @@ -592,52 +587,52 @@ void mndCompactSendProgressReq(SMnode *pMnode, SCompactObj *pCompact){ } static int32_t mndSaveCompactProgress(SMnode *pMnode, int32_t compactId) { - bool needSave = false; - void* pIter = NULL; + bool needSave = false; + void *pIter = NULL; while (1) { SCompactDetailObj *pDetail = NULL; pIter = sdbFetch(pMnode->pSdb, SDB_COMPACT_DETAIL, pIter, (void **)&pDetail); if (pIter == NULL) break; if (pDetail->compactId == compactId) { - mDebug("compact:%d, check save progress, vgId:%d, dnodeId:%d, numberFileset:%d, finished:%d, " - "newNumberFileset:%d, newFinished:%d", - pDetail->compactId, pDetail->vgId, pDetail->dnodeId, pDetail->numberFileset, pDetail->finished, - pDetail->newNumberFileset, pDetail->newFinished); + mDebug( + "compact:%d, check save progress, vgId:%d, dnodeId:%d, numberFileset:%d, finished:%d, " + "newNumberFileset:%d, newFinished:%d", + pDetail->compactId, pDetail->vgId, pDetail->dnodeId, pDetail->numberFileset, pDetail->finished, + pDetail->newNumberFileset, pDetail->newFinished); - //these 2 number will jump back after dnode restart, so < is not used here - if(pDetail->numberFileset != pDetail->newNumberFileset || pDetail->finished != pDetail->newFinished) + // these 2 number will jump back after dnode restart, so < is not used here + if (pDetail->numberFileset != pDetail->newNumberFileset || pDetail->finished != pDetail->newFinished) needSave = true; } sdbRelease(pMnode->pSdb, pDetail); } - SCompactObj *pCompact = mndAcquireCompact(pMnode, compactId); - if(pCompact == NULL) return 0; + SCompactObj *pCompact = mndAcquireCompact(pMnode, compactId); + if (pCompact == NULL) return 0; SDbObj *pDb = mndAcquireDb(pMnode, pCompact->dbname); - if(pDb == NULL){ + if (pDb == NULL) { needSave = true; - mWarn("compact:%" PRId32 ", no db exist, set needSave:%s" , compactId, pCompact->dbname); - } - else{ + mWarn("compact:%" PRId32 ", no db exist, set needSave:%s", compactId, pCompact->dbname); + } else { mndReleaseDb(pMnode, pDb); pDb = NULL; } - if(!needSave) { - mDebug("compact:%" PRId32 ", no need to save" , compactId); + if (!needSave) { + mDebug("compact:%" PRId32 ", no need to save", compactId); return 0; } STrans *pTrans = mndTransCreate(pMnode, TRN_POLICY_ROLLBACK, TRN_CONFLICT_DB, NULL, "update-compact-progress"); if (pTrans == NULL) { - mError("trans:%" PRId32 ", failed to create since %s" , pTrans->id, terrstr()); + mError("trans:%" PRId32 ", failed to create since %s", pTrans->id, terrstr()); return -1; } mInfo("compact:%d, trans:%d, used to update compact progress.", compactId, pTrans->id); - + mndTransSetDbName(pTrans, pCompact->dbname, NULL); pIter = NULL; @@ -647,14 +642,15 @@ static int32_t mndSaveCompactProgress(SMnode *pMnode, int32_t compactId) { if (pIter == NULL) break; if (pDetail->compactId == compactId) { - mInfo("compact:%d, trans:%d, check compact progress, vgId:%d, dnodeId:%d, numberFileset:%d, finished:%d, " - "newNumberFileset:%d, newFinished:%d", - pDetail->compactId, pTrans->id, pDetail->vgId, pDetail->dnodeId, pDetail->numberFileset, pDetail->finished, - pDetail->newNumberFileset, pDetail->newFinished); + mInfo( + "compact:%d, trans:%d, check compact progress, vgId:%d, dnodeId:%d, numberFileset:%d, finished:%d, " + "newNumberFileset:%d, newFinished:%d", + pDetail->compactId, pTrans->id, pDetail->vgId, pDetail->dnodeId, pDetail->numberFileset, pDetail->finished, + pDetail->newNumberFileset, pDetail->newFinished); pDetail->numberFileset = pDetail->newNumberFileset; pDetail->finished = pDetail->newFinished; - + SSdbRaw *pCommitRaw = mndCompactDetailActionEncode(pDetail); if (pCommitRaw == NULL || mndTransAppendCommitlog(pTrans, pCommitRaw) != 0) { mError("compact:%d, trans:%d, failed to append commit log since %s", pDetail->compactId, pTrans->id, terrstr()); @@ -674,17 +670,16 @@ static int32_t mndSaveCompactProgress(SMnode *pMnode, int32_t compactId) { pIter = sdbFetch(pMnode->pSdb, SDB_COMPACT_DETAIL, pIter, (void **)&pDetail); if (pIter == NULL) break; - if(pDetail->compactId == compactId){ - mInfo("compact:%d, trans:%d, check compact finished, vgId:%d, dnodeId:%d, numberFileset:%d, finished:%d", - pDetail->compactId, pTrans->id, pDetail->vgId, pDetail->dnodeId, pDetail->numberFileset, pDetail->finished); + if (pDetail->compactId == compactId) { + mInfo("compact:%d, trans:%d, check compact finished, vgId:%d, dnodeId:%d, numberFileset:%d, finished:%d", + pDetail->compactId, pTrans->id, pDetail->vgId, pDetail->dnodeId, pDetail->numberFileset, pDetail->finished); - if(pDetail->numberFileset == -1 && pDetail->finished == -1){ + if (pDetail->numberFileset == -1 && pDetail->finished == -1) { allFinished = false; sdbRelease(pMnode->pSdb, pDetail); break; } - if (pDetail->numberFileset != -1 && pDetail->finished != -1 && - pDetail->numberFileset != pDetail->finished) { + if (pDetail->numberFileset != -1 && pDetail->finished != -1 && pDetail->numberFileset != pDetail->finished) { allFinished = false; sdbRelease(pMnode->pSdb, pDetail); break; @@ -695,16 +690,15 @@ static int32_t mndSaveCompactProgress(SMnode *pMnode, int32_t compactId) { } pDb = mndAcquireDb(pMnode, pCompact->dbname); - if(pDb == NULL){ + if (pDb == NULL) { allFinished = true; - mWarn("compact:%" PRId32 ", no db exist, set all finished:%s" , compactId, pCompact->dbname); - } - else{ + mWarn("compact:%" PRId32 ", no db exist, set all finished:%s", compactId, pCompact->dbname); + } else { mndReleaseDb(pMnode, pDb); - pDb = NULL; + pDb = NULL; } - if(allFinished){ + if (allFinished) { mInfo("compact:%d, all finished", pCompact->compactId); pIter = NULL; while (1) { @@ -712,10 +706,11 @@ static int32_t mndSaveCompactProgress(SMnode *pMnode, int32_t compactId) { pIter = sdbFetch(pMnode->pSdb, SDB_COMPACT_DETAIL, pIter, (void **)&pDetail); if (pIter == NULL) break; - if (pDetail->compactId == pCompact->compactId) { + if (pDetail->compactId == pCompact->compactId) { SSdbRaw *pCommitRaw = mndCompactDetailActionEncode(pDetail); if (pCommitRaw == NULL || mndTransAppendCommitlog(pTrans, pCommitRaw) != 0) { - mError("compact:%d, trans:%d, failed to append commit log since %s", pDetail->compactId, pTrans->id, terrstr()); + mError("compact:%d, trans:%d, failed to append commit log since %s", pDetail->compactId, pTrans->id, + terrstr()); mndTransDrop(pTrans); return -1; } @@ -764,8 +759,8 @@ void mndCompactPullup(SMnode *pMnode) { for (int32_t i = 0; i < taosArrayGetSize(pArray); ++i) { mInfo("begin to pull up"); - int32_t *pCompactId = taosArrayGet(pArray, i); - SCompactObj *pCompact = mndAcquireCompact(pMnode, *pCompactId); + int32_t *pCompactId = taosArrayGet(pArray, i); + SCompactObj *pCompact = mndAcquireCompact(pMnode, *pCompactId); if (pCompact != NULL) { mInfo("compact:%d, begin to pull up", pCompact->compactId); mndCompactSendProgressReq(pMnode, pCompact);