From d3e741a84e7e67c5a5f1f85efdc03f455b15cd11 Mon Sep 17 00:00:00 2001 From: Minglei Jin Date: Tue, 28 Jun 2022 15:59:54 +0800 Subject: [PATCH] tsdbCache/delete: load delete data only del file exists --- source/dnode/vnode/src/tsdb/tsdbCache.c | 28 ++++++++++++++----------- 1 file changed, 16 insertions(+), 12 deletions(-) diff --git a/source/dnode/vnode/src/tsdb/tsdbCache.c b/source/dnode/vnode/src/tsdb/tsdbCache.c index 3b394931fb..2f6901cb24 100644 --- a/source/dnode/vnode/src/tsdb/tsdbCache.c +++ b/source/dnode/vnode/src/tsdb/tsdbCache.c @@ -595,22 +595,26 @@ static int32_t mergeLastRow(tb_uid_t uid, STsdb *pTsdb, STSRow **ppRow) { *ppRow = NULL; - SDelFReader *pDelFReader; - SDelFile *pDelFile = tsdbFSStateGetDelFile(pTsdb->fs->cState); - code = tsdbDelFReaderOpen(&pDelFReader, pDelFile, pTsdb, NULL); - if (code) goto _err; + SArray *pSkyline = taosArrayInit(32, sizeof(TSDBKEY)); - SDelIdx delIdx; - code = getTableDelIdx(pDelFReader, suid, uid, &delIdx); - if (code) goto _err; + SDelFile *pDelFile = tsdbFSStateGetDelFile(pTsdb->fs->cState); + if (pDelFile) { + SDelFReader *pDelFReader; - SArray *pSkyline = taosArrayInit(32, sizeof(TSDBKEY)); - code = getTableDelSkyline(pMem, pIMem, pDelFReader, &delIdx, pSkyline); - if (code) goto _err; + code = tsdbDelFReaderOpen(&pDelFReader, pDelFile, pTsdb, NULL); + if (code) goto _err; - int iSkyline = taosArrayGetSize(pSkyline) - 1; + SDelIdx delIdx; + code = getTableDelIdx(pDelFReader, suid, uid, &delIdx); + if (code) goto _err; + + code = getTableDelSkyline(pMem, pIMem, pDelFReader, &delIdx, pSkyline); + if (code) goto _err; - tsdbDelFReaderClose(pDelFReader); + tsdbDelFReaderClose(pDelFReader); + } + + int iSkyline = taosArrayGetSize(pSkyline) - 1; SBlockIdx idx = {.suid = suid, .uid = uid}; -- GitLab