|
|
|
@ -963,12 +963,62 @@ int runBug24717(NDBT_Context* ctx, NDBT_Step* step){ |
|
|
|
|
|
|
|
restarter.startNodes(&nodeId, 1); |
|
|
|
|
|
|
|
for (Uint32 i = 0; i < 100; i++) |
|
|
|
{ |
|
|
|
hugoTrans.pkReadRecords(pNdb, 100, 1, NdbOperation::LM_CommittedRead); |
|
|
|
} |
|
|
|
do { |
|
|
|
for (Uint32 i = 0; i < 100; i++) |
|
|
|
{ |
|
|
|
hugoTrans.pkReadRecords(pNdb, 100, 1, NdbOperation::LM_CommittedRead); |
|
|
|
} |
|
|
|
} while (restarter.waitClusterStarted(5) != 0); |
|
|
|
} |
|
|
|
|
|
|
|
return NDBT_OK; |
|
|
|
} |
|
|
|
|
|
|
|
int |
|
|
|
runBug29364(NDBT_Context* ctx, NDBT_Step* step){ |
|
|
|
int result = NDBT_OK; |
|
|
|
int loops = ctx->getNumLoops(); |
|
|
|
int records = ctx->getNumRecords(); |
|
|
|
NdbRestarter restarter; |
|
|
|
Ndb* pNdb = GETNDB(step); |
|
|
|
|
|
|
|
HugoTransactions hugoTrans(*ctx->getTab()); |
|
|
|
|
|
|
|
if (restarter.getNumDbNodes() < 4) |
|
|
|
return NDBT_OK; |
|
|
|
|
|
|
|
int dump0[] = { 9000, 0 } ; |
|
|
|
int dump1[] = { 9001, 0 } ; |
|
|
|
Uint32 ownNode = refToNode(pNdb->getReference()); |
|
|
|
dump0[1] = ownNode; |
|
|
|
|
|
|
|
for (; loops; loops --) |
|
|
|
{ |
|
|
|
int node0 = restarter.getDbNodeId(rand() % restarter.getNumDbNodes()); |
|
|
|
int node1 = restarter.getRandomNodeOtherNodeGroup(node0, rand()); |
|
|
|
|
|
|
|
restarter.restartOneDbNode(node0, false, true, true); |
|
|
|
restarter.waitNodesNoStart(&node0, 1); |
|
|
|
restarter.startNodes(&node0, 1); |
|
|
|
restarter.waitClusterStarted(); |
|
|
|
|
|
|
|
restarter.restartOneDbNode(node1, false, true, true); |
|
|
|
restarter.waitNodesNoStart(&node1, 1); |
|
|
|
if (restarter.dumpStateOneNode(node1, dump0, 2)) |
|
|
|
return NDBT_FAILED; |
|
|
|
|
|
|
|
restarter.startNodes(&node1, 1); |
|
|
|
|
|
|
|
do { |
|
|
|
|
|
|
|
for (Uint32 i = 0; i < 100; i++) |
|
|
|
{ |
|
|
|
hugoTrans.pkReadRecords(pNdb, 100, 1, NdbOperation::LM_CommittedRead); |
|
|
|
} |
|
|
|
} while (restarter.waitClusterStarted(5) != 0); |
|
|
|
|
|
|
|
if (restarter.dumpStateOneNode(node1, dump1, 1)) |
|
|
|
return NDBT_FAILED; |
|
|
|
} |
|
|
|
|
|
|
|
return NDBT_OK; |
|
|
|
@ -2075,6 +2125,9 @@ TESTCASE("Bug28023", ""){ |
|
|
|
TESTCASE("Bug28717", ""){ |
|
|
|
INITIALIZER(runBug28717); |
|
|
|
} |
|
|
|
TESTCASE("Bug29364", ""){ |
|
|
|
INITIALIZER(runBug29364); |
|
|
|
} |
|
|
|
NDBT_TESTSUITE_END(testNodeRestart); |
|
|
|
|
|
|
|
int main(int argc, const char** argv){ |
|
|
|
|