Commit a3c733c3 authored by jonas@perch.ndb.mysql.com's avatar jonas@perch.ndb.mysql.com

Merge perch.ndb.mysql.com:/home/jonas/src/51-telco-gca

into  perch.ndb.mysql.com:/home/jonas/src/mysql-5.1-new-ndb
parents a2353612 627a56be
...@@ -10235,6 +10235,7 @@ void Dbtc::inithost(Signal* signal) ...@@ -10235,6 +10235,7 @@ void Dbtc::inithost(Signal* signal)
hostptr.p->noOfWordsTCINDXCONF = 0; hostptr.p->noOfWordsTCINDXCONF = 0;
hostptr.p->noOfPackedWordsLqh = 0; hostptr.p->noOfPackedWordsLqh = 0;
hostptr.p->hostLqhBlockRef = calcLqhBlockRef(hostptr.i); hostptr.p->hostLqhBlockRef = calcLqhBlockRef(hostptr.i);
hostptr.p->m_nf_bits = 0;
}//for }//for
c_alive_nodes.clear(); c_alive_nodes.clear();
}//Dbtc::inithost() }//Dbtc::inithost()
......
...@@ -963,12 +963,62 @@ int runBug24717(NDBT_Context* ctx, NDBT_Step* step){ ...@@ -963,12 +963,62 @@ int runBug24717(NDBT_Context* ctx, NDBT_Step* step){
restarter.startNodes(&nodeId, 1); restarter.startNodes(&nodeId, 1);
for (Uint32 i = 0; i < 100; i++) do {
{ for (Uint32 i = 0; i < 100; i++)
hugoTrans.pkReadRecords(pNdb, 100, 1, NdbOperation::LM_CommittedRead); {
} 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.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; return NDBT_OK;
...@@ -2075,6 +2125,9 @@ TESTCASE("Bug28023", ""){ ...@@ -2075,6 +2125,9 @@ TESTCASE("Bug28023", ""){
TESTCASE("Bug28717", ""){ TESTCASE("Bug28717", ""){
INITIALIZER(runBug28717); INITIALIZER(runBug28717);
} }
TESTCASE("Bug29364", ""){
INITIALIZER(runBug29364);
}
NDBT_TESTSUITE_END(testNodeRestart); NDBT_TESTSUITE_END(testNodeRestart);
int main(int argc, const char** argv){ int main(int argc, const char** argv){
......
...@@ -569,6 +569,10 @@ max-time: 1000 ...@@ -569,6 +569,10 @@ max-time: 1000
cmd: testNodeRestart cmd: testNodeRestart
args: -n Bug28023 T7 D2 args: -n Bug28023 T7 D2
max-time: 1000
cmd: testNodeRestart
args: -n Bug29364 T1
# #
# DICT TESTS # DICT TESTS
max-time: 1500 max-time: 1500
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment