diff options
author | unknown <jonas@perch.ndb.mysql.com> | 2006-08-09 16:24:14 +0200 |
---|---|---|
committer | unknown <jonas@perch.ndb.mysql.com> | 2006-08-09 16:24:14 +0200 |
commit | 3d7cb87b00e9ee3930efc101d429817ec63da93b (patch) | |
tree | c6c28acbfd9932530aae9ba6d2f9330c1b2f0d02 /ndb/test | |
parent | 6e5ad6914e14809ffc0816df7de214ff5d2337b8 (diff) | |
download | mariadb-git-3d7cb87b00e9ee3930efc101d429817ec63da93b.tar.gz |
ndb - bug#21536
Make sure updateNodeInfo is run on master also for temporary tables
ndb/src/kernel/blocks/dbdih/DbdihMain.cpp:
Run update nodeinfo also here to handle
temprorary tables in some situations
ndb/src/kernel/blocks/ndbcntr/NdbcntrMain.cpp:
new error insert
ndb/test/ndbapi/testSystemRestart.cpp:
test case
Diffstat (limited to 'ndb/test')
-rw-r--r-- | ndb/test/ndbapi/testSystemRestart.cpp | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/ndb/test/ndbapi/testSystemRestart.cpp b/ndb/test/ndbapi/testSystemRestart.cpp index 30f7aca9b06..8a0100ff3e4 100644 --- a/ndb/test/ndbapi/testSystemRestart.cpp +++ b/ndb/test/ndbapi/testSystemRestart.cpp @@ -1121,6 +1121,46 @@ int runClearTable(NDBT_Context* ctx, NDBT_Step* step){ return NDBT_OK; } +int +runBug21536(NDBT_Context* ctx, NDBT_Step* step) +{ + NdbRestarter restarter; + const Uint32 nodeCount = restarter.getNumDbNodes(); + if(nodeCount != 2){ + g_info << "Bug21536 - 2 nodes to test" << endl; + return NDBT_OK; + } + + int node1 = restarter.getDbNodeId(rand() % nodeCount); + int node2 = restarter.getRandomNodeSameNodeGroup(node1, rand()); + + if (node1 == -1 || node2 == -1) + return NDBT_OK; + + int result = NDBT_OK; + do { + CHECK(restarter.restartOneDbNode(node1, false, true, true) == 0); + CHECK(restarter.waitNodesNoStart(&node1, 1) == 0); + CHECK(restarter.insertErrorInNode(node1, 1000) == 0); + int val2[] = { DumpStateOrd::CmvmiSetRestartOnErrorInsert, 1 }; + CHECK(restarter.dumpStateOneNode(node1, val2, 2) == 0); + CHECK(restarter.startNodes(&node1, 1) == 0); + restarter.waitNodesStartPhase(&node1, 1, 3, 120); + CHECK(restarter.waitNodesNoStart(&node1, 1) == 0); + + CHECK(restarter.restartOneDbNode(node2, true, true, true) == 0); + CHECK(restarter.waitNodesNoStart(&node2, 1) == 0); + CHECK(restarter.startNodes(&node1, 1) == 0); + CHECK(restarter.waitNodesStarted(&node1, 1) == 0); + CHECK(restarter.startNodes(&node2, 1) == 0); + CHECK(restarter.waitClusterStarted() == 0); + + } while(0); + + g_info << "Bug21536 finished" << endl; + + return result; +} NDBT_TESTSUITE(testSystemRestart); TESTCASE("SR1", @@ -1287,6 +1327,13 @@ TESTCASE("Bug18385", STEP(runBug18385); FINALIZER(runClearTable); } +TESTCASE("Bug21536", + "Perform partition system restart with other nodes with higher GCI"){ + INITIALIZER(runWaitStarted); + INITIALIZER(runClearTable); + STEP(runBug21536); + FINALIZER(runClearTable); +} NDBT_TESTSUITE_END(testSystemRestart); int main(int argc, const char** argv){ |