diff --git a/source/dnode/vnode/src/tsdb/tsdbCommit.c b/source/dnode/vnode/src/tsdb/tsdbCommit.c index daba81033d..03561ca193 100644 --- a/source/dnode/vnode/src/tsdb/tsdbCommit.c +++ b/source/dnode/vnode/src/tsdb/tsdbCommit.c @@ -405,10 +405,6 @@ static int32_t tsdbCommitFileDataStart(SCommitter *pCommitter) { } wSet.nLastF = pRSet->nLastF + 1; wSet.aLastF[wSet.nLastF - 1] = &fLast; // todo - - if (wSet.nLastF == pCommitter->maxLast) { - pCommitter->toMerge = 1; - } } else { fHead = (SHeadFile){.commitID = pCommitter->commitID}; fData = (SDataFile){.commitID = pCommitter->commitID}; @@ -427,6 +423,9 @@ static int32_t tsdbCommitFileDataStart(SCommitter *pCommitter) { wSet.nLastF = 1; wSet.aLastF[0] = &fLast; } + if (wSet.nLastF == pCommitter->maxLast) { + pCommitter->toMerge = 1; + } code = tsdbDataFWriterOpen(&pCommitter->dWriter.pWriter, pTsdb, &wSet); if (code) goto _err; diff --git a/source/dnode/vnode/src/tsdb/tsdbMerge.c b/source/dnode/vnode/src/tsdb/tsdbMerge.c index b804ecf746..3a078131a1 100644 --- a/source/dnode/vnode/src/tsdb/tsdbMerge.c +++ b/source/dnode/vnode/src/tsdb/tsdbMerge.c @@ -261,11 +261,13 @@ static int32_t tsdbMergeFileData(STsdbMerger *pMerger, SDFileSet *pSet) { // impl SRowInfo rInfo = {.suid = INT64_MIN}; SRowInfo *pInfo; + int64_t nRow = 0; while (true) { code = tDataMergeNext(&pMerger->dReader.merger, &pInfo); if (code) goto _err; if (pInfo == NULL) break; + nRow++; ASSERT(tRowInfoCmprFn(pInfo, &rInfo) > 0); rInfo = *pInfo; diff --git a/source/dnode/vnode/src/tsdb/tsdbReaderWriter.c b/source/dnode/vnode/src/tsdb/tsdbReaderWriter.c index 674e51c9d0..9c4a7aea13 100644 --- a/source/dnode/vnode/src/tsdb/tsdbReaderWriter.c +++ b/source/dnode/vnode/src/tsdb/tsdbReaderWriter.c @@ -925,11 +925,11 @@ int32_t tsdbReadLastBlockEx(SDataFReader *pReader, int32_t iLast, SBlockL *pBloc int32_t code = 0; // read - code = tsdbReadAndCheck(pReader->aLastFD[iLast], pBlockL->bInfo.offset, &pReader->aBuf[1], pBlockL->bInfo.szBlock, 0); + code = tsdbReadAndCheck(pReader->aLastFD[iLast], pBlockL->bInfo.offset, &pReader->aBuf[0], pBlockL->bInfo.szBlock, 0); if (code) goto _exit; // decmpr - code = tDecmprBlockData(pReader->aBuf[1], pBlockL->bInfo.szBlock, pBlockData, &pReader->aBuf[1]); + code = tDecmprBlockData(pReader->aBuf[0], pBlockL->bInfo.szBlock, pBlockData, &pReader->aBuf[1]); if (code) goto _exit; _exit: