mirror of
https://github.com/MariaDB/server.git
synced 2025-08-05 13:16:09 +03:00
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
This commit is contained in:
@@ -1082,6 +1082,7 @@ private:
|
|||||||
BlockState& operator=(const BlockState& bs) {
|
BlockState& operator=(const BlockState& bs) {
|
||||||
Dbdict* dict = (Dbdict*)globalData.getBlock(DBDICT);
|
Dbdict* dict = (Dbdict*)globalData.getBlock(DBDICT);
|
||||||
dict->infoEvent("DICT: bs %d->%d", m_value, bs.m_value);
|
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;
|
m_value = bs.m_value;
|
||||||
return *this;
|
return *this;
|
||||||
}
|
}
|
||||||
|
@@ -15055,13 +15055,14 @@ Dbdih::sendDictLockReq(Signal* signal, Uint32 lockType, Callback c)
|
|||||||
{
|
{
|
||||||
Uint32 masterVersion = getNodeInfo(cmasterNodeId).m_version;
|
Uint32 masterVersion = getNodeInfo(cmasterNodeId).m_version;
|
||||||
|
|
||||||
unsigned int get_major = getMajor(masterVersion);
|
const unsigned int get_major = getMajor(masterVersion);
|
||||||
unsigned int get_minor = getMinor(masterVersion);
|
const unsigned int get_minor = getMinor(masterVersion);
|
||||||
unsigned int get_build = getBuild(masterVersion);
|
const unsigned int get_build = getBuild(masterVersion);
|
||||||
|
ndbrequire(get_major >= 4);
|
||||||
ndbrequire(get_major == 4 || get_major == 5);
|
|
||||||
|
|
||||||
if (masterVersion < NDBD_DICT_LOCK_VERSION_5 ||
|
if (masterVersion < NDBD_DICT_LOCK_VERSION_5 ||
|
||||||
|
masterVersion < NDBD_DICT_LOCK_VERSION_5_1 &&
|
||||||
|
get_major == 5 && get_minor == 1 ||
|
||||||
ERROR_INSERTED(7176)) {
|
ERROR_INSERTED(7176)) {
|
||||||
jam();
|
jam();
|
||||||
|
|
||||||
@@ -15132,10 +15133,13 @@ Dbdih::sendDictUnlockOrd(Signal* signal, Uint32 lockSlavePtrI)
|
|||||||
{
|
{
|
||||||
Uint32 masterVersion = getNodeInfo(cmasterNodeId).m_version;
|
Uint32 masterVersion = getNodeInfo(cmasterNodeId).m_version;
|
||||||
|
|
||||||
unsigned int get_major = getMajor(masterVersion);
|
const unsigned int get_major = getMajor(masterVersion);
|
||||||
ndbrequire(get_major == 4 || get_major == 5);
|
const unsigned int get_minor = getMinor(masterVersion);
|
||||||
|
ndbrequire(get_major >= 4);
|
||||||
|
|
||||||
if (masterVersion < NDBD_DICT_LOCK_VERSION_5 ||
|
if (masterVersion < NDBD_DICT_LOCK_VERSION_5 ||
|
||||||
|
masterVersion < NDBD_DICT_LOCK_VERSION_5_1 &&
|
||||||
|
get_major == 5 && get_minor == 1 ||
|
||||||
ERROR_INSERTED(7176)) {
|
ERROR_INSERTED(7176)) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
@@ -214,6 +214,7 @@ ErrorBundle ErrorCodes[] = {
|
|||||||
* OverloadError
|
* OverloadError
|
||||||
*/
|
*/
|
||||||
{ 701, DMEC, OL, "System busy with other schema operation" },
|
{ 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)" },
|
{ 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)" },
|
{ 677, DMEC, OL, "Index UNDO buffers overloaded (increase UndoIndexBuffer)" },
|
||||||
{ 891, DMEC, OL, "Data UNDO buffers overloaded (increase UndoDataBuffer)" },
|
{ 891, DMEC, OL, "Data UNDO buffers overloaded (increase UndoDataBuffer)" },
|
||||||
|
@@ -1852,7 +1852,9 @@ runDictOps(NDBT_Context* ctx, NDBT_Step* step)
|
|||||||
Ndb* pNdb = GETNDB(step);
|
Ndb* pNdb = GETNDB(step);
|
||||||
NdbDictionary::Dictionary* pDic = pNdb->getDictionary();
|
NdbDictionary::Dictionary* pDic = pNdb->getDictionary();
|
||||||
const NdbDictionary::Table* pTab = ctx->getTab();
|
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
|
const unsigned long maxsleep = 100; //ms
|
||||||
|
|
||||||
@@ -1888,7 +1890,7 @@ runDictOps(NDBT_Context* ctx, NDBT_Step* step)
|
|||||||
// replace by the Retrieved table
|
// replace by the Retrieved table
|
||||||
pTab = pTab2;
|
pTab = pTab2;
|
||||||
|
|
||||||
int records = myRandom48(ctx->getNumRecords());
|
int records = ctx->getNumRecords();
|
||||||
g_info << "2: load " << records << " records" << endl;
|
g_info << "2: load " << records << " records" << endl;
|
||||||
HugoTransactions hugoTrans(*pTab);
|
HugoTransactions hugoTrans(*pTab);
|
||||||
if (hugoTrans.loadTable(pNdb, records) != 0) {
|
if (hugoTrans.loadTable(pNdb, records) != 0) {
|
||||||
@@ -1925,7 +1927,8 @@ runDictOps(NDBT_Context* ctx, NDBT_Step* step)
|
|||||||
result = NDBT_FAILED;
|
result = NDBT_FAILED;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
if (pDic->getNdbError().code != 709) {
|
if (pDic->getNdbError().code != 709 &&
|
||||||
|
pDic->getNdbError().code != 723) {
|
||||||
const NdbError err = pDic->getNdbError();
|
const NdbError err = pDic->getNdbError();
|
||||||
g_err << "2: " << tabName << ": verify drop: " << err << endl;
|
g_err << "2: " << tabName << ": verify drop: " << err << endl;
|
||||||
result = NDBT_FAILED;
|
result = NDBT_FAILED;
|
||||||
|
@@ -329,7 +329,10 @@ NdbRestarter::waitNodesState(int * _nodes, int _num_nodes,
|
|||||||
}
|
}
|
||||||
|
|
||||||
g_info << "State node " << ndbNode->node_id << " "
|
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);
|
assert(ndbNode != NULL);
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user