Loading storage/ndb/src/kernel/blocks/dblqh/Dblqh.hpp +1 −0 Original line number Diff line number Diff line Loading @@ -238,6 +238,7 @@ class Dbtup; #define ZSCAN_MARKERS 18 #define ZOPERATION_EVENT_REP 19 #define ZPREP_DROP_TABLE 20 #define ZENABLE_EXPAND_CHECK 21 /* ------------------------------------------------------------------------- */ /* NODE STATE DURING SYSTEM RESTART, VARIABLES CNODES_SR_STATE */ Loading storage/ndb/src/kernel/blocks/dblqh/DblqhMain.cpp +42 −14 Original line number Diff line number Diff line Loading @@ -416,6 +416,35 @@ void Dblqh::execCONTINUEB(Signal* signal) checkDropTab(signal); return; break; case ZENABLE_EXPAND_CHECK: { jam(); fragptr.i = signal->theData[1]; if (fragptr.i != RNIL) { jam(); c_redo_complete_fragments.getPtr(fragptr); signal->theData[0] = fragptr.p->tabRef; signal->theData[1] = fragptr.p->fragId; sendSignal(DBACC_REF, GSN_EXPANDCHECK2, signal, 2, JBB); c_redo_complete_fragments.next(fragptr); signal->theData[0] = ZENABLE_EXPAND_CHECK; signal->theData[1] = fragptr.i; sendSignal(DBLQH_REF, GSN_CONTINUEB, signal, 2, JBB); return; } else { jam(); c_redo_complete_fragments.remove(); StartRecConf * conf = (StartRecConf*)signal->getDataPtrSend(); conf->startingNodeId = getOwnNodeId(); sendSignal(cmasterDihBlockref, GSN_START_RECCONF, signal, StartRecConf::SignalLength, JBB); return; } } default: ndbrequire(false); break; Loading Loading @@ -15659,23 +15688,22 @@ void Dblqh::srFourthComp(Signal* signal) (cstartType == NodeState::ST_SYSTEM_RESTART)) { jam(); if(cstartType == NodeState::ST_SYSTEM_RESTART) { jam(); if (c_redo_complete_fragments.first(fragptr)) { jam(); signal->theData[0] = ZENABLE_EXPAND_CHECK; signal->theData[1] = fragptr.i; sendSignal(DBLQH_REF, GSN_CONTINUEB, signal, 2, JBB); return; } } StartRecConf * conf = (StartRecConf*)signal->getDataPtrSend(); conf->startingNodeId = getOwnNodeId(); sendSignal(cmasterDihBlockref, GSN_START_RECCONF, signal, StartRecConf::SignalLength, JBB); if(cstartType == NodeState::ST_SYSTEM_RESTART){ c_redo_complete_fragments.first(fragptr); while(fragptr.i != RNIL){ signal->theData[0] = fragptr.p->tabRef; signal->theData[1] = fragptr.p->fragId; sendSignal(DBACC_REF, GSN_EXPANDCHECK2, signal, 2, JBB); c_redo_complete_fragments.next(fragptr); } c_redo_complete_fragments.remove(); } } else { ndbrequire(false); }//if Loading
storage/ndb/src/kernel/blocks/dblqh/Dblqh.hpp +1 −0 Original line number Diff line number Diff line Loading @@ -238,6 +238,7 @@ class Dbtup; #define ZSCAN_MARKERS 18 #define ZOPERATION_EVENT_REP 19 #define ZPREP_DROP_TABLE 20 #define ZENABLE_EXPAND_CHECK 21 /* ------------------------------------------------------------------------- */ /* NODE STATE DURING SYSTEM RESTART, VARIABLES CNODES_SR_STATE */ Loading
storage/ndb/src/kernel/blocks/dblqh/DblqhMain.cpp +42 −14 Original line number Diff line number Diff line Loading @@ -416,6 +416,35 @@ void Dblqh::execCONTINUEB(Signal* signal) checkDropTab(signal); return; break; case ZENABLE_EXPAND_CHECK: { jam(); fragptr.i = signal->theData[1]; if (fragptr.i != RNIL) { jam(); c_redo_complete_fragments.getPtr(fragptr); signal->theData[0] = fragptr.p->tabRef; signal->theData[1] = fragptr.p->fragId; sendSignal(DBACC_REF, GSN_EXPANDCHECK2, signal, 2, JBB); c_redo_complete_fragments.next(fragptr); signal->theData[0] = ZENABLE_EXPAND_CHECK; signal->theData[1] = fragptr.i; sendSignal(DBLQH_REF, GSN_CONTINUEB, signal, 2, JBB); return; } else { jam(); c_redo_complete_fragments.remove(); StartRecConf * conf = (StartRecConf*)signal->getDataPtrSend(); conf->startingNodeId = getOwnNodeId(); sendSignal(cmasterDihBlockref, GSN_START_RECCONF, signal, StartRecConf::SignalLength, JBB); return; } } default: ndbrequire(false); break; Loading Loading @@ -15659,23 +15688,22 @@ void Dblqh::srFourthComp(Signal* signal) (cstartType == NodeState::ST_SYSTEM_RESTART)) { jam(); if(cstartType == NodeState::ST_SYSTEM_RESTART) { jam(); if (c_redo_complete_fragments.first(fragptr)) { jam(); signal->theData[0] = ZENABLE_EXPAND_CHECK; signal->theData[1] = fragptr.i; sendSignal(DBLQH_REF, GSN_CONTINUEB, signal, 2, JBB); return; } } StartRecConf * conf = (StartRecConf*)signal->getDataPtrSend(); conf->startingNodeId = getOwnNodeId(); sendSignal(cmasterDihBlockref, GSN_START_RECCONF, signal, StartRecConf::SignalLength, JBB); if(cstartType == NodeState::ST_SYSTEM_RESTART){ c_redo_complete_fragments.first(fragptr); while(fragptr.i != RNIL){ signal->theData[0] = fragptr.p->tabRef; signal->theData[1] = fragptr.p->fragId; sendSignal(DBACC_REF, GSN_EXPANDCHECK2, signal, 2, JBB); c_redo_complete_fragments.next(fragptr); } c_redo_complete_fragments.remove(); } } else { ndbrequire(false); }//if