summaryrefslogtreecommitdiff
path: root/storage
diff options
context:
space:
mode:
authorunknown <jonas@perch.ndb.mysql.com>2006-02-06 11:48:38 +0100
committerunknown <jonas@perch.ndb.mysql.com>2006-02-06 11:48:38 +0100
commit7922443ea80b8acff034bd8762aa10ed24fcbf0f (patch)
treee9364f7749596161ad4007498faa3d1ea5de8d7b /storage
parent62985d2eaf7dab382de9c6162edb7ceb32374df5 (diff)
parent49bc13bfb68ca86d8cb6643aa724c7e98187b687 (diff)
downloadmariadb-git-7922443ea80b8acff034bd8762aa10ed24fcbf0f.tar.gz
Merge perch.ndb.mysql.com:/home/jonas/src/50-work
into perch.ndb.mysql.com:/home/jonas/src/mysql-5.1-new storage/ndb/src/kernel/blocks/dbdict/Dbdict.cpp: Auto merged storage/ndb/src/kernel/blocks/dblqh/DblqhMain.cpp: Auto merged
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()
/* ------------------------------------------------------------------------- */