summaryrefslogtreecommitdiff
path: root/storage
diff options
context:
space:
mode:
authorjonas@perch.ndb.mysql.com <>2006-02-06 11:48:38 +0100
committerjonas@perch.ndb.mysql.com <>2006-02-06 11:48:38 +0100
commit20646cf3311cc6249d6d3753536dcdb7a9779da3 (patch)
treee9364f7749596161ad4007498faa3d1ea5de8d7b /storage
parentd65edca7a13c036e3749f7800b78d171be8b0ac0 (diff)
parent669a2bfa82b8ca52b2ba937550e9110b6e07c4ad (diff)
downloadmariadb-git-20646cf3311cc6249d6d3753536dcdb7a9779da3.tar.gz
Merge perch.ndb.mysql.com:/home/jonas/src/50-work
into perch.ndb.mysql.com:/home/jonas/src/mysql-5.1-new
Diffstat (limited to 'storage')
-rw-r--r--storage/ndb/src/kernel/blocks/dbdict/Dbdict.cpp14
-rw-r--r--storage/ndb/src/kernel/blocks/dblqh/DblqhMain.cpp14
2 files changed, 27 insertions, 1 deletions
diff --git a/storage/ndb/src/kernel/blocks/dbdict/Dbdict.cpp b/storage/ndb/src/kernel/blocks/dbdict/Dbdict.cpp
index 0aedaa59797..e10cd0df571 100644
--- a/storage/ndb/src/kernel/blocks/dbdict/Dbdict.cpp
+++ b/storage/ndb/src/kernel/blocks/dbdict/Dbdict.cpp
@@ -2992,7 +2992,19 @@ Dbdict::restartCreateTab_readTableConf(Signal* signal,
Uint32 sz = c_readTableRecord.no_of_words;
SimplePropertiesLinearReader r(pageRecPtr.p->word+ZPAGE_HEADER_SIZE, sz);
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.
diff --git a/storage/ndb/src/kernel/blocks/dblqh/DblqhMain.cpp b/storage/ndb/src/kernel/blocks/dblqh/DblqhMain.cpp
index 6ae79dd73e7..440f57cade6 100644
--- a/storage/ndb/src/kernel/blocks/dblqh/DblqhMain.cpp
+++ b/storage/ndb/src/kernel/blocks/dblqh/DblqhMain.cpp
@@ -15991,8 +15991,22 @@ void Dblqh::findLogfile(Signal* signal,
}//if
locLogFilePtr.i = locLogFilePtr.p->nextLogFile;
loopCount++;
+ if (loopCount >= flfLogPartPtr.p->noLogFiles &&
+ getNodeState().startLevel != NodeState::SL_STARTED)
+ {
+ goto error;
+ }
ndbrequire(loopCount < flfLogPartPtr.p->noLogFiles);
}//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()
/* ------------------------------------------------------------------------- */