fix: only deep cleanup datablock when not inmem reader
This commit is contained in:
parent
686258b26e
commit
f19e66909d
|
@ -3379,7 +3379,7 @@ static int32_t fetchNextSubTableBlockFromReader(SOperatorInfo* pOperator, STmsSu
|
||||||
SExecTaskInfo* pTaskInfo = pOperator->pTaskInfo;
|
SExecTaskInfo* pTaskInfo = pOperator->pTaskInfo;
|
||||||
const SStorageAPI* pAPI= &pTaskInfo->storageAPI;
|
const SStorageAPI* pAPI= &pTaskInfo->storageAPI;
|
||||||
|
|
||||||
blockDataDeepCleanup(pInput->pReaderBlock);
|
blockDataCleanup(pInput->pReaderBlock);
|
||||||
if (!pInput->bInMemReader) {
|
if (!pInput->bInMemReader) {
|
||||||
code = pAPI->tsdReader.tsdReaderOpen(pHandle->vnode, &pInput->tblCond, pInput->pKeyInfo, 1, pInput->pReaderBlock,
|
code = pAPI->tsdReader.tsdReaderOpen(pHandle->vnode, &pInput->tblCond, pInput->pKeyInfo, 1, pInput->pReaderBlock,
|
||||||
(void**)&pInput->pReader, GET_TASKID(pTaskInfo), NULL);
|
(void**)&pInput->pReader, GET_TASKID(pTaskInfo), NULL);
|
||||||
|
@ -3469,7 +3469,11 @@ static int32_t saveSubTableBlock(const STableMergeScanInfo* pInfo, STmsSubTables
|
||||||
blockDataDestroy(p);
|
blockDataDestroy(p);
|
||||||
start = stop + 1;
|
start = stop + 1;
|
||||||
}
|
}
|
||||||
blockDataDeepCleanup(pInput->pReaderBlock);
|
if (!pInput->bInMemReader) {
|
||||||
|
blockDataDeepCleanup(pInput->pReaderBlock);
|
||||||
|
} else {
|
||||||
|
blockDataCleanup(pInput->pReaderBlock);
|
||||||
|
}
|
||||||
return TSDB_CODE_SUCCESS;
|
return TSDB_CODE_SUCCESS;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -3533,8 +3537,8 @@ static int32_t initSubTablesMergeInfo(STableMergeScanInfo* pInfo) {
|
||||||
int32_t inMemSize = (pSubTblsInfo->numSubTables - pSubTblsInfo->numTableBlocksInMem) * bufPageSize;
|
int32_t inMemSize = (pSubTblsInfo->numSubTables - pSubTblsInfo->numTableBlocksInMem) * bufPageSize;
|
||||||
createDiskbasedBuf(&pSubTblsInfo->pBlocksBuf, pInfo->bufPageSize, inMemSize, "blocksExternalBuf", tsTempDir);
|
createDiskbasedBuf(&pSubTblsInfo->pBlocksBuf, pInfo->bufPageSize, inMemSize, "blocksExternalBuf", tsTempDir);
|
||||||
|
|
||||||
pSubTblsInfo->numTableBlocksInMem = 0;
|
pSubTblsInfo->numTableBlocksInMem = pSubTblsInfo->numSubTables;
|
||||||
pSubTblsInfo->numInMemReaders = 0;
|
pSubTblsInfo->numInMemReaders = pSubTblsInfo->numSubTables;
|
||||||
return TSDB_CODE_SUCCESS;
|
return TSDB_CODE_SUCCESS;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue