diff options
author | unknown <jonas@perch.ndb.mysql.com> | 2006-03-27 10:29:36 +0200 |
---|---|---|
committer | unknown <jonas@perch.ndb.mysql.com> | 2006-03-27 10:29:36 +0200 |
commit | 3cbae11cfdbc5f164724eb1d362a5bb84c6ae010 (patch) | |
tree | a316a61e836b02910aff0c75aefdd69f8f110d86 /storage/ndb | |
parent | c04cf137568a543fbb97541f5fd12746f5f3e25b (diff) | |
parent | b4af134a528db18539bd84c50b076ac3572ae1e2 (diff) | |
download | mariadb-git-3cbae11cfdbc5f164724eb1d362a5bb84c6ae010.tar.gz |
Merge joreland@bk-internal.mysql.com:/home/bk/mysql-5.1-new
into perch.ndb.mysql.com:/home/jonas/src/mysql-5.1-new
Diffstat (limited to 'storage/ndb')
-rw-r--r-- | storage/ndb/src/kernel/blocks/cmvmi/Cmvmi.cpp | 17 | ||||
-rw-r--r-- | storage/ndb/test/ndbapi/testNodeRestart.cpp | 12 | ||||
-rw-r--r-- | storage/ndb/test/src/NdbBackup.cpp | 4 | ||||
-rw-r--r-- | storage/ndb/test/src/NdbRestarts.cpp | 16 |
4 files changed, 37 insertions, 12 deletions
diff --git a/storage/ndb/src/kernel/blocks/cmvmi/Cmvmi.cpp b/storage/ndb/src/kernel/blocks/cmvmi/Cmvmi.cpp index 02c3abe0e80..6d3df7b2047 100644 --- a/storage/ndb/src/kernel/blocks/cmvmi/Cmvmi.cpp +++ b/storage/ndb/src/kernel/blocks/cmvmi/Cmvmi.cpp @@ -1131,11 +1131,24 @@ Cmvmi::execDUMP_STATE_ORD(Signal* signal) return; } - if (dumpState->args[0] == DumpStateOrd::CmvmiSetRestartOnErrorInsert){ + if (dumpState->args[0] == DumpStateOrd::CmvmiSetRestartOnErrorInsert) + { if(signal->getLength() == 1) - m_ctx.m_config.setRestartOnErrorInsert((int)NRT_NoStart_Restart); + { + Uint32 val = (Uint32)NRT_NoStart_Restart; + const ndb_mgm_configuration_iterator * p = + m_ctx.m_config.getOwnConfigIterator(); + ndbrequire(p != 0); + + if(!ndb_mgm_get_int_parameter(p, CFG_DB_STOP_ON_ERROR_INSERT, &val)) + { + m_ctx.m_config.setRestartOnErrorInsert(val); + } + } else + { m_ctx.m_config.setRestartOnErrorInsert(signal->theData[1]); + } } if (dumpState->args[0] == DumpStateOrd::CmvmiTestLongSigWithDelay) { diff --git a/storage/ndb/test/ndbapi/testNodeRestart.cpp b/storage/ndb/test/ndbapi/testNodeRestart.cpp index 382047aac5a..ba195290e9e 100644 --- a/storage/ndb/test/ndbapi/testNodeRestart.cpp +++ b/storage/ndb/test/ndbapi/testNodeRestart.cpp @@ -433,6 +433,11 @@ int runBug15587(NDBT_Context* ctx, NDBT_Step* step){ if (restarter.waitNodesNoStart(&nodeId, 1)) return NDBT_FAILED; + int val2[] = { DumpStateOrd::CmvmiSetRestartOnErrorInsert, 1 }; + + if (restarter.dumpStateOneNode(nodeId, val2, 2)) + return NDBT_FAILED; + if (restarter.dumpStateOneNode(nodeId, dump, 2)) return NDBT_FAILED; @@ -444,6 +449,9 @@ int runBug15587(NDBT_Context* ctx, NDBT_Step* step){ if (restarter.waitNodesNoStart(&nodeId, 1)) return NDBT_FAILED; + if (restarter.dumpStateOneNode(nodeId, val2, 1)) + return NDBT_FAILED; + if (restarter.startNodes(&nodeId, 1)) return NDBT_FAILED; @@ -626,6 +634,10 @@ runBug18414(NDBT_Context* ctx, NDBT_Step* step){ goto err; } + int val2[] = { DumpStateOrd::CmvmiSetRestartOnErrorInsert, 1 }; + if (restarter.dumpStateOneNode(node2, val2, 2)) + goto err; + if (restarter.insertErrorInNode(node2, 5003)) goto err; diff --git a/storage/ndb/test/src/NdbBackup.cpp b/storage/ndb/test/src/NdbBackup.cpp index 588f785c5a3..42ebf31fc47 100644 --- a/storage/ndb/test/src/NdbBackup.cpp +++ b/storage/ndb/test/src/NdbBackup.cpp @@ -291,8 +291,8 @@ NdbBackup::NF(NdbRestarter& _restarter, int *NFDuringBackup_codes, const int sz, << masterNodeId << endl; - int val = DumpStateOrd::CmvmiSetRestartOnErrorInsert; - CHECK(_restarter.dumpStateOneNode(nodeId, &val, 1) == 0, + int val[] = { DumpStateOrd::CmvmiSetRestartOnErrorInsert, 1 }; + CHECK(_restarter.dumpStateOneNode(nodeId, val, 2) == 0, "failed to set RestartOnErrorInsert"); CHECK(_restarter.insertErrorInNode(nodeId, error) == 0, "failed to set error insert"); diff --git a/storage/ndb/test/src/NdbRestarts.cpp b/storage/ndb/test/src/NdbRestarts.cpp index c0f31af84ce..eea4af437c4 100644 --- a/storage/ndb/test/src/NdbRestarts.cpp +++ b/storage/ndb/test/src/NdbRestarts.cpp @@ -641,8 +641,8 @@ int restartNFDuringNR(NdbRestarter& _restarter, CHECK(_restarter.waitNodesNoStart(&nodeId, 1) == 0, "waitNodesNoStart failed"); - int val = DumpStateOrd::CmvmiSetRestartOnErrorInsert; - CHECK(_restarter.dumpStateOneNode(nodeId, &val, 1) == 0, + int val[] = { DumpStateOrd::CmvmiSetRestartOnErrorInsert, 1 } ; + CHECK(_restarter.dumpStateOneNode(nodeId, val, 2) == 0, "failed to set RestartOnErrorInsert"); CHECK(_restarter.insertErrorInNode(nodeId, error) == 0, @@ -698,8 +698,8 @@ int restartNFDuringNR(NdbRestarter& _restarter, CHECK(_restarter.waitNodesNoStart(&nodeId, 1) == 0, "waitNodesNoStart failed"); - int val = DumpStateOrd::CmvmiSetRestartOnErrorInsert; - CHECK(_restarter.dumpStateOneNode(crashNodeId, &val, 2) == 0, + int val[] = { DumpStateOrd::CmvmiSetRestartOnErrorInsert, 1 }; + CHECK(_restarter.dumpStateOneNode(crashNodeId, val, 2) == 0, "failed to set RestartOnErrorInsert"); CHECK(_restarter.insertErrorInNode(crashNodeId, error) == 0, @@ -771,8 +771,8 @@ int restartNodeDuringLCP(NdbRestarter& _restarter, << " error code = " << error << endl; { - int val = DumpStateOrd::CmvmiSetRestartOnErrorInsert; - CHECK(_restarter.dumpStateAllNodes(&val, 1) == 0, + int val[] = { DumpStateOrd::CmvmiSetRestartOnErrorInsert, 1 }; + CHECK(_restarter.dumpStateAllNodes(val, 2) == 0, "failed to set RestartOnErrorInsert"); } @@ -812,8 +812,8 @@ int restartNodeDuringLCP(NdbRestarter& _restarter, ndbout << _restart->m_name << " restarting non-master node = " << nodeId << " error code = " << error << endl; - int val = DumpStateOrd::CmvmiSetRestartOnErrorInsert; - CHECK(_restarter.dumpStateAllNodes(&val, 1) == 0, + int val[] = { DumpStateOrd::CmvmiSetRestartOnErrorInsert, 1 }; + CHECK(_restarter.dumpStateAllNodes(val, 2) == 0, "failed to set RestartOnErrorInsert"); CHECK(_restarter.insertErrorInNode(nodeId, error) == 0, |