From b07670a6802e2e1fae2b77e1f055c867e27aaad1 Mon Sep 17 00:00:00 2001 From: Cary Xu Date: Tue, 25 Oct 2022 18:03:09 +0800 Subject: [PATCH] enh: improve test case coverage of tsma --- include/common/tdatablock.h | 2 +- source/common/src/tdatablock.c | 6 +++--- source/dnode/vnode/src/sma/smaRollup.c | 2 +- source/dnode/vnode/src/vnd/vnodeSvr.c | 2 +- tests/script/sh/deploy.bat | 1 + tests/script/sh/deploy.sh | 1 + tests/script/tsim/sma/tsmaCreateInsertQuery.sim | 5 +++-- 7 files changed, 11 insertions(+), 8 deletions(-) diff --git a/include/common/tdatablock.h b/include/common/tdatablock.h index 24dfa5958d..953762ff65 100644 --- a/include/common/tdatablock.h +++ b/include/common/tdatablock.h @@ -245,7 +245,7 @@ void blockEncode(const SSDataBlock* pBlock, char* data, int32_t* dataLen, int32_ const char* blockDecode(SSDataBlock* pBlock, const char* pData); void blockDebugShowDataBlock(SSDataBlock* pBlock, const char* flag); -void blockDebugShowDataBlocks(const SArray* dataBlocks, const char* flag); +void blockDebugShowDataBlocks(const SArray* dataBlocks, bool isPtr, const char* flag); // for debug char* dumpBlockData(SSDataBlock* pDataBlock, const char* flag, char** dumpBuf); diff --git a/source/common/src/tdatablock.c b/source/common/src/tdatablock.c index 64f56212af..d597acae62 100644 --- a/source/common/src/tdatablock.c +++ b/source/common/src/tdatablock.c @@ -1797,15 +1797,15 @@ static char* formatTimestamp(char* buf, int64_t val, int precision) { void blockDebugShowDataBlock(SSDataBlock* pBlock, const char* flag) { SArray* dataBlocks = taosArrayInit(1, sizeof(SSDataBlock*)); taosArrayPush(dataBlocks, &pBlock); - blockDebugShowDataBlocks(dataBlocks, flag); + blockDebugShowDataBlocks(dataBlocks, true, flag); taosArrayDestroy(dataBlocks); } -void blockDebugShowDataBlocks(const SArray* dataBlocks, const char* flag) { +void blockDebugShowDataBlocks(const SArray* dataBlocks, bool isPtr, const char* flag) { char pBuf[128] = {0}; int32_t sz = taosArrayGetSize(dataBlocks); for (int32_t i = 0; i < sz; i++) { - SSDataBlock* pDataBlock = taosArrayGetP(dataBlocks, i); + SSDataBlock* pDataBlock = isPtr ? taosArrayGetP(dataBlocks, i) : taosArrayGet(dataBlocks, i); size_t numOfCols = taosArrayGetSize(pDataBlock->pDataBlock); int32_t rows = pDataBlock->info.rows; diff --git a/source/dnode/vnode/src/sma/smaRollup.c b/source/dnode/vnode/src/sma/smaRollup.c index c56b32514a..450fd8a8df 100644 --- a/source/dnode/vnode/src/sma/smaRollup.c +++ b/source/dnode/vnode/src/sma/smaRollup.c @@ -697,7 +697,7 @@ static int32_t tdRSmaExecAndSubmitResult(SSma *pSma, qTaskInfo_t taskInfo, SRSma #if 0 char flag[10] = {0}; snprintf(flag, 10, "level %" PRIi8, pItem->level); - blockDebugShowDataBlocks(pResList, flag); + blockDebugShowDataBlocks(pResList, true, flag); #endif for (int32_t i = 0; i < taosArrayGetSize(pResList); ++i) { SSDataBlock *output = taosArrayGetP(pResList, i); diff --git a/source/dnode/vnode/src/vnd/vnodeSvr.c b/source/dnode/vnode/src/vnd/vnodeSvr.c index c8089ead99..56dca6a0f8 100644 --- a/source/dnode/vnode/src/vnd/vnodeSvr.c +++ b/source/dnode/vnode/src/vnd/vnodeSvr.c @@ -407,7 +407,7 @@ int32_t vnodeProcessFetchMsg(SVnode *pVnode, SRpcMsg *pMsg, SQueueInfo *pInfo) { // TODO: remove the function void smaHandleRes(void *pVnode, int64_t smaId, const SArray *data) { // TODO - // blockDebugShowDataBlocks(data, __func__); + // blockDebugShowDataBlocks(data, false, __func__); tdProcessTSmaInsert(((SVnode *)pVnode)->pSma, smaId, (const char *)data); } diff --git a/tests/script/sh/deploy.bat b/tests/script/sh/deploy.bat index 4b221dd479..38e7022ede 100644 --- a/tests/script/sh/deploy.bat +++ b/tests/script/sh/deploy.bat @@ -85,3 +85,4 @@ echo statusInterval 1 >> %TAOS_CFG% echo asyncLog 0 >> %TAOS_CFG% echo locale en_US.UTF-8 >> %TAOS_CFG% echo telemetryReporting 0 >> %TAOS_CFG% +echo querySmaOptimize 1 >> %TAOS_CFG% diff --git a/tests/script/sh/deploy.sh b/tests/script/sh/deploy.sh index 606afe164b..cc707b2ed0 100755 --- a/tests/script/sh/deploy.sh +++ b/tests/script/sh/deploy.sh @@ -144,4 +144,5 @@ echo "numOfLogLines 20000000" >> $TAOS_CFG echo "asyncLog 0" >> $TAOS_CFG echo "locale en_US.UTF-8" >> $TAOS_CFG echo "telemetryReporting 0" >> $TAOS_CFG +echo "querySmaOptimize 1" >> $TAOS_CFG echo " " >> $TAOS_CFG diff --git a/tests/script/tsim/sma/tsmaCreateInsertQuery.sim b/tests/script/tsim/sma/tsmaCreateInsertQuery.sim index 7aef9e0f86..442b4970e4 100644 --- a/tests/script/tsim/sma/tsmaCreateInsertQuery.sim +++ b/tests/script/tsim/sma/tsmaCreateInsertQuery.sim @@ -30,12 +30,13 @@ sql insert into ct1 values('2022-10-19 09:55:46.682', 11, 2.1, 3.1)('2022-10-19 print =============== create sma index from super table -sql create sma index sma_index_name1 on stb function(max(c1),max(c2),min(c1)) interval(5m,10s) sliding(5m) +sql create sma index sma_index_name1 on stb function(max(c1),max(c2),min(c1)) interval(5m,10s) sliding(5m) watermark 1s max_delay 1s print $data00 $data01 $data02 $data03 print =============== trigger stream to execute sma aggr task and insert sma data into sma store sql insert into ct1 values('2022-10-19 09:55:50.682', 20, 20.0, 30.0) -#=================================================================== +#==================== sleep 2s to wait for tsma result +sleep 2000 print =============== show streams ================================ sql show streams;