add checkpoint
This commit is contained in:
parent
f2b96fb4b3
commit
74764108fd
|
@ -88,20 +88,22 @@ int32_t streamTaskSnapRead(SStreamTaskReader* pReader, uint8_t** ppData) {
|
||||||
if (tdbTbcGet(pReader->pCur, &pKey, &kLen, &pVal, &vLen)) {
|
if (tdbTbcGet(pReader->pCur, &pKey, &kLen, &pVal, &vLen)) {
|
||||||
goto _exit;
|
goto _exit;
|
||||||
}
|
}
|
||||||
SStreamTask* pTask = taosMemoryCalloc(1, sizeof(SStreamTask));
|
// SStreamTask* pTask = taosMemoryCalloc(1, sizeof(SStreamTask));
|
||||||
if (pTask == NULL) {
|
// if (pTask == NULL) {
|
||||||
return -1;
|
// return -1;
|
||||||
}
|
// }
|
||||||
|
|
||||||
SDecoder decoder;
|
// SDecoder decoder;
|
||||||
tDecoderInit(&decoder, (uint8_t*)pVal, vLen);
|
// tDecoderInit(&decoder, (uint8_t*)pVal, vLen);
|
||||||
code = tDecodeStreamTask(&decoder, pTask);
|
// code = tDecodeStreamTask(&decoder, pTask);
|
||||||
if (code < 0) {
|
// if (code < 0) {
|
||||||
tDecoderClear(&decoder);
|
// //tDecoderClear(&decoder);
|
||||||
taosMemoryFree(pTask);
|
// //taosMemoryFree(pTask);
|
||||||
goto _err;
|
// goto _err;
|
||||||
}
|
// }
|
||||||
tDecoderClear(&decoder);
|
// tDecoderClear(&decoder);
|
||||||
|
tdbTbcMoveToNext(pReader->pCur);
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
*ppData = taosMemoryMalloc(sizeof(SSnapDataHdr) + vLen);
|
*ppData = taosMemoryMalloc(sizeof(SSnapDataHdr) + vLen);
|
||||||
|
@ -197,23 +199,33 @@ _err:
|
||||||
int32_t streamTaskSnapWrite(SStreamTaskWriter* pWriter, uint8_t* pData, uint32_t nData) {
|
int32_t streamTaskSnapWrite(SStreamTaskWriter* pWriter, uint8_t* pData, uint32_t nData) {
|
||||||
int32_t code = 0;
|
int32_t code = 0;
|
||||||
STQ* pTq = pWriter->pTq;
|
STQ* pTq = pWriter->pTq;
|
||||||
SDecoder decoder = {0};
|
|
||||||
SDecoder* pDecoder = &decoder;
|
|
||||||
STqHandle handle;
|
STqHandle handle;
|
||||||
|
|
||||||
// tDecoderInit(pDecoder, pData + sizeof(SSnapDataHdr), nData - sizeof(SSnapDataHdr));
|
SStreamTask* pTask = taosMemoryCalloc(1, sizeof(SStreamTask));
|
||||||
// code = tDecodeSTqHandle(pDecoder, &handle);
|
if (pTask == NULL) {
|
||||||
// if (code) goto _err;
|
return -1;
|
||||||
// code = tqMetaSaveHandle(pTq, handle.subKey, &handle);
|
}
|
||||||
// if (code < 0) goto _err;
|
|
||||||
// tDecoderClear(pDecoder);
|
SDecoder decoder;
|
||||||
// insert into pStreamMeta tdb table
|
tDecoderInit(&decoder, (uint8_t*)pData + sizeof(SSnapDataHdr), nData - sizeof(SSnapDataHdr));
|
||||||
|
code = tDecodeStreamTask(&decoder, pTask);
|
||||||
|
if (code < 0) {
|
||||||
|
tDecoderClear(&decoder);
|
||||||
|
taosMemoryFree(pTask);
|
||||||
|
goto _err;
|
||||||
|
}
|
||||||
|
tDecoderClear(&decoder);
|
||||||
|
// tdbTbInsert(TTB *pTb, const void *pKey, int keyLen, const void *pVal, int valLen, TXN *pTxn)
|
||||||
|
|
||||||
|
if (tdbTbUpsert(pTq->pStreamMeta->pTaskDb, &pTask->id.taskId, sizeof(int32_t), (uint8_t*)pData + sizeof(SSnapDataHdr),
|
||||||
|
nData - sizeof(SSnapDataHdr), NULL) < 0) {
|
||||||
|
taosMemoryFree(pTask);
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
|
||||||
return code;
|
return code;
|
||||||
|
|
||||||
_err:
|
_err:
|
||||||
tDecoderClear(pDecoder);
|
|
||||||
tqError("vgId:%d, stream-task snapshot tq write failed since %s", TD_VID(pTq->pVnode), tstrerror(code));
|
tqError("vgId:%d, stream-task snapshot tq write failed since %s", TD_VID(pTq->pVnode), tstrerror(code));
|
||||||
return code;
|
return code;
|
||||||
return 0;
|
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue