Below is the list of changes that have just been committed into a local
5.1 repository of jonas. When jonas does a push these changes will
be propagated to the main repository and, within 24 hours after the
push, to the public repository.
For information on how to access the public repository
see http://dev.mysql.com/doc/mysql/en/installing-source-tree.html
ChangeSet@stripped, 2007-09-29 11:10:12+02:00, jonas@stripped +2 -0
ndb - bug#30975
add even more tests
storage/ndb/test/ndbapi/testSystemRestart.cpp@stripped, 2007-09-29 11:10:09+02:00,
jonas@stripped +109 -21
add more tests...
storage/ndb/test/run-test/daily-basic-tests.txt@stripped, 2007-09-29 11:10:09+02:00,
jonas@stripped +32 -0
add more tests
# This is a BitKeeper patch. What follows are the unified diffs for the
# set of deltas contained in the patch. The rest of the patch, the part
# that BitKeeper cares about, is below these diffs.
# User: jonas
# Host: perch.ndb.mysql.com
# Root: /home/jonas/src/51-telco-gca
--- 1.79/storage/ndb/test/run-test/daily-basic-tests.txt 2007-09-29 11:10:17 +02:00
+++ 1.80/storage/ndb/test/run-test/daily-basic-tests.txt 2007-09-29 11:10:17 +02:00
@@ -876,29 +876,61 @@
max-time: 1500
cmd: testSystemRestart
+args: -n SR_DD_1b D1
+
+max-time: 1500
+cmd: testSystemRestart
args: -n SR_DD_1 D2
max-time: 1500
cmd: testSystemRestart
+args: -n SR_DD_1b D2
+
+max-time: 1500
+cmd: testSystemRestart
args: -n SR_DD_1_LCP D1
max-time: 1500
cmd: testSystemRestart
+args: -n SR_DD_1b_LCP D1
+
+max-time: 1500
+cmd: testSystemRestart
args: -n SR_DD_1_LCP D2
max-time: 1500
cmd: testSystemRestart
+args: -n SR_DD_1b_LCP D2
+
+max-time: 1500
+cmd: testSystemRestart
args: -n SR_DD_2 D1
max-time: 1500
cmd: testSystemRestart
+args: -n SR_DD_2b D1
+
+max-time: 1500
+cmd: testSystemRestart
args: -n SR_DD_2 D2
max-time: 1500
cmd: testSystemRestart
+args: -n SR_DD_2b D2
+
+max-time: 1500
+cmd: testSystemRestart
args: -n SR_DD_2_LCP D1
max-time: 1500
cmd: testSystemRestart
+args: -n SR_DD_2b_LCP D1
+
+max-time: 1500
+cmd: testSystemRestart
args: -n SR_DD_2_LCP D2
+
+max-time: 1500
+cmd: testSystemRestart
+args: -n SR_DD_2b_LCP D2
--- 1.14/storage/ndb/test/ndbapi/testSystemRestart.cpp 2007-09-29 11:10:17 +02:00
+++ 1.15/storage/ndb/test/ndbapi/testSystemRestart.cpp 2007-09-29 11:10:17 +02:00
@@ -1220,6 +1220,30 @@
return result;
}
+int
+runStopper(NDBT_Context* ctx, NDBT_Step* step)
+{
+ NdbRestarter restarter;
+ Uint32 stop = 0;
+loop:
+ while (!ctx->isTestStopped() &&
+ ((stop = ctx->getProperty("StopAbort", Uint32(0))) == 0))
+ {
+ NdbSleep_MilliSleep(30);
+ }
+
+ if (ctx->isTestStopped())
+ {
+ return NDBT_OK;
+ }
+
+ ndbout << "Killing in " << stop << "ms..." << flush;
+ NdbSleep_MilliSleep(stop);
+ restarter.restartAll(false, true, true);
+ ctx->setProperty("StopAbort", Uint32(0));
+ goto loop;
+}
+
int runSR_DD_1(NDBT_Context* ctx, NDBT_Step* step)
{
Ndb* pNdb = GETNDB(step);
@@ -1229,6 +1253,7 @@
NdbRestarter restarter;
NdbBackup backup(GETNDB(step)->getNodeId()+1);
bool lcploop = ctx->getProperty("LCP", (unsigned)0);
+ bool all = ctx->getProperty("ALL", (unsigned)0);
Uint32 i = 1;
Uint32 backupId;
@@ -1254,11 +1279,18 @@
ndbout << "Loading records..." << startFrom << endl;
CHECK(hugoTrans.loadTable(pNdb, startFrom) == 0);
- ndbout << "Making " << nodeId << " crash" << endl;
- int kill[] = { 9999, 1000, 3000 };
- CHECK(restarter.dumpStateOneNode(nodeId, val, 2) == 0);
- CHECK(restarter.dumpStateOneNode(nodeId, kill, 3) == 0);
-
+ if (!all)
+ {
+ ndbout << "Making " << nodeId << " crash" << endl;
+ int kill[] = { 9999, 1000, 3000 };
+ CHECK(restarter.dumpStateOneNode(nodeId, val, 2) == 0);
+ CHECK(restarter.dumpStateOneNode(nodeId, kill, 3) == 0);
+ }
+ else
+ {
+ ndbout << "Crashing cluster" << endl;
+ ctx->setProperty("StopAbort", 1000 + rand() % (3000 - 1000));
+ }
Uint64 end = NdbTick_CurrentMillisecond() + 4000;
Uint32 row = startFrom;
do {
@@ -1268,11 +1300,17 @@
row += 1000;
} while (NdbTick_CurrentMillisecond() < end);
- ndbout << "Waiting for " << nodeId << " to restart" << endl;
- CHECK(restarter.waitNodesNoStart(&nodeId, 1) == 0);
-
- ndbout << "Restarting cluster" << endl;
- CHECK(restarter.restartAll(false, true, true) == 0);
+ if (!all)
+ {
+ ndbout << "Waiting for " << nodeId << " to restart" <<
endl;
+ CHECK(restarter.waitNodesNoStart(&nodeId, 1) == 0);
+ ndbout << "Restarting cluster" << endl;
+ CHECK(restarter.restartAll(false, true, true) == 0);
+ }
+ else
+ {
+ ndbout << "Waiting for cluster to restart" << endl;
+ }
CHECK(restarter.waitClusterNoStart() == 0);
CHECK(restarter.startAll() == 0);
CHECK(restarter.waitClusterStarted() == 0);
@@ -1297,7 +1335,7 @@
}
ndbout << "runSR_DD_1 finished" << endl;
-
+ ctx->stopTest();
return result;
}
@@ -1311,6 +1349,7 @@
NdbRestarter restarter;
NdbBackup backup(GETNDB(step)->getNodeId()+1);
bool lcploop = ctx->getProperty("LCP", (unsigned)0);
+ bool all = ctx->getProperty("ALL", (unsigned)0);
Uint32 i = 1;
Uint32 backupId;
@@ -1331,10 +1370,18 @@
int nodeId = restarter.getDbNodeId(rand() % restarter.getNumDbNodes());
- ndbout << "Making " << nodeId << " crash" << endl;
- int kill[] = { 9999, 3000, 10000 };
- CHECK(restarter.dumpStateOneNode(nodeId, val, 2) == 0);
- CHECK(restarter.dumpStateOneNode(nodeId, kill, 3) == 0);
+ if (!all)
+ {
+ ndbout << "Making " << nodeId << " crash" << endl;
+ int kill[] = { 9999, 3000, 10000 };
+ CHECK(restarter.dumpStateOneNode(nodeId, val, 2) == 0);
+ CHECK(restarter.dumpStateOneNode(nodeId, kill, 3) == 0);
+ }
+ else
+ {
+ ndbout << "Crashing cluster" << endl;
+ ctx->setProperty("StopAbort", 1000 + rand() % (3000 - 1000));
+ }
Uint64 end = NdbTick_CurrentMillisecond() + 11000;
Uint32 row = startFrom;
@@ -1346,11 +1393,18 @@
break;
} while (NdbTick_CurrentMillisecond() < end);
- ndbout << "Waiting for " << nodeId << " to restart" << endl;
- CHECK(restarter.waitNodesNoStart(&nodeId, 1) == 0);
-
- ndbout << "Restarting cluster" << endl;
- CHECK(restarter.restartAll(false, true, true) == 0);
+ if (!all)
+ {
+ ndbout << "Waiting for " << nodeId << " to restart" <<
endl;
+ CHECK(restarter.waitNodesNoStart(&nodeId, 1) == 0);
+ ndbout << "Restarting cluster" << endl;
+ CHECK(restarter.restartAll(false, true, true) == 0);
+ }
+ else
+ {
+ ndbout << "Waiting for cluster to restart" << endl;
+ }
+
CHECK(restarter.waitClusterNoStart() == 0);
CHECK(restarter.startAll() == 0);
CHECK(restarter.waitClusterStarted() == 0);
@@ -1369,7 +1423,7 @@
}
ndbout << "runSR_DD_2 finished" << endl;
-
+ ctx->stopTest();
return result;
}
@@ -1555,12 +1609,29 @@
}
TESTCASE("SR_DD_1", "")
{
+ TC_PROPERTY("ALL", 1);
+ INITIALIZER(runWaitStarted);
+ STEP(runStopper);
+ STEP(runSR_DD_1);
+ FINALIZER(runClearTable);
+}
+TESTCASE("SR_DD_1b", "")
+{
INITIALIZER(runWaitStarted);
STEP(runSR_DD_1);
FINALIZER(runClearTable);
}
TESTCASE("SR_DD_1_LCP", "")
{
+ TC_PROPERTY("ALL", 1);
+ TC_PROPERTY("LCP", 1);
+ INITIALIZER(runWaitStarted);
+ STEP(runStopper);
+ STEP(runSR_DD_1);
+ FINALIZER(runClearTable);
+}
+TESTCASE("SR_DD_1b_LCP", "")
+{
TC_PROPERTY("LCP", 1);
INITIALIZER(runWaitStarted);
STEP(runSR_DD_1);
@@ -1568,11 +1639,28 @@
}
TESTCASE("SR_DD_2", "")
{
+ TC_PROPERTY("ALL", 1);
+ INITIALIZER(runWaitStarted);
+ STEP(runStopper);
+ STEP(runSR_DD_2);
+ FINALIZER(runClearTable);
+}
+TESTCASE("SR_DD_2b", "")
+{
INITIALIZER(runWaitStarted);
STEP(runSR_DD_2);
FINALIZER(runClearTable);
}
TESTCASE("SR_DD_2_LCP", "")
+{
+ TC_PROPERTY("ALL", 1);
+ TC_PROPERTY("LCP", 1);
+ INITIALIZER(runWaitStarted);
+ STEP(runStopper);
+ STEP(runSR_DD_2);
+ FINALIZER(runClearTable);
+}
+TESTCASE("SR_DD_2b_LCP", "")
{
TC_PROPERTY("LCP", 1);
INITIALIZER(runWaitStarted);
| Thread |
|---|
| • bk commit into 5.1 tree (jonas:1.2511) BUG#30975 | jonas | 29 Sep |