diff options
-rw-r--r-- | storage/ndb/src/kernel/blocks/dblqh/DblqhMain.cpp | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/storage/ndb/src/kernel/blocks/dblqh/DblqhMain.cpp b/storage/ndb/src/kernel/blocks/dblqh/DblqhMain.cpp index 281391ef3c0..4dab4b89534 100644 --- a/storage/ndb/src/kernel/blocks/dblqh/DblqhMain.cpp +++ b/storage/ndb/src/kernel/blocks/dblqh/DblqhMain.cpp @@ -441,6 +441,7 @@ void Dblqh::execCONTINUEB(Signal* signal) else { jam(); + cstartRecReq = 2; ndbrequire(c_redo_complete_fragments.isEmpty()); StartRecConf * conf = (StartRecConf*)signal->getDataPtrSend(); conf->startingNodeId = getOwnNodeId(); @@ -11939,7 +11940,7 @@ void Dblqh::execGCP_SAVEREQ(Signal* signal) return; } - if (getNodeState().getNodeRestartInProgress() && cstartRecReq == ZFALSE) + if (getNodeState().getNodeRestartInProgress() && cstartRecReq < 2) { GCPSaveRef * const saveRef = (GCPSaveRef*)&signal->theData[0]; saveRef->dihPtr = dihPtr; @@ -14024,7 +14025,7 @@ void Dblqh::execRESTORE_LCP_CONF(Signal* signal) return; } - if (c_lcp_restoring_fragments.isEmpty() && cstartRecReq == ZTRUE) + if (c_lcp_restoring_fragments.isEmpty() && cstartRecReq == 1) { jam(); /* ---------------------------------------------------------------- @@ -14065,7 +14066,7 @@ void Dblqh::execSTART_RECREQ(Signal* signal) ndbrequire(req->receivingNodeId == cownNodeid); cnewestCompletedGci = cnewestGci; - cstartRecReq = ZTRUE; + cstartRecReq = 1; for (logPartPtr.i = 0; logPartPtr.i < 4; logPartPtr.i++) { ptrAss(logPartPtr, logPartRecord); logPartPtr.p->logPartNewestCompletedGCI = cnewestCompletedGci; @@ -14079,6 +14080,7 @@ void Dblqh::execSTART_RECREQ(Signal* signal) *------------------------------------------------------------------------ */ if(cstartType == NodeState::ST_INITIAL_NODE_RESTART){ jam(); + cstartRecReq = 2; StartRecConf * conf = (StartRecConf*)signal->getDataPtrSend(); conf->startingNodeId = getOwnNodeId(); sendSignal(cmasterDihBlockref, GSN_START_RECCONF, signal, @@ -15900,6 +15902,7 @@ void Dblqh::srFourthComp(Signal* signal) return; } } + cstartRecReq = 2; StartRecConf * conf = (StartRecConf*)signal->getDataPtrSend(); conf->startingNodeId = getOwnNodeId(); sendSignal(cmasterDihBlockref, GSN_START_RECCONF, signal, @@ -16768,7 +16771,7 @@ void Dblqh::initialiseRecordsLab(Signal* signal, Uint32 data, cnoActiveCopy = 0; ccurrentGcprec = RNIL; caddNodeState = ZFALSE; - cstartRecReq = ZFALSE; + cstartRecReq = 0; cnewestGci = 0; cnewestCompletedGci = 0; crestartOldestGci = 0; |