Commit 2c353660 authored by unknown's avatar unknown

Merge eel.(none):/home/jonas/src/mysql-5.0

into  eel.(none):/home/jonas/src/mysql-5.0-push
parents dc243124 e5733f2a
...@@ -222,5 +222,6 @@ GSN_PRINT_SIGNATURE(printSCAN_FRAGREQ); ...@@ -222,5 +222,6 @@ GSN_PRINT_SIGNATURE(printSCAN_FRAGREQ);
GSN_PRINT_SIGNATURE(printCONTINUEB_NDBFS); GSN_PRINT_SIGNATURE(printCONTINUEB_NDBFS);
GSN_PRINT_SIGNATURE(printCONTINUEB_DBDIH); GSN_PRINT_SIGNATURE(printCONTINUEB_DBDIH);
GSN_PRINT_SIGNATURE(printSTART_FRAG_REQ);
#endif #endif
...@@ -32,6 +32,8 @@ class StartFragReq { ...@@ -32,6 +32,8 @@ class StartFragReq {
public: public:
STATIC_CONST( SignalLength = 19 ); STATIC_CONST( SignalLength = 19 );
friend bool printSTART_FRAG_REQ(FILE *, const Uint32 *, Uint32, Uint16);
private: private:
Uint32 userPtr; Uint32 userPtr;
Uint32 userRef; Uint32 userRef;
......
...@@ -33,7 +33,6 @@ EventLoggerBase::~EventLoggerBase() ...@@ -33,7 +33,6 @@ EventLoggerBase::~EventLoggerBase()
} }
#define QQQQ char *m_text, size_t m_text_len, const Uint32* theData #define QQQQ char *m_text, size_t m_text_len, const Uint32* theData
void getTextConnected(QQQQ) { void getTextConnected(QQQQ) {
...@@ -434,10 +433,12 @@ void getTextNR_CopyFragsCompleted(QQQQ) { ...@@ -434,10 +433,12 @@ void getTextNR_CopyFragsCompleted(QQQQ) {
void getTextLCPFragmentCompleted(QQQQ) { void getTextLCPFragmentCompleted(QQQQ) {
BaseString::snprintf(m_text, m_text_len, BaseString::snprintf(m_text, m_text_len,
"Table ID = %u, fragment ID = %u has completed LCP " "Table ID = %u, fragment ID = %u has completed LCP "
"on Node %u", "on Node %u maxGciStarted: %d maxGciCompleted: %d",
theData[2], theData[2],
theData[3], theData[3],
theData[1]); theData[1],
theData[4],
theData[5]);
} }
void getTextTransReportCounters(QQQQ) { void getTextTransReportCounters(QQQQ) {
// ------------------------------------------------------------------- // -------------------------------------------------------------------
......
...@@ -198,6 +198,7 @@ SignalDataPrintFunctions[] = { ...@@ -198,6 +198,7 @@ SignalDataPrintFunctions[] = {
,{ GSN_ACC_LOCKREQ, printACC_LOCKREQ } ,{ GSN_ACC_LOCKREQ, printACC_LOCKREQ }
,{ GSN_LQH_TRANSCONF, printLQH_TRANSCONF } ,{ GSN_LQH_TRANSCONF, printLQH_TRANSCONF }
,{ GSN_SCAN_FRAGREQ, printSCAN_FRAGREQ } ,{ GSN_SCAN_FRAGREQ, printSCAN_FRAGREQ }
,{ GSN_START_FRAGREQ, printSTART_FRAG_REQ }
,{ 0, 0 } ,{ 0, 0 }
}; };
......
...@@ -17,6 +17,7 @@ ...@@ -17,6 +17,7 @@
#include <RefConvert.hpp> #include <RefConvert.hpp>
#include <signaldata/StartRec.hpp> #include <signaldata/StartRec.hpp>
#include <signaldata/StartFragReq.hpp>
bool bool
printSTART_REC_REQ(FILE * output, printSTART_REC_REQ(FILE * output,
...@@ -50,3 +51,27 @@ printSTART_REC_CONF(FILE * output, ...@@ -50,3 +51,27 @@ printSTART_REC_CONF(FILE * output,
return true; return true;
} }
bool
printSTART_FRAG_REQ(FILE * output,
const Uint32 * theData,
Uint32 len,
Uint16 recBlockNo)
{
StartFragReq* sig = (StartFragReq*)theData;
fprintf(output, " table: %d frag: %d lcpId: %d lcpNo: %d #nodes: %d \n",
sig->tableId, sig->fragId, sig->lcpId, sig->lcpNo,
sig->noOfLogNodes);
for(Uint32 i = 0; i<sig->noOfLogNodes; i++)
{
fprintf(output, " (node: %d startGci: %d lastGci: %d)",
sig->lqhLogNode[i],
sig->startGci[i],
sig->lastGci[i]);
}
fprintf(output, "\n");
return true;
}
...@@ -9673,6 +9673,9 @@ void Dbdih::execLCP_FRAG_REP(Signal* signal) ...@@ -9673,6 +9673,9 @@ void Dbdih::execLCP_FRAG_REP(Signal* signal)
} }
bool tableDone = reportLcpCompletion(lcpReport); bool tableDone = reportLcpCompletion(lcpReport);
Uint32 started = lcpReport->maxGciStarted;
Uint32 completed = lcpReport->maxGciCompleted;
if(tableDone){ if(tableDone){
jam(); jam();
...@@ -9706,7 +9709,9 @@ void Dbdih::execLCP_FRAG_REP(Signal* signal) ...@@ -9706,7 +9709,9 @@ void Dbdih::execLCP_FRAG_REP(Signal* signal)
signal->theData[1] = nodeId; signal->theData[1] = nodeId;
signal->theData[2] = tableId; signal->theData[2] = tableId;
signal->theData[3] = fragId; signal->theData[3] = fragId;
sendSignal(CMVMI_REF, GSN_EVENT_REP, signal, 4, JBB); signal->theData[4] = started;
signal->theData[5] = completed;
sendSignal(CMVMI_REF, GSN_EVENT_REP, signal, 6, JBB);
#endif #endif
bool ok = false; bool ok = false;
...@@ -10903,7 +10908,9 @@ void Dbdih::findMinGci(ReplicaRecordPtr fmgReplicaPtr, ...@@ -10903,7 +10908,9 @@ void Dbdih::findMinGci(ReplicaRecordPtr fmgReplicaPtr,
lcpNo = fmgReplicaPtr.p->nextLcp; lcpNo = fmgReplicaPtr.p->nextLcp;
do { do {
ndbrequire(lcpNo < MAX_LCP_STORED); ndbrequire(lcpNo < MAX_LCP_STORED);
if (fmgReplicaPtr.p->lcpStatus[lcpNo] == ZVALID) { if (fmgReplicaPtr.p->lcpStatus[lcpNo] == ZVALID &&
fmgReplicaPtr.p->maxGciStarted[lcpNo] <= coldgcp)
{
jam(); jam();
keepGci = fmgReplicaPtr.p->maxGciCompleted[lcpNo]; keepGci = fmgReplicaPtr.p->maxGciCompleted[lcpNo];
oldestRestorableGci = fmgReplicaPtr.p->maxGciStarted[lcpNo]; oldestRestorableGci = fmgReplicaPtr.p->maxGciStarted[lcpNo];
...@@ -10911,7 +10918,6 @@ void Dbdih::findMinGci(ReplicaRecordPtr fmgReplicaPtr, ...@@ -10911,7 +10918,6 @@ void Dbdih::findMinGci(ReplicaRecordPtr fmgReplicaPtr,
return; return;
} else { } else {
jam(); jam();
ndbrequire(fmgReplicaPtr.p->lcpStatus[lcpNo] == ZINVALID);
if (fmgReplicaPtr.p->createGci[0] == fmgReplicaPtr.p->initialGci) { if (fmgReplicaPtr.p->createGci[0] == fmgReplicaPtr.p->initialGci) {
jam(); jam();
/*------------------------------------------------------------------- /*-------------------------------------------------------------------
......
...@@ -4454,7 +4454,7 @@ Dbtc::DIVER_node_fail_handling(Signal* signal, UintR Tgci) ...@@ -4454,7 +4454,7 @@ Dbtc::DIVER_node_fail_handling(Signal* signal, UintR Tgci)
*------------------------------------------------------------------------*/ *------------------------------------------------------------------------*/
tabortInd = ZFALSE; tabortInd = ZFALSE;
setupFailData(signal); setupFailData(signal);
if (tabortInd == ZFALSE) { if (false && tabortInd == ZFALSE) {
jam(); jam();
commitGciHandling(signal, Tgci); commitGciHandling(signal, Tgci);
toCommitHandlingLab(signal); toCommitHandlingLab(signal);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment