more code

This commit is contained in:
Hongze Cheng 2024-11-13 16:17:16 +08:00
parent 7c0d150708
commit 9a59689fba
6 changed files with 39 additions and 15 deletions

View File

@ -1984,6 +1984,8 @@ typedef struct {
int32_t dnodeId;
int32_t numberFileset;
int32_t finished;
int32_t progress;
int64_t remainingTime;
} SQueryCompactProgressRsp;
int32_t tSerializeSQueryCompactProgressRsp(void* buf, int32_t bufLen, SQueryCompactProgressRsp* pReq);

View File

@ -6816,6 +6816,9 @@ int32_t tSerializeSQueryCompactProgressRsp(void *buf, int32_t bufLen, SQueryComp
TAOS_CHECK_EXIT(tEncodeI32(&encoder, pReq->dnodeId));
TAOS_CHECK_EXIT(tEncodeI32(&encoder, pReq->numberFileset));
TAOS_CHECK_EXIT(tEncodeI32(&encoder, pReq->finished));
// 1. add progress and remaining time
TAOS_CHECK_EXIT(tEncodeI32v(&encoder, pReq->progress));
TAOS_CHECK_EXIT(tEncodeI64v(&encoder, pReq->remainingTime));
tEndEncode(&encoder);
@ -6840,6 +6843,14 @@ int32_t tDeserializeSQueryCompactProgressRsp(void *buf, int32_t bufLen, SQueryCo
TAOS_CHECK_EXIT(tDecodeI32(&decoder, &pReq->dnodeId));
TAOS_CHECK_EXIT(tDecodeI32(&decoder, &pReq->numberFileset));
TAOS_CHECK_EXIT(tDecodeI32(&decoder, &pReq->finished));
// 1. decode progress and remaining time
if (!tDecodeIsEnd(&decoder)) {
TAOS_CHECK_EXIT(tDecodeI32v(&decoder, &pReq->progress));
TAOS_CHECK_EXIT(tDecodeI64v(&decoder, &pReq->remainingTime));
} else {
pReq->progress = 0;
pReq->remainingTime = 0;
}
tEndDecode(&decoder);
_exit:

View File

@ -25,19 +25,17 @@ extern "C" {
int32_t mndInitCompactDetail(SMnode *pMnode);
void mndCleanupCompactDetail(SMnode *pMnode);
void tFreeCompactDetailObj(SCompactDetailObj *pCompact);
int32_t tSerializeSCompactDetailObj(void *buf, int32_t bufLen, const SCompactDetailObj *pObj);
int32_t tDeserializeSCompactDetailObj(void *buf, int32_t bufLen, SCompactDetailObj *pObj);
void tFreeCompactDetailObj(SCompactDetailObj *pCompact);
SSdbRaw* mndCompactDetailActionEncode(SCompactDetailObj *pCompact);
SSdbRow* mndCompactDetailActionDecode(SSdbRaw *pRaw);
SSdbRaw *mndCompactDetailActionEncode(SCompactDetailObj *pCompact);
SSdbRow *mndCompactDetailActionDecode(SSdbRaw *pRaw);
int32_t mndCompactDetailActionInsert(SSdb *pSdb, SCompactDetailObj *pCompact);
int32_t mndCompactDetailActionDelete(SSdb *pSdb, SCompactDetailObj *pCompact);
int32_t mndCompactDetailActionUpdate(SSdb *pSdb, SCompactDetailObj *pOldCompact, SCompactDetailObj *pNewCompact);
int32_t mndAddCompactDetailToTran(SMnode *pMnode, STrans *pTrans, SCompactObj* pCompact, SVgObj *pVgroup,
SVnodeGid *pVgid, int32_t index);
int32_t mndAddCompactDetailToTran(SMnode *pMnode, STrans *pTrans, SCompactObj *pCompact, SVgObj *pVgroup,
SVnodeGid *pVgid, int32_t index);
int32_t mndRetrieveCompactDetail(SRpcMsg *pReq, SShowObj *pShow, SSDataBlock *pBlock, int32_t rows);

View File

@ -846,6 +846,8 @@ typedef struct {
int64_t startTime;
int32_t newNumberFileset;
int32_t newFinished;
int32_t progress;
int64_t remainingTime;
} SCompactDetailObj;
typedef struct {

View File

@ -546,6 +546,8 @@ static int32_t mndUpdateCompactProgress(SMnode *pMnode, SRpcMsg *pReq, int32_t c
if (pDetail->compactId == compactId && pDetail->vgId == rsp->vgId && pDetail->dnodeId == rsp->dnodeId) {
pDetail->newNumberFileset = rsp->numberFileset;
pDetail->newFinished = rsp->finished;
pDetail->progress = rsp->progress;
pDetail->remainingTime = rsp->remainingTime;
sdbCancelFetch(pMnode->pSdb, pIter);
sdbRelease(pMnode->pSdb, pDetail);

View File

@ -90,15 +90,13 @@ int32_t mndRetrieveCompactDetail(SRpcMsg *pReq, SShowObj *pShow, SSDataBlock *pB
TAOS_CHECK_RETURN_WITH_RELEASE(colDataSetVal(pColInfo, numOfRows, (const char *)&pCompactDetail->startTime, false),
pSdb, pCompactDetail);
int32_t percentage = 0;
pColInfo = taosArrayGet(pBlock->pDataBlock, cols++);
TAOS_CHECK_RETURN_WITH_RELEASE(colDataSetVal(pColInfo, numOfRows, (const char *)&percentage, false), pSdb,
pCompactDetail);
TAOS_CHECK_RETURN_WITH_RELEASE(colDataSetVal(pColInfo, numOfRows, (const char *)&pCompactDetail->progress, false),
pSdb, pCompactDetail);
int64_t remainTime = 0;
pColInfo = taosArrayGet(pBlock->pDataBlock, cols++);
TAOS_CHECK_RETURN_WITH_RELEASE(colDataSetVal(pColInfo, numOfRows, (const char *)&remainTime, false), pSdb,
pCompactDetail);
TAOS_CHECK_RETURN_WITH_RELEASE(
colDataSetVal(pColInfo, numOfRows, (const char *)&pCompactDetail->remainingTime, false), pSdb, pCompactDetail);
numOfRows++;
sdbRelease(pSdb, pCompactDetail);
@ -111,7 +109,7 @@ int32_t mndRetrieveCompactDetail(SRpcMsg *pReq, SShowObj *pShow, SSDataBlock *pB
void tFreeCompactDetailObj(SCompactDetailObj *pCompact) {}
int32_t tSerializeSCompactDetailObj(void *buf, int32_t bufLen, const SCompactDetailObj *pObj) {
static int32_t tSerializeSCompactDetailObj(void *buf, int32_t bufLen, const SCompactDetailObj *pObj) {
SEncoder encoder = {0};
int32_t code = 0;
int32_t lino;
@ -128,6 +126,9 @@ int32_t tSerializeSCompactDetailObj(void *buf, int32_t bufLen, const SCompactDet
TAOS_CHECK_EXIT(tEncodeI64(&encoder, pObj->startTime));
TAOS_CHECK_EXIT(tEncodeI32(&encoder, pObj->newNumberFileset));
TAOS_CHECK_EXIT(tEncodeI32(&encoder, pObj->newFinished));
// 1. add progress and remaining time
TAOS_CHECK_EXIT(tEncodeI32v(&encoder, pObj->progress));
TAOS_CHECK_EXIT(tEncodeI64v(&encoder, pObj->remainingTime));
tEndEncode(&encoder);
@ -141,7 +142,7 @@ _exit:
return tlen;
}
int32_t tDeserializeSCompactDetailObj(void *buf, int32_t bufLen, SCompactDetailObj *pObj) {
static int32_t tDeserializeSCompactDetailObj(void *buf, int32_t bufLen, SCompactDetailObj *pObj) {
int32_t code = 0;
int32_t lino;
SDecoder decoder = {0};
@ -157,6 +158,14 @@ int32_t tDeserializeSCompactDetailObj(void *buf, int32_t bufLen, SCompactDetailO
TAOS_CHECK_EXIT(tDecodeI64(&decoder, &pObj->startTime));
TAOS_CHECK_EXIT(tDecodeI32(&decoder, &pObj->newNumberFileset));
TAOS_CHECK_EXIT(tDecodeI32(&decoder, &pObj->newFinished));
// 1. add progress and remaining time decode
if (!tDecodeIsEnd(&decoder)) {
TAOS_CHECK_EXIT(tDecodeI32v(&decoder, &pObj->progress));
TAOS_CHECK_EXIT(tDecodeI64v(&decoder, &pObj->remainingTime));
} else {
pObj->progress = 0;
pObj->remainingTime = 0;
}
tEndDecode(&decoder);