Merge joreland@bk-internal.mysql.com:/home/bk/mysql-5.0-ndb
into perch.ndb.mysql.com:/home/jonas/src/mysql-5.0-ndb
This commit is contained in:
commit
d645496ec5
@ -1629,6 +1629,8 @@ private:
|
|||||||
// NR
|
// NR
|
||||||
Uint32 c_dictLockSlavePtrI_nodeRestart; // userPtr for NR
|
Uint32 c_dictLockSlavePtrI_nodeRestart; // userPtr for NR
|
||||||
void recvDictLockConf_nodeRestart(Signal* signal, Uint32 data, Uint32 ret);
|
void recvDictLockConf_nodeRestart(Signal* signal, Uint32 data, Uint32 ret);
|
||||||
|
|
||||||
|
Uint32 c_error_7181_ref;
|
||||||
};
|
};
|
||||||
|
|
||||||
#if (DIH_CDATA_SIZE < _SYSFILE_SIZE32)
|
#if (DIH_CDATA_SIZE < _SYSFILE_SIZE32)
|
||||||
|
@ -4816,6 +4816,7 @@ void Dbdih::execMASTER_GCPREQ(Signal* signal)
|
|||||||
{
|
{
|
||||||
ndbout_c("execGCP_TCFINISHED in MASTER_GCPREQ");
|
ndbout_c("execGCP_TCFINISHED in MASTER_GCPREQ");
|
||||||
CLEAR_ERROR_INSERT_VALUE;
|
CLEAR_ERROR_INSERT_VALUE;
|
||||||
|
signal->theData[0] = c_error_7181_ref;
|
||||||
signal->theData[1] = coldgcp;
|
signal->theData[1] = coldgcp;
|
||||||
execGCP_TCFINISHED(signal);
|
execGCP_TCFINISHED(signal);
|
||||||
}
|
}
|
||||||
@ -4891,6 +4892,7 @@ void Dbdih::execMASTER_GCPREQ(Signal* signal)
|
|||||||
{
|
{
|
||||||
ndbout_c("execGCP_TCFINISHED in MASTER_GCPREQ");
|
ndbout_c("execGCP_TCFINISHED in MASTER_GCPREQ");
|
||||||
CLEAR_ERROR_INSERT_VALUE;
|
CLEAR_ERROR_INSERT_VALUE;
|
||||||
|
signal->theData[0] = c_error_7181_ref;
|
||||||
signal->theData[1] = coldgcp;
|
signal->theData[1] = coldgcp;
|
||||||
execGCP_TCFINISHED(signal);
|
execGCP_TCFINISHED(signal);
|
||||||
}
|
}
|
||||||
@ -7704,6 +7706,7 @@ void Dbdih::execGCP_COMMIT(Signal* signal)
|
|||||||
cgckptflag = false;
|
cgckptflag = false;
|
||||||
emptyverificbuffer(signal, true);
|
emptyverificbuffer(signal, true);
|
||||||
cgcpParticipantState = GCP_PARTICIPANT_COMMIT_RECEIVED;
|
cgcpParticipantState = GCP_PARTICIPANT_COMMIT_RECEIVED;
|
||||||
|
signal->theData[0] = calcDihBlockRef(masterNodeId);
|
||||||
signal->theData[1] = coldgcp;
|
signal->theData[1] = coldgcp;
|
||||||
sendSignal(clocaltcblockref, GSN_GCP_NOMORETRANS, signal, 2, JBB);
|
sendSignal(clocaltcblockref, GSN_GCP_NOMORETRANS, signal, 2, JBB);
|
||||||
return;
|
return;
|
||||||
@ -7713,11 +7716,13 @@ void Dbdih::execGCP_TCFINISHED(Signal* signal)
|
|||||||
{
|
{
|
||||||
jamEntry();
|
jamEntry();
|
||||||
CRASH_INSERTION(7007);
|
CRASH_INSERTION(7007);
|
||||||
|
Uint32 retRef = signal->theData[0];
|
||||||
Uint32 gci = signal->theData[1];
|
Uint32 gci = signal->theData[1];
|
||||||
ndbrequire(gci == coldgcp);
|
ndbrequire(gci == coldgcp);
|
||||||
|
|
||||||
if (ERROR_INSERTED(7181) || ERROR_INSERTED(7182))
|
if (ERROR_INSERTED(7181) || ERROR_INSERTED(7182))
|
||||||
{
|
{
|
||||||
|
c_error_7181_ref = retRef; // Save ref
|
||||||
ndbout_c("killing %d", refToNode(cmasterdihref));
|
ndbout_c("killing %d", refToNode(cmasterdihref));
|
||||||
signal->theData[0] = 9999;
|
signal->theData[0] = 9999;
|
||||||
sendSignal(numberToRef(CMVMI, refToNode(cmasterdihref)),
|
sendSignal(numberToRef(CMVMI, refToNode(cmasterdihref)),
|
||||||
@ -7729,7 +7734,7 @@ void Dbdih::execGCP_TCFINISHED(Signal* signal)
|
|||||||
signal->theData[0] = cownNodeId;
|
signal->theData[0] = cownNodeId;
|
||||||
signal->theData[1] = coldgcp;
|
signal->theData[1] = coldgcp;
|
||||||
signal->theData[2] = cfailurenr;
|
signal->theData[2] = cfailurenr;
|
||||||
sendSignal(cmasterdihref, GSN_GCP_NODEFINISH, signal, 3, JBB);
|
sendSignal(retRef, GSN_GCP_NODEFINISH, signal, 3, JBB);
|
||||||
}//Dbdih::execGCP_TCFINISHED()
|
}//Dbdih::execGCP_TCFINISHED()
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
@ -1953,5 +1953,8 @@ private:
|
|||||||
// those variables should be removed and exchanged for stack
|
// those variables should be removed and exchanged for stack
|
||||||
// variable communication.
|
// variable communication.
|
||||||
/**************************************************************************/
|
/**************************************************************************/
|
||||||
|
|
||||||
|
Uint32 c_gcp_ref;
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
@ -6893,6 +6893,7 @@ void Dbtc::timeOutFoundFragLab(Signal* signal, UintR TscanConPtr)
|
|||||||
void Dbtc::execGCP_NOMORETRANS(Signal* signal)
|
void Dbtc::execGCP_NOMORETRANS(Signal* signal)
|
||||||
{
|
{
|
||||||
jamEntry();
|
jamEntry();
|
||||||
|
c_gcp_ref = signal->theData[0];
|
||||||
tcheckGcpId = signal->theData[1];
|
tcheckGcpId = signal->theData[1];
|
||||||
if (cfirstgcp != RNIL) {
|
if (cfirstgcp != RNIL) {
|
||||||
jam();
|
jam();
|
||||||
@ -9935,6 +9936,7 @@ void Dbtc::sendScanTabConf(Signal* signal, ScanRecordPtr scanPtr) {
|
|||||||
|
|
||||||
void Dbtc::gcpTcfinished(Signal* signal)
|
void Dbtc::gcpTcfinished(Signal* signal)
|
||||||
{
|
{
|
||||||
|
signal->theData[0] = c_gcp_ref;
|
||||||
signal->theData[1] = tcheckGcpId;
|
signal->theData[1] = tcheckGcpId;
|
||||||
sendSignal(cdihblockref, GSN_GCP_TCFINISHED, signal, 2, JBB);
|
sendSignal(cdihblockref, GSN_GCP_TCFINISHED, signal, 2, JBB);
|
||||||
}//Dbtc::gcpTcfinished()
|
}//Dbtc::gcpTcfinished()
|
||||||
|
@ -1160,7 +1160,7 @@ runBug27003(NDBT_Context* ctx, NDBT_Step* step)
|
|||||||
return NDBT_FAILED;
|
return NDBT_FAILED;
|
||||||
|
|
||||||
res.startNodes(&node, 1);
|
res.startNodes(&node, 1);
|
||||||
res.waitNodesStartPhase(&node, 1, 2);
|
NdbSleep_SecSleep(3);
|
||||||
pos++;
|
pos++;
|
||||||
}
|
}
|
||||||
pos = 0;
|
pos = 0;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user