From 1dc9019baa66e30d88497ab993c7948a0b1e70b0 Mon Sep 17 00:00:00 2001 From: Benguang Zhao Date: Fri, 24 Nov 2023 16:28:39 +0800 Subject: [PATCH] feat: add tsdbSnapRAWRead into vnodeSnapRead --- source/dnode/vnode/src/vnd/vnodeSnapshot.c | 26 ++++++++++++++++++++-- 1 file changed, 24 insertions(+), 2 deletions(-) diff --git a/source/dnode/vnode/src/vnd/vnodeSnapshot.c b/source/dnode/vnode/src/vnd/vnodeSnapshot.c index 1a6b1a7a6c..cb3d346df5 100644 --- a/source/dnode/vnode/src/vnd/vnodeSnapshot.c +++ b/source/dnode/vnode/src/vnd/vnodeSnapshot.c @@ -52,8 +52,8 @@ struct SVSnapReader { TFileSetRangeArray *pRanges; STsdbSnapReader *pTsdbReader; // tsdb raw - int8_t tsdbRawDone; - STsdbSnapRAWReader *pTsdbRawReader; + int8_t tsdbRAWDone; + STsdbSnapRAWReader *pTsdbRAWReader; // tq int8_t tqHandleDone; @@ -299,6 +299,28 @@ int32_t vnodeSnapRead(SVSnapReader *pReader, uint8_t **ppData, uint32_t *nData) } } + if (!pReader->tsdbRAWDone) { + // open if not + if (pReader->pTsdbRAWReader == NULL) { + ASSERT(pReader->sver == 0); + code = tsdbSnapRAWReaderOpen(pReader->pVnode->pTsdb, pReader->ever, SNAP_DATA_RAW, &pReader->pTsdbRAWReader); + if (code) goto _err; + } + + code = tsdbSnapRAWRead(pReader->pTsdbRAWReader, ppData); + if (code) { + goto _err; + } else { + if (*ppData) { + goto _exit; + } else { + pReader->tsdbRAWDone = 1; + code = tsdbSnapRAWReaderClose(&pReader->pTsdbRAWReader); + if (code) goto _err; + } + } + } + // TQ ================ vInfo("vgId:%d tq transform start", vgId); if (!pReader->tqHandleDone) {