Commit bdb9b448 authored by unknown's avatar unknown
Browse files

Merge joreland@bk-internal.mysql.com:/home/bk/mysql-5.0-ndb

into  perch.ndb.mysql.com:/home/jonas/src/mysql-5.0-ndb

parents 4e288dc3 39e7b560
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -1629,6 +1629,8 @@ private:
  // NR
  Uint32 c_dictLockSlavePtrI_nodeRestart; // userPtr for NR
  void recvDictLockConf_nodeRestart(Signal* signal, Uint32 data, Uint32 ret);

  Uint32 c_error_7181_ref;
};

#if (DIH_CDATA_SIZE < _SYSFILE_SIZE32)
+6 −1
Original line number Diff line number Diff line
@@ -4816,6 +4816,7 @@ void Dbdih::execMASTER_GCPREQ(Signal* signal)
  {
    ndbout_c("execGCP_TCFINISHED in MASTER_GCPREQ");
    CLEAR_ERROR_INSERT_VALUE;
    signal->theData[0] = c_error_7181_ref;
    signal->theData[1] = coldgcp;
    execGCP_TCFINISHED(signal);
  }
@@ -4891,6 +4892,7 @@ void Dbdih::execMASTER_GCPREQ(Signal* signal)
  {
    ndbout_c("execGCP_TCFINISHED in MASTER_GCPREQ");
    CLEAR_ERROR_INSERT_VALUE;
    signal->theData[0] = c_error_7181_ref;
    signal->theData[1] = coldgcp;
    execGCP_TCFINISHED(signal);
  }
@@ -7704,6 +7706,7 @@ void Dbdih::execGCP_COMMIT(Signal* signal)
  cgckptflag = false;
  emptyverificbuffer(signal, true);
  cgcpParticipantState = GCP_PARTICIPANT_COMMIT_RECEIVED;
  signal->theData[0] = calcDihBlockRef(masterNodeId);
  signal->theData[1] = coldgcp;
  sendSignal(clocaltcblockref, GSN_GCP_NOMORETRANS, signal, 2, JBB);
  return;
@@ -7713,11 +7716,13 @@ void Dbdih::execGCP_TCFINISHED(Signal* signal)
{
  jamEntry();
  CRASH_INSERTION(7007);
  Uint32 retRef = signal->theData[0];
  Uint32 gci = signal->theData[1];
  ndbrequire(gci == coldgcp);

  if (ERROR_INSERTED(7181) || ERROR_INSERTED(7182))
  {
    c_error_7181_ref = retRef; // Save ref
    ndbout_c("killing %d", refToNode(cmasterdihref));
    signal->theData[0] = 9999;
    sendSignal(numberToRef(CMVMI, refToNode(cmasterdihref)),
@@ -7729,7 +7734,7 @@ void Dbdih::execGCP_TCFINISHED(Signal* signal)
  signal->theData[0] = cownNodeId;
  signal->theData[1] = coldgcp;
  signal->theData[2] = cfailurenr;
  sendSignal(cmasterdihref, GSN_GCP_NODEFINISH, signal, 3, JBB);
  sendSignal(retRef, GSN_GCP_NODEFINISH, signal, 3, JBB);
}//Dbdih::execGCP_TCFINISHED()

/*****************************************************************************/
+3 −0
Original line number Diff line number Diff line
@@ -1953,5 +1953,8 @@ private:
  // those variables should be removed and exchanged for stack
  // variable communication.
  /**************************************************************************/

  Uint32 c_gcp_ref;
};

#endif
+2 −0
Original line number Diff line number Diff line
@@ -6893,6 +6893,7 @@ void Dbtc::timeOutFoundFragLab(Signal* signal, UintR TscanConPtr)
void Dbtc::execGCP_NOMORETRANS(Signal* signal) 
{
  jamEntry();
  c_gcp_ref = signal->theData[0];
  tcheckGcpId = signal->theData[1];
  if (cfirstgcp != RNIL) {
    jam();
@@ -9935,6 +9936,7 @@ void Dbtc::sendScanTabConf(Signal* signal, ScanRecordPtr scanPtr) {

void Dbtc::gcpTcfinished(Signal* signal) 
{
  signal->theData[0] = c_gcp_ref;
  signal->theData[1] = tcheckGcpId;
  sendSignal(cdihblockref, GSN_GCP_TCFINISHED, signal, 2, JBB);
}//Dbtc::gcpTcfinished()
+1 −1
Original line number Diff line number Diff line
@@ -1160,7 +1160,7 @@ runBug27003(NDBT_Context* ctx, NDBT_Step* step)
	return NDBT_FAILED;
      
      res.startNodes(&node, 1);
      res.waitNodesStartPhase(&node, 1, 2);
      NdbSleep_SecSleep(3);
      pos++;
    }
    pos = 0;