Loading storage/ndb/src/kernel/blocks/dbdih/Dbdih.hpp +2 −0 Original line number Diff line number Diff line Loading @@ -1645,6 +1645,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) Loading storage/ndb/src/kernel/blocks/dbdih/DbdihMain.cpp +6 −1 Original line number Diff line number Diff line Loading @@ -5101,6 +5101,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); } Loading Loading @@ -5176,6 +5177,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); } Loading Loading @@ -8078,6 +8080,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; Loading @@ -8087,11 +8090,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)), Loading @@ -8103,7 +8108,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() /*****************************************************************************/ Loading storage/ndb/src/kernel/blocks/dbtc/Dbtc.hpp +3 −0 Original line number Diff line number Diff line Loading @@ -1955,5 +1955,8 @@ private: // those variables should be removed and exchanged for stack // variable communication. /**************************************************************************/ Uint32 c_gcp_ref; }; #endif storage/ndb/src/kernel/blocks/dbtc/DbtcMain.cpp +2 −0 Original line number Diff line number Diff line Loading @@ -6886,6 +6886,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(); Loading Loading @@ -9934,6 +9935,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() Loading Loading
storage/ndb/src/kernel/blocks/dbdih/Dbdih.hpp +2 −0 Original line number Diff line number Diff line Loading @@ -1645,6 +1645,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) Loading
storage/ndb/src/kernel/blocks/dbdih/DbdihMain.cpp +6 −1 Original line number Diff line number Diff line Loading @@ -5101,6 +5101,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); } Loading Loading @@ -5176,6 +5177,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); } Loading Loading @@ -8078,6 +8080,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; Loading @@ -8087,11 +8090,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)), Loading @@ -8103,7 +8108,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() /*****************************************************************************/ Loading
storage/ndb/src/kernel/blocks/dbtc/Dbtc.hpp +3 −0 Original line number Diff line number Diff line Loading @@ -1955,5 +1955,8 @@ private: // those variables should be removed and exchanged for stack // variable communication. /**************************************************************************/ Uint32 c_gcp_ref; }; #endif
storage/ndb/src/kernel/blocks/dbtc/DbtcMain.cpp +2 −0 Original line number Diff line number Diff line Loading @@ -6886,6 +6886,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(); Loading Loading @@ -9934,6 +9935,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() Loading