more code
This commit is contained in:
parent
68128bc27c
commit
7b20c09f34
|
@ -241,6 +241,7 @@ int32_t tsdbSnapRead(STsdbSnapReader* pReader, uint8_t** ppData);
|
||||||
// STsdbSnapWriter ========================================
|
// STsdbSnapWriter ========================================
|
||||||
int32_t tsdbSnapWriterOpen(STsdb* pTsdb, int64_t sver, int64_t ever, STsdbSnapWriter** ppWriter);
|
int32_t tsdbSnapWriterOpen(STsdb* pTsdb, int64_t sver, int64_t ever, STsdbSnapWriter** ppWriter);
|
||||||
int32_t tsdbSnapWrite(STsdbSnapWriter* pWriter, uint8_t* pData, uint32_t nData);
|
int32_t tsdbSnapWrite(STsdbSnapWriter* pWriter, uint8_t* pData, uint32_t nData);
|
||||||
|
int32_t tsdbSnapWriterPrepareClose(STsdbSnapWriter* pWriter);
|
||||||
int32_t tsdbSnapWriterClose(STsdbSnapWriter** ppWriter, int8_t rollback);
|
int32_t tsdbSnapWriterClose(STsdbSnapWriter** ppWriter, int8_t rollback);
|
||||||
// STqSnapshotReader ==
|
// STqSnapshotReader ==
|
||||||
int32_t tqSnapReaderOpen(STQ* pTq, int64_t sver, int64_t ever, STqSnapReader** ppReader);
|
int32_t tqSnapReaderOpen(STQ* pTq, int64_t sver, int64_t ever, STqSnapReader** ppReader);
|
||||||
|
|
|
@ -1376,27 +1376,34 @@ _exit:
|
||||||
return code;
|
return code;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int32_t tsdbSnapWriterPrepareClose(STsdbSnapWriter* pWriter) {
|
||||||
|
int32_t code = 0;
|
||||||
|
if (pWriter->dWriter.pWriter) {
|
||||||
|
code = tsdbSnapWriteCloseFile(pWriter);
|
||||||
|
if (code) goto _exit;
|
||||||
|
}
|
||||||
|
|
||||||
|
code = tsdbSnapWriteDelEnd(pWriter);
|
||||||
|
if (code) goto _exit;
|
||||||
|
|
||||||
|
code = tsdbFSPrepareCommit(pWriter->pTsdb, &pWriter->fs);
|
||||||
|
if (code) goto _exit;
|
||||||
|
|
||||||
|
_exit:
|
||||||
|
if (code) {
|
||||||
|
tsdbError("vgId:%d %s failed since %s", TD_VID(pWriter->pTsdb->pVnode), __func__, tstrerror(code));
|
||||||
|
}
|
||||||
|
return code;
|
||||||
|
}
|
||||||
|
|
||||||
int32_t tsdbSnapWriterClose(STsdbSnapWriter** ppWriter, int8_t rollback) {
|
int32_t tsdbSnapWriterClose(STsdbSnapWriter** ppWriter, int8_t rollback) {
|
||||||
int32_t code = 0;
|
int32_t code = 0;
|
||||||
STsdbSnapWriter* pWriter = *ppWriter;
|
STsdbSnapWriter* pWriter = *ppWriter;
|
||||||
STsdb* pTsdb = pWriter->pTsdb;
|
STsdb* pTsdb = pWriter->pTsdb;
|
||||||
|
|
||||||
if (rollback) {
|
if (rollback) {
|
||||||
ASSERT(0);
|
tsdbRollbackCommit(pWriter->pTsdb);
|
||||||
// code = tsdbFSRollback(pWriter->pTsdb->pFS);
|
|
||||||
// if (code) goto _err;
|
|
||||||
} else {
|
} else {
|
||||||
if (pWriter->dWriter.pWriter) {
|
|
||||||
code = tsdbSnapWriteCloseFile(pWriter);
|
|
||||||
if (code) goto _err;
|
|
||||||
}
|
|
||||||
|
|
||||||
code = tsdbSnapWriteDelEnd(pWriter);
|
|
||||||
if (code) goto _err;
|
|
||||||
|
|
||||||
code = tsdbFSPrepareCommit(pWriter->pTsdb, &pWriter->fs);
|
|
||||||
if (code) goto _err;
|
|
||||||
|
|
||||||
// lock
|
// lock
|
||||||
taosThreadRwlockWrlock(&pTsdb->rwLock);
|
taosThreadRwlockWrlock(&pTsdb->rwLock);
|
||||||
|
|
||||||
|
|
|
@ -331,6 +331,12 @@ int32_t vnodeSnapWriterClose(SVSnapWriter *pWriter, int8_t rollback, SSnapshot *
|
||||||
int32_t code = 0;
|
int32_t code = 0;
|
||||||
SVnode *pVnode = pWriter->pVnode;
|
SVnode *pVnode = pWriter->pVnode;
|
||||||
|
|
||||||
|
// prepare
|
||||||
|
if (pWriter->pTsdbSnapWriter) {
|
||||||
|
tsdbSnapWriterPrepareClose(pWriter->pTsdbSnapWriter);
|
||||||
|
}
|
||||||
|
|
||||||
|
// commit json
|
||||||
if (!rollback) {
|
if (!rollback) {
|
||||||
pVnode->config = pWriter->info.config;
|
pVnode->config = pWriter->info.config;
|
||||||
pVnode->state = (SVState){.committed = pWriter->info.state.committed,
|
pVnode->state = (SVState){.committed = pWriter->info.state.committed,
|
||||||
|
@ -351,6 +357,7 @@ int32_t vnodeSnapWriterClose(SVSnapWriter *pWriter, int8_t rollback, SSnapshot *
|
||||||
vnodeRollback(pWriter->pVnode);
|
vnodeRollback(pWriter->pVnode);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// commit/rollback sub-system
|
||||||
if (pWriter->pMetaSnapWriter) {
|
if (pWriter->pMetaSnapWriter) {
|
||||||
code = metaSnapWriterClose(&pWriter->pMetaSnapWriter, rollback);
|
code = metaSnapWriterClose(&pWriter->pMetaSnapWriter, rollback);
|
||||||
if (code) goto _exit;
|
if (code) goto _exit;
|
||||||
|
|
Loading…
Reference in New Issue