commit
c27d7f4ca3
|
@ -1241,6 +1241,7 @@ static void mndTransResetActions(SMnode *pMnode, STrans *pTrans, SArray *pArray)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// execute at bottom half
|
||||||
static int32_t mndTransWriteSingleLog(SMnode *pMnode, STrans *pTrans, STransAction *pAction, bool topHalf) {
|
static int32_t mndTransWriteSingleLog(SMnode *pMnode, STrans *pTrans, STransAction *pAction, bool topHalf) {
|
||||||
if (pAction->rawWritten) return 0;
|
if (pAction->rawWritten) return 0;
|
||||||
if (topHalf) {
|
if (topHalf) {
|
||||||
|
@ -1267,6 +1268,7 @@ static int32_t mndTransWriteSingleLog(SMnode *pMnode, STrans *pTrans, STransActi
|
||||||
return code;
|
return code;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// execute at top half
|
||||||
static int32_t mndTransSendSingleMsg(SMnode *pMnode, STrans *pTrans, STransAction *pAction, bool topHalf) {
|
static int32_t mndTransSendSingleMsg(SMnode *pMnode, STrans *pTrans, STransAction *pAction, bool topHalf) {
|
||||||
if (pAction->msgSent) return 0;
|
if (pAction->msgSent) return 0;
|
||||||
if (mndCannotExecuteTransAction(pMnode, topHalf)) {
|
if (mndCannotExecuteTransAction(pMnode, topHalf)) {
|
||||||
|
@ -1644,6 +1646,11 @@ static bool mndTransPerformCommitActionStage(SMnode *pMnode, STrans *pTrans, boo
|
||||||
pTrans->stage = TRN_STAGE_FINISH; // TRN_STAGE_PRE_FINISH is not necessary
|
pTrans->stage = TRN_STAGE_FINISH; // TRN_STAGE_PRE_FINISH is not necessary
|
||||||
mInfo("trans:%d, stage from commitAction to finished", pTrans->id);
|
mInfo("trans:%d, stage from commitAction to finished", pTrans->id);
|
||||||
continueExec = true;
|
continueExec = true;
|
||||||
|
} else if (code == TSDB_CODE_MND_TRANS_CTX_SWITCH && topHalf) {
|
||||||
|
pTrans->code = 0;
|
||||||
|
pTrans->stage = TRN_STAGE_COMMIT;
|
||||||
|
mInfo("trans:%d, back to commit stage", pTrans->id);
|
||||||
|
continueExec = true;
|
||||||
} else {
|
} else {
|
||||||
pTrans->code = terrno;
|
pTrans->code = terrno;
|
||||||
pTrans->failedTimes++;
|
pTrans->failedTimes++;
|
||||||
|
@ -1783,11 +1790,13 @@ void mndTransExecuteImp(SMnode *pMnode, STrans *pTrans, bool topHalf) {
|
||||||
mndTransSendRpcRsp(pMnode, pTrans);
|
mndTransSendRpcRsp(pMnode, pTrans);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// start trans, pullup, receive rsp, kill
|
||||||
void mndTransExecute(SMnode *pMnode, STrans *pTrans) {
|
void mndTransExecute(SMnode *pMnode, STrans *pTrans) {
|
||||||
bool topHalf = true;
|
bool topHalf = true;
|
||||||
return mndTransExecuteImp(pMnode, pTrans, topHalf);
|
return mndTransExecuteImp(pMnode, pTrans, topHalf);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// update trans
|
||||||
void mndTransRefresh(SMnode *pMnode, STrans *pTrans) {
|
void mndTransRefresh(SMnode *pMnode, STrans *pTrans) {
|
||||||
bool topHalf = false;
|
bool topHalf = false;
|
||||||
return mndTransExecuteImp(pMnode, pTrans, topHalf);
|
return mndTransExecuteImp(pMnode, pTrans, topHalf);
|
||||||
|
|
Loading…
Reference in New Issue