From af42d4fa598c7db81035a3433713549749755b77 Mon Sep 17 00:00:00 2001 From: wangmm0220 Date: Sun, 21 Jul 2024 22:22:26 +0800 Subject: [PATCH] opti:[TS-4593] transform offset from file to tdb in tmq --- source/dnode/vnode/src/tq/tqMeta.c | 24 ++++++++++++++++-------- 1 file changed, 16 insertions(+), 8 deletions(-) diff --git a/source/dnode/vnode/src/tq/tqMeta.c b/source/dnode/vnode/src/tq/tqMeta.c index 687c69bcca..ca536c5bad 100644 --- a/source/dnode/vnode/src/tq/tqMeta.c +++ b/source/dnode/vnode/src/tq/tqMeta.c @@ -103,24 +103,32 @@ int32_t tqMetaSaveInfo(STQ* pTq, TTB* ttb, const void* key, int32_t kLen, const int32_t code = TDB_CODE_SUCCESS; TXN* txn = NULL; - TQ_ERR_RETURN(tdbBegin(pTq->pMetaDB, &txn, tdbDefaultMalloc, tdbDefaultFree, NULL, TDB_TXN_WRITE | TDB_TXN_READ_UNCOMMITTED)); - TQ_ERR_RETURN(tdbTbUpsert(ttb, key, kLen, value, vLen, txn)); - TQ_ERR_RETURN(tdbCommit(pTq->pMetaDB, txn)); - TQ_ERR_RETURN(tdbPostCommit(pTq->pMetaDB, txn)); + TQ_ERR_GO_TO_END(tdbBegin(pTq->pMetaDB, &txn, tdbDefaultMalloc, tdbDefaultFree, NULL, TDB_TXN_WRITE | TDB_TXN_READ_UNCOMMITTED)); + TQ_ERR_GO_TO_END(tdbTbUpsert(ttb, key, kLen, value, vLen, txn)); + TQ_ERR_GO_TO_END(tdbCommit(pTq->pMetaDB, txn)); + TQ_ERR_GO_TO_END(tdbPostCommit(pTq->pMetaDB, txn)); return 0; + +END: + tdbAbort(pTq->pMetaDB, txn); + return code; } int32_t tqMetaDeleteInfo(STQ* pTq, TTB* ttb, const void* key, int32_t kLen) { int32_t code = TDB_CODE_SUCCESS; TXN* txn = NULL; - TQ_ERR_RETURN(tdbBegin(pTq->pMetaDB, &txn, tdbDefaultMalloc, tdbDefaultFree, NULL, TDB_TXN_WRITE | TDB_TXN_READ_UNCOMMITTED)); - TQ_ERR_RETURN(tdbTbDelete(ttb, key, kLen, txn)); - TQ_ERR_RETURN(tdbCommit(pTq->pMetaDB, txn)); - TQ_ERR_RETURN(tdbPostCommit(pTq->pMetaDB, txn)); + TQ_ERR_GO_TO_END(tdbBegin(pTq->pMetaDB, &txn, tdbDefaultMalloc, tdbDefaultFree, NULL, TDB_TXN_WRITE | TDB_TXN_READ_UNCOMMITTED)); + TQ_ERR_GO_TO_END(tdbTbDelete(ttb, key, kLen, txn)); + TQ_ERR_GO_TO_END(tdbCommit(pTq->pMetaDB, txn)); + TQ_ERR_GO_TO_END(tdbPostCommit(pTq->pMetaDB, txn)); return 0; + +END: + tdbAbort(pTq->pMetaDB, txn); + return code; } void* tqMetaGetOffset(STQ* pTq, const char* subkey){