Merge pull request #15835 from taosdata/fix/TD-18240
fix: skip 0 row blocks to dismiss crashing
This commit is contained in:
commit
7c78abf449
|
@ -115,12 +115,19 @@ static int32_t tsdbSnapReadData(STsdbSnapReader* pReader, uint8_t** ppData) {
|
||||||
TSDBROW row = tsdbRowFromBlockData(&pReader->oBlockData, iRow);
|
TSDBROW row = tsdbRowFromBlockData(&pReader->oBlockData, iRow);
|
||||||
int64_t version = TSDBROW_VERSION(&row);
|
int64_t version = TSDBROW_VERSION(&row);
|
||||||
|
|
||||||
|
tsdbTrace("vgId:%d, vnode snapshot tsdb read for %s, %" PRId64 "(%" PRId64 " , %" PRId64 ")",
|
||||||
|
TD_VID(pReader->pTsdb->pVnode), pReader->pTsdb->path, version, pReader->sver, pReader->ever);
|
||||||
|
|
||||||
if (version < pReader->sver || version > pReader->ever) continue;
|
if (version < pReader->sver || version > pReader->ever) continue;
|
||||||
|
|
||||||
code = tBlockDataAppendRow(&pReader->nBlockData, &row, NULL);
|
code = tBlockDataAppendRow(&pReader->nBlockData, &row, NULL);
|
||||||
if (code) goto _err;
|
if (code) goto _err;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (pReader->nBlockData.nRow <= 0) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
// org data
|
// org data
|
||||||
// compress data (todo)
|
// compress data (todo)
|
||||||
int32_t size = sizeof(TABLEID) + tPutBlockData(NULL, &pReader->nBlockData);
|
int32_t size = sizeof(TABLEID) + tPutBlockData(NULL, &pReader->nBlockData);
|
||||||
|
@ -808,7 +815,8 @@ static int32_t tsdbSnapWriteTableData(STsdbSnapWriter* pWriter, TABLEID id) {
|
||||||
if (code) goto _err;
|
if (code) goto _err;
|
||||||
|
|
||||||
_exit:
|
_exit:
|
||||||
tsdbDebug("vgId:%d, vnode snapshot tsdb write data impl for %s", TD_VID(pWriter->pTsdb->pVnode), pWriter->pTsdb->path);
|
tsdbDebug("vgId:%d, vnode snapshot tsdb write data impl for %s", TD_VID(pWriter->pTsdb->pVnode),
|
||||||
|
pWriter->pTsdb->path);
|
||||||
return code;
|
return code;
|
||||||
|
|
||||||
_err:
|
_err:
|
||||||
|
|
Loading…
Reference in New Issue