Merge pull request #28030 from taosdata/enh/TD-31890-11
enh: handle void
This commit is contained in:
commit
c6942dfc0b
|
@ -314,7 +314,7 @@ int32_t metaSnapWriterClose(SMetaSnapWriter** ppWriter, int8_t rollback);
|
||||||
// STsdbSnapReader ========================================
|
// STsdbSnapReader ========================================
|
||||||
int32_t tsdbSnapReaderOpen(STsdb* pTsdb, int64_t sver, int64_t ever, int8_t type, void* pRanges,
|
int32_t tsdbSnapReaderOpen(STsdb* pTsdb, int64_t sver, int64_t ever, int8_t type, void* pRanges,
|
||||||
STsdbSnapReader** ppReader);
|
STsdbSnapReader** ppReader);
|
||||||
int32_t tsdbSnapReaderClose(STsdbSnapReader** ppReader);
|
void tsdbSnapReaderClose(STsdbSnapReader** ppReader);
|
||||||
int32_t tsdbSnapRead(STsdbSnapReader* pReader, uint8_t** ppData);
|
int32_t tsdbSnapRead(STsdbSnapReader* pReader, uint8_t** ppData);
|
||||||
// STsdbSnapWriter ========================================
|
// STsdbSnapWriter ========================================
|
||||||
int32_t tsdbSnapWriterOpen(STsdb* pTsdb, int64_t sver, int64_t ever, void* pRanges, STsdbSnapWriter** ppWriter);
|
int32_t tsdbSnapWriterOpen(STsdb* pTsdb, int64_t sver, int64_t ever, void* pRanges, STsdbSnapWriter** ppWriter);
|
||||||
|
@ -323,7 +323,7 @@ int32_t tsdbSnapWriterPrepareClose(STsdbSnapWriter* pWriter, bool rollback);
|
||||||
int32_t tsdbSnapWriterClose(STsdbSnapWriter** ppWriter, int8_t rollback);
|
int32_t tsdbSnapWriterClose(STsdbSnapWriter** ppWriter, int8_t rollback);
|
||||||
// STsdbSnapRAWReader ========================================
|
// STsdbSnapRAWReader ========================================
|
||||||
int32_t tsdbSnapRAWReaderOpen(STsdb* pTsdb, int64_t ever, int8_t type, STsdbSnapRAWReader** ppReader);
|
int32_t tsdbSnapRAWReaderOpen(STsdb* pTsdb, int64_t ever, int8_t type, STsdbSnapRAWReader** ppReader);
|
||||||
int32_t tsdbSnapRAWReaderClose(STsdbSnapRAWReader** ppReader);
|
void tsdbSnapRAWReaderClose(STsdbSnapRAWReader** ppReader);
|
||||||
int32_t tsdbSnapRAWRead(STsdbSnapRAWReader* pReader, uint8_t** ppData);
|
int32_t tsdbSnapRAWRead(STsdbSnapRAWReader* pReader, uint8_t** ppData);
|
||||||
// STsdbSnapRAWWriter ========================================
|
// STsdbSnapRAWWriter ========================================
|
||||||
int32_t tsdbSnapRAWWriterOpen(STsdb* pTsdb, int64_t ever, STsdbSnapRAWWriter** ppWriter);
|
int32_t tsdbSnapRAWWriterOpen(STsdb* pTsdb, int64_t ever, STsdbSnapRAWWriter** ppWriter);
|
||||||
|
@ -368,7 +368,7 @@ int32_t streamStateLoadTasks(SStreamStateWriter* pWriter);
|
||||||
// SStreamStateReader =====================================
|
// SStreamStateReader =====================================
|
||||||
// SRSmaSnapReader ========================================
|
// SRSmaSnapReader ========================================
|
||||||
int32_t rsmaSnapReaderOpen(SSma* pSma, int64_t sver, int64_t ever, SRSmaSnapReader** ppReader);
|
int32_t rsmaSnapReaderOpen(SSma* pSma, int64_t sver, int64_t ever, SRSmaSnapReader** ppReader);
|
||||||
int32_t rsmaSnapReaderClose(SRSmaSnapReader** ppReader);
|
void rsmaSnapReaderClose(SRSmaSnapReader** ppReader);
|
||||||
int32_t rsmaSnapRead(SRSmaSnapReader* pReader, uint8_t** ppData);
|
int32_t rsmaSnapRead(SRSmaSnapReader* pReader, uint8_t** ppData);
|
||||||
// SRSmaSnapWriter ========================================
|
// SRSmaSnapWriter ========================================
|
||||||
int32_t rsmaSnapWriterOpen(SSma* pSma, int64_t sver, int64_t ever, void** ppRanges, SRSmaSnapWriter** ppWriter);
|
int32_t rsmaSnapWriterOpen(SSma* pSma, int64_t sver, int64_t ever, void** ppRanges, SRSmaSnapWriter** ppWriter);
|
||||||
|
|
|
@ -93,30 +93,26 @@ int32_t rsmaSnapRead(SRSmaSnapReader* pReader, uint8_t** ppData) {
|
||||||
_exit:
|
_exit:
|
||||||
if (code) {
|
if (code) {
|
||||||
smaError("vgId:%d, %s failed at line %d since %s", SMA_VID(pReader->pSma), __func__, lino, tstrerror(code));
|
smaError("vgId:%d, %s failed at line %d since %s", SMA_VID(pReader->pSma), __func__, lino, tstrerror(code));
|
||||||
TAOS_UNUSED(rsmaSnapReaderClose(&pReader));
|
rsmaSnapReaderClose(&pReader);
|
||||||
} else {
|
} else {
|
||||||
smaInfo("vgId:%d, vnode snapshot rsma read succeed", SMA_VID(pReader->pSma));
|
smaInfo("vgId:%d, vnode snapshot rsma read succeed", SMA_VID(pReader->pSma));
|
||||||
}
|
}
|
||||||
TAOS_RETURN(code);
|
TAOS_RETURN(code);
|
||||||
}
|
}
|
||||||
|
|
||||||
int32_t rsmaSnapReaderClose(SRSmaSnapReader** ppReader) {
|
void rsmaSnapReaderClose(SRSmaSnapReader** ppReader) {
|
||||||
int32_t code = 0;
|
|
||||||
SRSmaSnapReader* pReader = *ppReader;
|
SRSmaSnapReader* pReader = *ppReader;
|
||||||
|
|
||||||
for (int32_t i = 0; i < TSDB_RETENTION_L2; ++i) {
|
for (int32_t i = 0; i < TSDB_RETENTION_L2; ++i) {
|
||||||
if (pReader->pDataReader[i]) {
|
if (pReader->pDataReader[i]) {
|
||||||
if ((code = tsdbSnapReaderClose(&pReader->pDataReader[i])) < 0) {
|
tsdbSnapReaderClose(&pReader->pDataReader[i]);
|
||||||
smaError("vgId:%d, vnode snapshot rsma , failed to close tsdbSnapReader since %s", SMA_VID(pReader->pSma),
|
|
||||||
tstrerror(code));
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
smaInfo("vgId:%d, vnode snapshot rsma reader closed", SMA_VID(pReader->pSma));
|
smaInfo("vgId:%d, vnode snapshot rsma reader closed", SMA_VID(pReader->pSma));
|
||||||
|
|
||||||
taosMemoryFreeClear(*ppReader);
|
taosMemoryFreeClear(*ppReader);
|
||||||
TAOS_RETURN(code);
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
// SRSmaSnapWriter ========================================
|
// SRSmaSnapWriter ========================================
|
||||||
|
|
|
@ -440,9 +440,9 @@ _exit:
|
||||||
return code;
|
return code;
|
||||||
}
|
}
|
||||||
|
|
||||||
int32_t tsdbSnapReaderClose(STsdbSnapReader** reader) {
|
void tsdbSnapReaderClose(STsdbSnapReader** reader) {
|
||||||
if (reader[0] == NULL) {
|
if (reader[0] == NULL) {
|
||||||
return 0;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
int32_t code = 0;
|
int32_t code = 0;
|
||||||
|
@ -469,7 +469,7 @@ int32_t tsdbSnapReaderClose(STsdbSnapReader** reader) {
|
||||||
taosMemoryFree(reader[0]);
|
taosMemoryFree(reader[0]);
|
||||||
reader[0] = NULL;
|
reader[0] = NULL;
|
||||||
|
|
||||||
return code;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
int32_t tsdbSnapRead(STsdbSnapReader* reader, uint8_t** data) {
|
int32_t tsdbSnapRead(STsdbSnapReader* reader, uint8_t** data) {
|
||||||
|
|
|
@ -75,8 +75,8 @@ _exit:
|
||||||
return code;
|
return code;
|
||||||
}
|
}
|
||||||
|
|
||||||
int32_t tsdbSnapRAWReaderClose(STsdbSnapRAWReader** reader) {
|
void tsdbSnapRAWReaderClose(STsdbSnapRAWReader** reader) {
|
||||||
if (reader[0] == NULL) return 0;
|
if (reader[0] == NULL) return;
|
||||||
|
|
||||||
int32_t code = 0;
|
int32_t code = 0;
|
||||||
int32_t lino = 0;
|
int32_t lino = 0;
|
||||||
|
@ -87,14 +87,7 @@ int32_t tsdbSnapRAWReaderClose(STsdbSnapRAWReader** reader) {
|
||||||
tsdbFSDestroyRefSnapshot(&reader[0]->fsetArr);
|
tsdbFSDestroyRefSnapshot(&reader[0]->fsetArr);
|
||||||
taosMemoryFree(reader[0]);
|
taosMemoryFree(reader[0]);
|
||||||
reader[0] = NULL;
|
reader[0] = NULL;
|
||||||
|
return;
|
||||||
_exit:
|
|
||||||
if (code) {
|
|
||||||
TSDB_ERROR_LOG(TD_VID(tsdb->pVnode), lino, code);
|
|
||||||
} else {
|
|
||||||
tsdbDebug("vgId:%d %s done", TD_VID(tsdb->pVnode), __func__);
|
|
||||||
}
|
|
||||||
return code;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static int32_t tsdbSnapRAWReadFileSetOpenReader(STsdbSnapRAWReader* reader) {
|
static int32_t tsdbSnapRAWReadFileSetOpenReader(STsdbSnapRAWReader* reader) {
|
||||||
|
|
|
@ -219,15 +219,15 @@ void vnodeSnapReaderClose(SVSnapReader *pReader) {
|
||||||
vnodeSnapReaderDestroyTsdbRanges(pReader);
|
vnodeSnapReaderDestroyTsdbRanges(pReader);
|
||||||
|
|
||||||
if (pReader->pRsmaReader) {
|
if (pReader->pRsmaReader) {
|
||||||
(void)rsmaSnapReaderClose(&pReader->pRsmaReader);
|
rsmaSnapReaderClose(&pReader->pRsmaReader);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (pReader->pTsdbReader) {
|
if (pReader->pTsdbReader) {
|
||||||
(void)tsdbSnapReaderClose(&pReader->pTsdbReader);
|
tsdbSnapReaderClose(&pReader->pTsdbReader);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (pReader->pTsdbRAWReader) {
|
if (pReader->pTsdbRAWReader) {
|
||||||
(void)tsdbSnapRAWReaderClose(&pReader->pTsdbRAWReader);
|
tsdbSnapRAWReaderClose(&pReader->pTsdbRAWReader);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (pReader->pMetaReader) {
|
if (pReader->pMetaReader) {
|
||||||
|
@ -333,8 +333,7 @@ int32_t vnodeSnapRead(SVSnapReader *pReader, uint8_t **ppData, uint32_t *nData)
|
||||||
goto _exit;
|
goto _exit;
|
||||||
} else {
|
} else {
|
||||||
pReader->tsdbDone = 1;
|
pReader->tsdbDone = 1;
|
||||||
code = tsdbSnapReaderClose(&pReader->pTsdbReader);
|
tsdbSnapReaderClose(&pReader->pTsdbReader);
|
||||||
TSDB_CHECK_CODE(code, lino, _exit);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -351,8 +350,7 @@ int32_t vnodeSnapRead(SVSnapReader *pReader, uint8_t **ppData, uint32_t *nData)
|
||||||
goto _exit;
|
goto _exit;
|
||||||
} else {
|
} else {
|
||||||
pReader->tsdbRAWDone = 1;
|
pReader->tsdbRAWDone = 1;
|
||||||
code = tsdbSnapRAWReaderClose(&pReader->pTsdbRAWReader);
|
tsdbSnapRAWReaderClose(&pReader->pTsdbRAWReader);
|
||||||
TSDB_CHECK_CODE(code, lino, _exit);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -463,8 +461,7 @@ int32_t vnodeSnapRead(SVSnapReader *pReader, uint8_t **ppData, uint32_t *nData)
|
||||||
goto _exit;
|
goto _exit;
|
||||||
} else {
|
} else {
|
||||||
pReader->rsmaDone = 1;
|
pReader->rsmaDone = 1;
|
||||||
code = rsmaSnapReaderClose(&pReader->pRsmaReader);
|
rsmaSnapReaderClose(&pReader->pRsmaReader);
|
||||||
TSDB_CHECK_CODE(code, lino, _exit);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -590,15 +587,15 @@ extern int32_t tsdbDisableAndCancelAllBgTask(STsdb *pTsdb);
|
||||||
extern void tsdbEnableBgTask(STsdb *pTsdb);
|
extern void tsdbEnableBgTask(STsdb *pTsdb);
|
||||||
|
|
||||||
static int32_t vnodeCancelAndDisableAllBgTask(SVnode *pVnode) {
|
static int32_t vnodeCancelAndDisableAllBgTask(SVnode *pVnode) {
|
||||||
(void)tsdbDisableAndCancelAllBgTask(pVnode->pTsdb);
|
TAOS_CHECK_RETURN(tsdbDisableAndCancelAllBgTask(pVnode->pTsdb));
|
||||||
(void)vnodeSyncCommit(pVnode);
|
TAOS_CHECK_RETURN(vnodeSyncCommit(pVnode));
|
||||||
(void)vnodeAChannelDestroy(&pVnode->commitChannel, true);
|
TAOS_CHECK_RETURN(vnodeAChannelDestroy(&pVnode->commitChannel, true));
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int32_t vnodeEnableBgTask(SVnode *pVnode) {
|
static int32_t vnodeEnableBgTask(SVnode *pVnode) {
|
||||||
tsdbEnableBgTask(pVnode->pTsdb);
|
tsdbEnableBgTask(pVnode->pTsdb);
|
||||||
(void)vnodeAChannelInit(1, &pVnode->commitChannel);
|
TAOS_CHECK_RETURN(vnodeAChannelInit(1, &pVnode->commitChannel));
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -613,7 +610,9 @@ int32_t vnodeSnapWriterOpen(SVnode *pVnode, SSnapshotParam *pParam, SVSnapWriter
|
||||||
(void)taosThreadMutexLock(&pVnode->mutex);
|
(void)taosThreadMutexLock(&pVnode->mutex);
|
||||||
pVnode->disableWrite = true;
|
pVnode->disableWrite = true;
|
||||||
(void)taosThreadMutexUnlock(&pVnode->mutex);
|
(void)taosThreadMutexUnlock(&pVnode->mutex);
|
||||||
(void)vnodeCancelAndDisableAllBgTask(pVnode);
|
|
||||||
|
code = vnodeCancelAndDisableAllBgTask(pVnode);
|
||||||
|
TSDB_CHECK_CODE(code, lino, _exit);
|
||||||
|
|
||||||
// alloc
|
// alloc
|
||||||
pWriter = (SVSnapWriter *)taosMemoryCalloc(1, sizeof(*pWriter));
|
pWriter = (SVSnapWriter *)taosMemoryCalloc(1, sizeof(*pWriter));
|
||||||
|
@ -661,15 +660,18 @@ int32_t vnodeSnapWriterClose(SVSnapWriter *pWriter, int8_t rollback, SSnapshot *
|
||||||
|
|
||||||
// prepare
|
// prepare
|
||||||
if (pWriter->pTsdbSnapWriter) {
|
if (pWriter->pTsdbSnapWriter) {
|
||||||
(void)tsdbSnapWriterPrepareClose(pWriter->pTsdbSnapWriter, rollback);
|
code = tsdbSnapWriterPrepareClose(pWriter->pTsdbSnapWriter, rollback);
|
||||||
|
if (code) goto _exit;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (pWriter->pTsdbSnapRAWWriter) {
|
if (pWriter->pTsdbSnapRAWWriter) {
|
||||||
(void)tsdbSnapRAWWriterPrepareClose(pWriter->pTsdbSnapRAWWriter);
|
code = tsdbSnapRAWWriterPrepareClose(pWriter->pTsdbSnapRAWWriter);
|
||||||
|
if (code) goto _exit;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (pWriter->pRsmaSnapWriter) {
|
if (pWriter->pRsmaSnapWriter) {
|
||||||
(void)rsmaSnapWriterPrepareClose(pWriter->pRsmaSnapWriter, rollback);
|
code = rsmaSnapWriterPrepareClose(pWriter->pRsmaSnapWriter, rollback);
|
||||||
|
if (code) goto _exit;
|
||||||
}
|
}
|
||||||
|
|
||||||
// commit json
|
// commit json
|
||||||
|
@ -743,7 +745,9 @@ int32_t vnodeSnapWriterClose(SVSnapWriter *pWriter, int8_t rollback, SSnapshot *
|
||||||
if (code) goto _exit;
|
if (code) goto _exit;
|
||||||
}
|
}
|
||||||
|
|
||||||
(void)vnodeBegin(pVnode);
|
code = vnodeBegin(pVnode);
|
||||||
|
if (code) goto _exit;
|
||||||
|
|
||||||
(void)taosThreadMutexLock(&pVnode->mutex);
|
(void)taosThreadMutexLock(&pVnode->mutex);
|
||||||
pVnode->disableWrite = false;
|
pVnode->disableWrite = false;
|
||||||
(void)taosThreadMutexUnlock(&pVnode->mutex);
|
(void)taosThreadMutexUnlock(&pVnode->mutex);
|
||||||
|
@ -755,7 +759,9 @@ _exit:
|
||||||
vInfo("vgId:%d, vnode snapshot writer closed, rollback:%d", TD_VID(pVnode), rollback);
|
vInfo("vgId:%d, vnode snapshot writer closed, rollback:%d", TD_VID(pVnode), rollback);
|
||||||
taosMemoryFree(pWriter);
|
taosMemoryFree(pWriter);
|
||||||
}
|
}
|
||||||
(void)vnodeEnableBgTask(pVnode);
|
if (vnodeEnableBgTask(pVnode) != 0) {
|
||||||
|
tsdbError("vgId:%d, failed to enable bg task", TD_VID(pVnode));
|
||||||
|
}
|
||||||
return code;
|
return code;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue