summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorunknown <jonas@perch.ndb.mysql.com>2006-03-27 10:43:37 +0200
committerunknown <jonas@perch.ndb.mysql.com>2006-03-27 10:43:37 +0200
commit92bf51984ae26a7271fe548bbd3046f58bd9a651 (patch)
treefad9063426431ed4b7cd94a63ac8c4fbf152c11e
parent1a24f935d93bb29477a7d317dd6cd9850cd83c87 (diff)
parent8a76b434f98de3c99ba67f1c0444d61f359321b8 (diff)
downloadmariadb-git-92bf51984ae26a7271fe548bbd3046f58bd9a651.tar.gz
Merge perch.ndb.mysql.com:/home/jonas/src/50-work
into perch.ndb.mysql.com:/home/jonas/src/mysql-5.0
-rw-r--r--ndb/src/kernel/blocks/cmvmi/Cmvmi.cpp17
-rw-r--r--ndb/test/ndbapi/testNodeRestart.cpp12
-rw-r--r--ndb/test/src/NdbBackup.cpp4
-rw-r--r--ndb/test/src/NdbRestarts.cpp16
4 files changed, 37 insertions, 12 deletions
diff --git a/ndb/src/kernel/blocks/cmvmi/Cmvmi.cpp b/ndb/src/kernel/blocks/cmvmi/Cmvmi.cpp
index 657fc8e5896..a641a85fc91 100644
--- a/ndb/src/kernel/blocks/cmvmi/Cmvmi.cpp
+++ b/ndb/src/kernel/blocks/cmvmi/Cmvmi.cpp
@@ -1078,11 +1078,24 @@ Cmvmi::execDUMP_STATE_ORD(Signal* signal)
g_sectionSegmentPool.getNoOfFree());
}
- if (dumpState->args[0] == DumpStateOrd::CmvmiSetRestartOnErrorInsert){
+ if (dumpState->args[0] == DumpStateOrd::CmvmiSetRestartOnErrorInsert)
+ {
if(signal->getLength() == 1)
- theConfig.setRestartOnErrorInsert((int)NRT_NoStart_Restart);
+ {
+ Uint32 val = (Uint32)NRT_NoStart_Restart;
+ const ndb_mgm_configuration_iterator * p =
+ theConfig.getOwnConfigIterator();
+ ndbrequire(p != 0);
+
+ if(!ndb_mgm_get_int_parameter(p, CFG_DB_STOP_ON_ERROR_INSERT, &val))
+ {
+ theConfig.setRestartOnErrorInsert(val);
+ }
+ }
else
+ {
theConfig.setRestartOnErrorInsert(signal->theData[1]);
+ }
}
if (dumpState->args[0] == DumpStateOrd::CmvmiTestLongSigWithDelay) {
diff --git a/ndb/test/ndbapi/testNodeRestart.cpp b/ndb/test/ndbapi/testNodeRestart.cpp
index 382047aac5a..ba195290e9e 100644
--- a/ndb/test/ndbapi/testNodeRestart.cpp
+++ b/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/ndb/test/src/NdbBackup.cpp b/ndb/test/src/NdbBackup.cpp
index 9f65fe6b3bc..a9c71120d80 100644
--- a/ndb/test/src/NdbBackup.cpp
+++ b/ndb/test/src/NdbBackup.cpp
@@ -292,8 +292,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/ndb/test/src/NdbRestarts.cpp b/ndb/test/src/NdbRestarts.cpp
index c0f31af84ce..eea4af437c4 100644
--- a/ndb/test/src/NdbRestarts.cpp
+++ b/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,