From 481c5981d6b72c7ff21080ffff62bdf169b906d4 Mon Sep 17 00:00:00 2001 From: dmchen Date: Wed, 1 Nov 2023 09:03:13 +0000 Subject: [PATCH] fix/transaction-retry --- source/dnode/mnode/impl/src/mndTrans.c | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/source/dnode/mnode/impl/src/mndTrans.c b/source/dnode/mnode/impl/src/mndTrans.c index d845d87427..b0f4859f92 100644 --- a/source/dnode/mnode/impl/src/mndTrans.c +++ b/source/dnode/mnode/impl/src/mndTrans.c @@ -1113,7 +1113,16 @@ static int32_t mndTransWriteSingleLog(SMnode *pMnode, STrans *pTrans, STransActi } static int32_t mndTransSendSingleMsg(SMnode *pMnode, STrans *pTrans, STransAction *pAction) { - if (pAction->msgSent) return 0; + if (pAction->msgSent){ + if (pAction->msgReceived) { + if (pAction->errCode != 0 && pAction->errCode != pAction->acceptableCode) { + mndTransResetAction(pMnode, pTrans, pAction); + } else { + mInfo("trans:%d, %s execute successfully", pTrans->id, mndTransStr(pAction->stage)); + } + } + return 0; + } if (mndCannotExecuteTransAction(pMnode)) return -1; int64_t signature = pTrans->id;