mirror of
https://github.com/MariaDB/server.git
synced 2025-01-19 05:22:25 +01:00
Merge tulin@bk-internal.mysql.com:/home/bk/mysql-5.1
into poseidon.ndb.mysql.com:/home/tomas/mysql-5.1-new-ndb
This commit is contained in:
commit
a1c87f046e
3 changed files with 44 additions and 14 deletions
|
@ -238,6 +238,7 @@ class Dbtup;
|
||||||
#define ZSCAN_MARKERS 18
|
#define ZSCAN_MARKERS 18
|
||||||
#define ZOPERATION_EVENT_REP 19
|
#define ZOPERATION_EVENT_REP 19
|
||||||
#define ZPREP_DROP_TABLE 20
|
#define ZPREP_DROP_TABLE 20
|
||||||
|
#define ZENABLE_EXPAND_CHECK 21
|
||||||
|
|
||||||
/* ------------------------------------------------------------------------- */
|
/* ------------------------------------------------------------------------- */
|
||||||
/* NODE STATE DURING SYSTEM RESTART, VARIABLES CNODES_SR_STATE */
|
/* NODE STATE DURING SYSTEM RESTART, VARIABLES CNODES_SR_STATE */
|
||||||
|
|
|
@ -416,6 +416,35 @@ void Dblqh::execCONTINUEB(Signal* signal)
|
||||||
checkDropTab(signal);
|
checkDropTab(signal);
|
||||||
return;
|
return;
|
||||||
break;
|
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:
|
default:
|
||||||
ndbrequire(false);
|
ndbrequire(false);
|
||||||
break;
|
break;
|
||||||
|
@ -15659,23 +15688,22 @@ void Dblqh::srFourthComp(Signal* signal)
|
||||||
(cstartType == NodeState::ST_SYSTEM_RESTART)) {
|
(cstartType == NodeState::ST_SYSTEM_RESTART)) {
|
||||||
jam();
|
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();
|
StartRecConf * conf = (StartRecConf*)signal->getDataPtrSend();
|
||||||
conf->startingNodeId = getOwnNodeId();
|
conf->startingNodeId = getOwnNodeId();
|
||||||
sendSignal(cmasterDihBlockref, GSN_START_RECCONF, signal,
|
sendSignal(cmasterDihBlockref, GSN_START_RECCONF, signal,
|
||||||
StartRecConf::SignalLength, JBB);
|
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 {
|
} else {
|
||||||
ndbrequire(false);
|
ndbrequire(false);
|
||||||
}//if
|
}//if
|
||||||
|
|
|
@ -294,6 +294,7 @@ int runRestarts(NDBT_Context* ctx, NDBT_Step* step){
|
||||||
}
|
}
|
||||||
i++;
|
i++;
|
||||||
}
|
}
|
||||||
|
ctx->stopTest();
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue