Commit f86fb303 authored by unknown's avatar unknown

Merge perch.ndb.mysql.com:/home/jonas/src/50-work

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


storage/ndb/src/kernel/blocks/dbdict/Dbdict.cpp:
  Auto merged
storage/ndb/src/kernel/blocks/dblqh/DblqhMain.cpp:
  Auto merged
parents 4c77c3dd d06766b4
...@@ -2992,7 +2992,19 @@ Dbdict::restartCreateTab_readTableConf(Signal* signal, ...@@ -2992,7 +2992,19 @@ Dbdict::restartCreateTab_readTableConf(Signal* signal,
Uint32 sz = c_readTableRecord.no_of_words; Uint32 sz = c_readTableRecord.no_of_words;
SimplePropertiesLinearReader r(pageRecPtr.p->word+ZPAGE_HEADER_SIZE, sz); SimplePropertiesLinearReader r(pageRecPtr.p->word+ZPAGE_HEADER_SIZE, sz);
handleTabInfoInit(r, &parseRecord); handleTabInfoInit(r, &parseRecord);
ndbrequire(parseRecord.errorCode == 0); if (parseRecord.errorCode != 0)
{
char buf[255];
BaseString::snprintf(buf, sizeof(buf),
"Unable to restart, fail while creating table %d"
" error: %d. Most likely change of configuration",
c_readTableRecord.tableId,
parseRecord.errorCode);
progError(__LINE__,
ERR_INVALID_CONFIG,
buf);
ndbrequire(parseRecord.errorCode == 0);
}
/* ---------------------------------------------------------------- */ /* ---------------------------------------------------------------- */
// We have read the table description from disk as part of system restart. // We have read the table description from disk as part of system restart.
......
...@@ -14743,7 +14743,9 @@ void Dblqh::execSr(Signal* signal) ...@@ -14743,7 +14743,9 @@ void Dblqh::execSr(Signal* signal)
signal->theData[4] = logFilePtr.p->currentFilepage; signal->theData[4] = logFilePtr.p->currentFilepage;
signal->theData[5] = logFilePtr.p->currentMbyte; signal->theData[5] = logFilePtr.p->currentMbyte;
signal->theData[6] = logPagePtr.p->logPageWord[ZCURR_PAGE_INDEX]; signal->theData[6] = logPagePtr.p->logPageWord[ZCURR_PAGE_INDEX];
sendSignal(cownref, GSN_DEBUG_SIG, signal, 7, JBA); signal->theData[7] = ~0;
signal->theData[8] = __LINE__;
sendSignal(cownref, GSN_DEBUG_SIG, signal, 9, JBA);
return; return;
}//if }//if
}//if }//if
...@@ -14809,7 +14811,8 @@ void Dblqh::execSr(Signal* signal) ...@@ -14809,7 +14811,8 @@ void Dblqh::execSr(Signal* signal)
signal->theData[5] = logFilePtr.p->currentFilepage; signal->theData[5] = logFilePtr.p->currentFilepage;
signal->theData[6] = logPagePtr.p->logPageWord[ZCURR_PAGE_INDEX]; signal->theData[6] = logPagePtr.p->logPageWord[ZCURR_PAGE_INDEX];
signal->theData[7] = logWord; signal->theData[7] = logWord;
sendSignal(cownref, GSN_DEBUG_SIG, signal, 8, JBA); signal->theData[8] = __LINE__;
sendSignal(cownref, GSN_DEBUG_SIG, signal, 9, JBA);
return; return;
break; break;
}//switch }//switch
...@@ -14838,8 +14841,9 @@ void Dblqh::execDEBUG_SIG(Signal* signal) ...@@ -14838,8 +14841,9 @@ void Dblqh::execDEBUG_SIG(Signal* signal)
char buf[100]; char buf[100];
BaseString::snprintf(buf, 100, BaseString::snprintf(buf, 100,
"Error while reading REDO log.\n" "Error while reading REDO log. from %d\n"
"D=%d, F=%d Mb=%d FP=%d W1=%d W2=%d", "D=%d, F=%d Mb=%d FP=%d W1=%d W2=%d",
signal->theData[8],
signal->theData[2], signal->theData[3], signal->theData[4], signal->theData[2], signal->theData[3], signal->theData[4],
signal->theData[5], signal->theData[6], signal->theData[7]); signal->theData[5], signal->theData[6], signal->theData[7]);
...@@ -15422,6 +15426,10 @@ void Dblqh::readSrFourthZeroLab(Signal* signal) ...@@ -15422,6 +15426,10 @@ void Dblqh::readSrFourthZeroLab(Signal* signal)
// to read a page from file. // to read a page from file.
lfoPtr.p->lfoState = LogFileOperationRecord::WRITE_SR_INVALIDATE_PAGES; lfoPtr.p->lfoState = LogFileOperationRecord::WRITE_SR_INVALIDATE_PAGES;
/**
* Make sure we dont release zero page
*/
seizeLogpage(signal);
invalidateLogAfterLastGCI(signal); invalidateLogAfterLastGCI(signal);
return; return;
}//Dblqh::readSrFourthZeroLab() }//Dblqh::readSrFourthZeroLab()
...@@ -16026,8 +16034,22 @@ void Dblqh::findLogfile(Signal* signal, ...@@ -16026,8 +16034,22 @@ void Dblqh::findLogfile(Signal* signal,
}//if }//if
locLogFilePtr.i = locLogFilePtr.p->nextLogFile; locLogFilePtr.i = locLogFilePtr.p->nextLogFile;
loopCount++; loopCount++;
if (loopCount >= flfLogPartPtr.p->noLogFiles &&
getNodeState().startLevel != NodeState::SL_STARTED)
{
goto error;
}
ndbrequire(loopCount < flfLogPartPtr.p->noLogFiles); ndbrequire(loopCount < flfLogPartPtr.p->noLogFiles);
}//while }//while
error:
char buf[255];
BaseString::snprintf(buf, sizeof(buf),
"Unable to restart, failed while reading redo."
" Likely invalid change of configuration");
progError(__LINE__,
ERR_INVALID_CONFIG,
buf);
}//Dblqh::findLogfile() }//Dblqh::findLogfile()
/* ------------------------------------------------------------------------- */ /* ------------------------------------------------------------------------- */
......
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