From 1575d9f70b447eb730bafd187b47fbcf2255d360 Mon Sep 17 00:00:00 2001 From: hzcheng Date: Mon, 23 Mar 2020 13:47:52 +0800 Subject: [PATCH 1/3] TD-34 --- src/vnode/tsdb/tests/tsdbTests.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/vnode/tsdb/tests/tsdbTests.cpp b/src/vnode/tsdb/tests/tsdbTests.cpp index 459d531c10..e623425e85 100644 --- a/src/vnode/tsdb/tests/tsdbTests.cpp +++ b/src/vnode/tsdb/tests/tsdbTests.cpp @@ -88,7 +88,8 @@ TEST(TsdbTest, createRepo) { for (int k = 0; k < nRows/rowsPerSubmit; k++) { SSubmitBlk *pBlock = pMsg->blocks; - pBlock->tableId = {.uid = 987607499877672L, .tid = 0}; + pBlock->uid = 987607499877672L; + pBlock->tid = 0; pBlock->sversion = 0; pBlock->len = 0; for (int i = 0; i < rowsPerSubmit; i++) { From 1b601eee7577c988a708866b4addefa1fac9427f Mon Sep 17 00:00:00 2001 From: hzcheng Date: Mon, 23 Mar 2020 15:07:59 +0800 Subject: [PATCH 2/3] TD-34 --- src/vnode/tsdb/src/tsdbMain.c | 2 +- src/vnode/tsdb/tests/tsdbTests.cpp | 13 ++++++++++++- 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/src/vnode/tsdb/src/tsdbMain.c b/src/vnode/tsdb/src/tsdbMain.c index b07cce1b3b..2df7974844 100644 --- a/src/vnode/tsdb/src/tsdbMain.c +++ b/src/vnode/tsdb/src/tsdbMain.c @@ -712,7 +712,7 @@ static int32_t tdInsertRowToTable(STsdbRepo *pRepo, SDataRow row, STable *pTable tSkipListRandNodeInfo(pTable->mem->pData, &level, &headSize); TSKEY key = dataRowKey(row); - printf("insert:%lld, size:%d\n", key, pTable->mem->numOfPoints); + // printf("insert:%lld, size:%d\n", key, pTable->mem->numOfPoints); // Copy row into the memory SSkipListNode *pNode = tsdbAllocFromCache(pRepo->tsdbCache, headSize + dataRowLen(row), key); diff --git a/src/vnode/tsdb/tests/tsdbTests.cpp b/src/vnode/tsdb/tests/tsdbTests.cpp index e623425e85..a76aef2d41 100644 --- a/src/vnode/tsdb/tests/tsdbTests.cpp +++ b/src/vnode/tsdb/tests/tsdbTests.cpp @@ -79,7 +79,7 @@ TEST(TsdbTest, createRepo) { // // 3. Loop to write some simple data int nRows = 10000000; - int rowsPerSubmit = 100; + int rowsPerSubmit = 10; int64_t start_time = 1584081000000; SSubmitMsg *pMsg = (SSubmitMsg *)malloc(sizeof(SSubmitMsg) + sizeof(SSubmitBlk) + tdMaxRowBytesFromSchema(schema) * rowsPerSubmit); @@ -108,7 +108,18 @@ TEST(TsdbTest, createRepo) { } pBlock->len += dataRowLen(row); } + pBlock->len = htonl(pBlock->len); + pBlock->numOfRows = htonl(pBlock->numOfRows); + pBlock->uid = htobe64(pBlock->uid); + pBlock->tid = htonl(pBlock->tid); + + pBlock->sversion = htonl(pBlock->sversion); + pBlock->padding = htonl(pBlock->padding); + pMsg->length = pMsg->length + sizeof(SSubmitBlk) + pBlock->len; + pMsg->length = htonl(pMsg->length); + pMsg->numOfBlocks = htonl(pMsg->numOfBlocks); + pMsg->compressed = htonl(pMsg->numOfBlocks); tsdbInsertData(pRepo, pMsg); } From eed1d76b3f8b08ef060048803690cadcd53f1abe Mon Sep 17 00:00:00 2001 From: hzcheng Date: Tue, 24 Mar 2020 11:01:04 +0800 Subject: [PATCH 3/3] TD-34 --- src/vnode/tsdb/src/tsdbCache.c | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/src/vnode/tsdb/src/tsdbCache.c b/src/vnode/tsdb/src/tsdbCache.c index f51c7c12d4..3496f6a5c8 100644 --- a/src/vnode/tsdb/src/tsdbCache.c +++ b/src/vnode/tsdb/src/tsdbCache.c @@ -17,8 +17,9 @@ #include "tsdb.h" #include "tsdbCache.h" -static int tsdbAllocBlockFromPool(STsdbCache *pCache); -static void tsdbFreeBlockList(SCacheMem *mem); +static int tsdbAllocBlockFromPool(STsdbCache *pCache); +static void tsdbFreeBlockList(SList *list); +static void tsdbFreeCacheMem(SCacheMem *mem); STsdbCache *tsdbInitCache(int maxBytes, int cacheBlockSize, tsdb_repo_t *pRepo) { STsdbCache *pCache = (STsdbCache *)calloc(1, sizeof(STsdbCache)); @@ -60,8 +61,8 @@ _err: } void tsdbFreeCache(STsdbCache *pCache) { - tsdbFreeBlockList(pCache->imem); - tsdbFreeBlockList(pCache->mem); + tsdbFreeCacheMem(pCache->imem); + tsdbFreeCacheMem(pCache->mem); tsdbFreeBlockList(pCache->pool.memPool); free(pCache); } @@ -90,9 +91,7 @@ void *tsdbAllocFromCache(STsdbCache *pCache, int bytes, TSKEY key) { return ptr; } -static void tsdbFreeBlockList(SCacheMem *mem) { - if (mem == NULL) return; - SList * list = mem->list; +static void tsdbFreeBlockList(SList *list) { SListNode * node = NULL; STsdbCacheBlock *pBlock = NULL; while ((node = tdListPopHead(list)) != NULL) { @@ -101,6 +100,12 @@ static void tsdbFreeBlockList(SCacheMem *mem) { listNodeFree(node); } tdListFree(list); +} + +static void tsdbFreeCacheMem(SCacheMem *mem) { + if (mem == NULL) return; + SList *list = mem->list; + tsdbFreeBlockList(list); free(mem); }