1415
1422
return NDBT_OK;
1426
runBug27003(NDBT_Context* ctx, NDBT_Step* step)
1428
int result = NDBT_OK;
1429
int loops = ctx->getNumLoops();
1430
int records = ctx->getNumRecords();
1433
static const int errnos[] = { 4025, 4026, 4027, 4028, 0 };
1435
int node = res.getRandomNotMasterNodeId(rand());
1436
ndbout_c("node: %d", node);
1437
if (res.restartOneDbNode(node, true, true, true))
1441
for (Uint32 i = 0; i<loops; i++)
1443
while (errnos[pos] != 0)
1445
ndbout_c("Tesing err: %d", errnos[pos]);
1447
if (res.waitNodesNoStart(&node, 1))
1450
if (res.insertErrorInNode(node, 1000))
1453
if (res.insertErrorInNode(node, errnos[pos]))
1456
int val2[] = { DumpStateOrd::CmvmiSetRestartOnErrorInsert, 3 };
1457
if (res.dumpStateOneNode(node, val2, 2))
1460
res.startNodes(&node, 1);
1461
NdbSleep_SecSleep(3);
1467
if (res.waitNodesNoStart(&node, 1))
1470
res.startNodes(&node, 1);
1471
if (res.waitClusterStarted())
1479
runBug27283(NDBT_Context* ctx, NDBT_Step* step)
1481
int result = NDBT_OK;
1482
int loops = ctx->getNumLoops();
1483
int records = ctx->getNumRecords();
1486
if (res.getNumDbNodes() < 2)
1491
static const int errnos[] = { 7181, 7182, 0 };
1494
for (Uint32 i = 0; i<loops; i++)
1496
while (errnos[pos] != 0)
1498
int master = res.getMasterNodeId();
1499
int next = res.getNextMasterNodeId(master);
1500
int next2 = res.getNextMasterNodeId(next);
1502
int node = (i & 1) ? next : next2;
1503
ndbout_c("Tesing err: %d", errnos[pos]);
1504
if (res.insertErrorInNode(next, errnos[pos]))
1507
NdbSleep_SecSleep(3);
1509
if (res.waitClusterStarted())
1521
runBug27466(NDBT_Context* ctx, NDBT_Step* step)
1523
int result = NDBT_OK;
1524
int loops = ctx->getNumLoops();
1525
int records = ctx->getNumRecords();
1528
if (res.getNumDbNodes() < 2)
1534
for (Uint32 i = 0; i<loops; i++)
1536
int node1 = res.getDbNodeId(rand() % res.getNumDbNodes());
1538
while (node1 == node2)
1540
node2 = res.getDbNodeId(rand() % res.getNumDbNodes());
1543
if (res.restartOneDbNode(node1, false, true, true))
1546
if (res.waitNodesNoStart(&node1, 1))
1549
int val2[] = { DumpStateOrd::CmvmiSetRestartOnErrorInsert, 1 };
1550
if (res.dumpStateOneNode(node1, val2, 2))
1553
if (res.insertErrorInNode(node2, 8039))
1556
res.startNodes(&node1, 1);
1557
NdbSleep_SecSleep(3);
1558
if (res.waitNodesNoStart(&node1, 1))
1560
NdbSleep_SecSleep(5); // Wait for delayed INCL_NODECONF to arrive
1562
res.startNodes(&node1, 1);
1563
if (res.waitClusterStarted())
1418
1570
NDBT_TESTSUITE(testNodeRestart);
1419
1571
TESTCASE("NoLoad",
1420
1572
"Test that one node at a time can be stopped and then restarted "\
1763
1915
INITIALIZER(runLoadTable);
1764
1916
INITIALIZER(runBug26450);
1918
TESTCASE("Bug27003", ""){
1919
INITIALIZER(runBug27003);
1921
TESTCASE("Bug27283", ""){
1922
INITIALIZER(runBug27283);
1924
TESTCASE("Bug27466", ""){
1925
INITIALIZER(runBug27466);
1766
1927
NDBT_TESTSUITE_END(testNodeRestart);
1768
1929
int main(int argc, const char** argv){