Merge pull request #23700 from taosdata/FIX/transaction-retry-3.0
Fix/transaction retry 3.0
This commit is contained in:
commit
297fea94df
|
@ -1113,7 +1113,7 @@ static int32_t mndTransWriteSingleLog(SMnode *pMnode, STrans *pTrans, STransActi
|
||||||
}
|
}
|
||||||
|
|
||||||
static int32_t mndTransSendSingleMsg(SMnode *pMnode, STrans *pTrans, STransAction *pAction) {
|
static int32_t mndTransSendSingleMsg(SMnode *pMnode, STrans *pTrans, STransAction *pAction) {
|
||||||
if (pAction->msgSent) return 0;
|
if (pAction->msgSent) return 0;
|
||||||
if (mndCannotExecuteTransAction(pMnode)) return -1;
|
if (mndCannotExecuteTransAction(pMnode)) return -1;
|
||||||
|
|
||||||
int64_t signature = pTrans->id;
|
int64_t signature = pTrans->id;
|
||||||
|
@ -1229,6 +1229,21 @@ static int32_t mndTransExecuteActions(SMnode *pMnode, STrans *pTrans, SArray *pA
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
mInfo("trans:%d, %d of %d actions executed", pTrans->id, numOfExecuted, numOfActions);
|
mInfo("trans:%d, %d of %d actions executed", pTrans->id, numOfExecuted, numOfActions);
|
||||||
|
|
||||||
|
for (int32_t action = 0; action < numOfActions; ++action) {
|
||||||
|
STransAction *pAction = taosArrayGet(pArray, action);
|
||||||
|
mDebug("trans:%d, %s:%d Sent:%d, Received:%d, errCode:0x%x, acceptableCode:0x%x, retryCode:0x%x",
|
||||||
|
pTrans->id, mndTransStr(pAction->stage), pAction->id, pAction->msgSent, pAction->msgReceived,
|
||||||
|
pAction->errCode, pAction->acceptableCode, pAction->retryCode);
|
||||||
|
if (pAction->msgSent) {
|
||||||
|
if (pAction->msgReceived) {
|
||||||
|
if (pAction->errCode != 0 && pAction->errCode != pAction->acceptableCode) {
|
||||||
|
mndTransResetAction(pMnode, pTrans, pAction);
|
||||||
|
mInfo("trans:%d, %s:%d reset", pTrans->id, mndTransStr(pAction->stage), pAction->id);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
return TSDB_CODE_ACTION_IN_PROGRESS;
|
return TSDB_CODE_ACTION_IN_PROGRESS;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue