From 7c0d150708e70780d1359f3ed14e044bad4b61eb Mon Sep 17 00:00:00 2001 From: Hongze Cheng Date: Wed, 13 Nov 2024 14:17:27 +0800 Subject: [PATCH] feat: show progress and remain time for compact task --- source/common/src/systable.c | 2 ++ source/dnode/mnode/impl/src/mndCompactDetail.c | 10 ++++++++++ 2 files changed, 12 insertions(+) diff --git a/source/common/src/systable.c b/source/common/src/systable.c index 4993ece7c1..8950569a5f 100644 --- a/source/common/src/systable.c +++ b/source/common/src/systable.c @@ -397,6 +397,8 @@ static const SSysDbTableSchema userCompactsDetailSchema[] = { {.name = "number_fileset", .bytes = 4, .type = TSDB_DATA_TYPE_INT, .sysInfo = false}, {.name = "finished", .bytes = 4, .type = TSDB_DATA_TYPE_INT, .sysInfo = false}, {.name = "start_time", .bytes = 8, .type = TSDB_DATA_TYPE_TIMESTAMP, .sysInfo = false}, + {.name = "progress(%)", .bytes = 4, .type = TSDB_DATA_TYPE_INT, .sysInfo = false}, + {.name = "remain_time(s)", .bytes = 8, .type = TSDB_DATA_TYPE_BIGINT, .sysInfo = false}, }; static const SSysDbTableSchema anodesSchema[] = { diff --git a/source/dnode/mnode/impl/src/mndCompactDetail.c b/source/dnode/mnode/impl/src/mndCompactDetail.c index cbd0df7e68..910606818f 100644 --- a/source/dnode/mnode/impl/src/mndCompactDetail.c +++ b/source/dnode/mnode/impl/src/mndCompactDetail.c @@ -90,6 +90,16 @@ 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); + + int64_t remainTime = 0; + pColInfo = taosArrayGet(pBlock->pDataBlock, cols++); + TAOS_CHECK_RETURN_WITH_RELEASE(colDataSetVal(pColInfo, numOfRows, (const char *)&remainTime, false), pSdb, + pCompactDetail); + numOfRows++; sdbRelease(pSdb, pCompactDetail); }