Commit cfab9a44 authored by unknown's avatar unknown

ndb - bug#18781 post-merge 5.0->5.1 fixes (one more to come)

      have to push this to be able to push 5.0


storage/ndb/include/kernel/signaldata/DictLock.hpp:
  Rename: ndb/include/kernel/signaldata/DictLock.hpp -> storage/ndb/include/kernel/signaldata/DictLock.hpp
storage/ndb/src/kernel/blocks/dbdict/DictLock.txt:
  Rename: ndb/src/kernel/blocks/dbdict/DictLock.txt -> storage/ndb/src/kernel/blocks/dbdict/DictLock.txt
storage/ndb/src/kernel/blocks/dbdict/Dbdict.hpp:
  debug
storage/ndb/src/kernel/blocks/dbdih/DbdihMain.cpp:
  bug#18781 post-merge 5.0->5.1 fixes (one more to come)
storage/ndb/src/ndbapi/ndberror.c:
  bug#18781 post-merge 5.0->5.1 fixes (one more to come)
storage/ndb/test/ndbapi/testDict.cpp:
  bug#18781 post-merge 5.0->5.1 fixes (one more to come)
storage/ndb/test/src/NdbRestarter.cpp:
  bug#18781 post-merge 5.0->5.1 fixes (one more to come)
parent 3dee13cf
......@@ -1082,6 +1082,7 @@ private:
BlockState& operator=(const BlockState& bs) {
Dbdict* dict = (Dbdict*)globalData.getBlock(DBDICT);
dict->infoEvent("DICT: bs %d->%d", m_value, bs.m_value);
globalSignalLoggers.log(DBDICT, "bs %d->%d", m_value, bs.m_value);
m_value = bs.m_value;
return *this;
}
......
......@@ -15055,13 +15055,14 @@ Dbdih::sendDictLockReq(Signal* signal, Uint32 lockType, Callback c)
{
Uint32 masterVersion = getNodeInfo(cmasterNodeId).m_version;
unsigned int get_major = getMajor(masterVersion);
unsigned int get_minor = getMinor(masterVersion);
unsigned int get_build = getBuild(masterVersion);
ndbrequire(get_major == 4 || get_major == 5);
const unsigned int get_major = getMajor(masterVersion);
const unsigned int get_minor = getMinor(masterVersion);
const unsigned int get_build = getBuild(masterVersion);
ndbrequire(get_major >= 4);
if (masterVersion < NDBD_DICT_LOCK_VERSION_5 ||
masterVersion < NDBD_DICT_LOCK_VERSION_5_1 &&
get_major == 5 && get_minor == 1 ||
ERROR_INSERTED(7176)) {
jam();
......@@ -15132,10 +15133,13 @@ Dbdih::sendDictUnlockOrd(Signal* signal, Uint32 lockSlavePtrI)
{
Uint32 masterVersion = getNodeInfo(cmasterNodeId).m_version;
unsigned int get_major = getMajor(masterVersion);
ndbrequire(get_major == 4 || get_major == 5);
const unsigned int get_major = getMajor(masterVersion);
const unsigned int get_minor = getMinor(masterVersion);
ndbrequire(get_major >= 4);
if (masterVersion < NDBD_DICT_LOCK_VERSION_5 ||
masterVersion < NDBD_DICT_LOCK_VERSION_5_1 &&
get_major == 5 && get_minor == 1 ||
ERROR_INSERTED(7176)) {
return;
}
......
......@@ -214,6 +214,7 @@ ErrorBundle ErrorCodes[] = {
* OverloadError
*/
{ 701, DMEC, OL, "System busy with other schema operation" },
{ 711, DMEC, OL, "System busy with node restart, schema operations not allowed" },
{ 410, DMEC, OL, "REDO log files overloaded, consult online manual (decrease TimeBetweenLocalCheckpoints, and|or increase NoOfFragmentLogFiles)" },
{ 677, DMEC, OL, "Index UNDO buffers overloaded (increase UndoIndexBuffer)" },
{ 891, DMEC, OL, "Data UNDO buffers overloaded (increase UndoDataBuffer)" },
......
......@@ -1852,7 +1852,9 @@ runDictOps(NDBT_Context* ctx, NDBT_Step* step)
Ndb* pNdb = GETNDB(step);
NdbDictionary::Dictionary* pDic = pNdb->getDictionary();
const NdbDictionary::Table* pTab = ctx->getTab();
const char* tabName = pTab->getName();
//const char* tabName = pTab->getName(); //XXX what goes on?
char tabName[40];
strcpy(tabName, pTab->getName());
const unsigned long maxsleep = 100; //ms
......@@ -1888,7 +1890,7 @@ runDictOps(NDBT_Context* ctx, NDBT_Step* step)
// replace by the Retrieved table
pTab = pTab2;
int records = myRandom48(ctx->getNumRecords());
int records = ctx->getNumRecords();
g_info << "2: load " << records << " records" << endl;
HugoTransactions hugoTrans(*pTab);
if (hugoTrans.loadTable(pNdb, records) != 0) {
......@@ -1925,7 +1927,8 @@ runDictOps(NDBT_Context* ctx, NDBT_Step* step)
result = NDBT_FAILED;
break;
}
if (pDic->getNdbError().code != 709) {
if (pDic->getNdbError().code != 709 &&
pDic->getNdbError().code != 723) {
const NdbError err = pDic->getNdbError();
g_err << "2: " << tabName << ": verify drop: " << err << endl;
result = NDBT_FAILED;
......
......@@ -329,7 +329,10 @@ NdbRestarter::waitNodesState(int * _nodes, int _num_nodes,
}
g_info << "State node " << ndbNode->node_id << " "
<< ndb_mgm_get_node_status_string(ndbNode->node_status)<< endl;
<< ndb_mgm_get_node_status_string(ndbNode->node_status);
if (ndbNode->node_status == NDB_MGM_NODE_STATUS_STARTING)
g_info<< ", start_phase=" << ndbNode->start_phase;
g_info << endl;
assert(ndbNode != NULL);
......
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