mirror of
https://github.com/MariaDB/server.git
synced 2025-01-17 04:22:27 +01:00
Merge whalegate.ndb.mysql.com:/home/tomas/mysql-5.1-new-ndb
into whalegate.ndb.mysql.com:/home/tomas/mysql-5.1-new-rpl storage/ndb/test/run-test/daily-basic-tests.txt: Auto merged
This commit is contained in:
commit
48782e344c
4 changed files with 86 additions and 9 deletions
|
@ -11794,6 +11794,13 @@ void Dblqh::sendLCP_COMPLETE_REP(Signal* signal, Uint32 lcpId)
|
|||
jam();
|
||||
sendEMPTY_LCP_CONF(signal, true);
|
||||
}
|
||||
|
||||
if (getNodeState().getNodeRestartInProgress())
|
||||
{
|
||||
jam();
|
||||
ndbrequire(cstartRecReq == 2);
|
||||
cstartRecReq = 3;
|
||||
}
|
||||
return;
|
||||
|
||||
}//Dblqh::sendCOMP_LCP_ROUND()
|
||||
|
@ -12064,15 +12071,27 @@ void Dblqh::execGCP_SAVEREQ(Signal* signal)
|
|||
}//if
|
||||
|
||||
ndbrequire(ccurrentGcprec == RNIL);
|
||||
ccurrentGcprec = 0;
|
||||
gcpPtr.i = ccurrentGcprec;
|
||||
ptrCheckGuard(gcpPtr, cgcprecFileSize, gcpRecord);
|
||||
|
||||
cnewestCompletedGci = gci;
|
||||
if (gci > cnewestGci) {
|
||||
jam();
|
||||
cnewestGci = gci;
|
||||
}//if
|
||||
|
||||
if(getNodeState().getNodeRestartInProgress() && cstartRecReq < 3)
|
||||
{
|
||||
GCPSaveRef * const saveRef = (GCPSaveRef*)&signal->theData[0];
|
||||
saveRef->dihPtr = dihPtr;
|
||||
saveRef->nodeId = getOwnNodeId();
|
||||
saveRef->gci = gci;
|
||||
saveRef->errorCode = GCPSaveRef::NodeRestartInProgress;
|
||||
sendSignal(dihBlockRef, GSN_GCP_SAVEREF, signal,
|
||||
GCPSaveRef::SignalLength, JBB);
|
||||
return;
|
||||
}
|
||||
|
||||
ccurrentGcprec = 0;
|
||||
gcpPtr.i = ccurrentGcprec;
|
||||
ptrCheckGuard(gcpPtr, cgcprecFileSize, gcpRecord);
|
||||
|
||||
gcpPtr.p->gcpBlockref = dihBlockRef;
|
||||
gcpPtr.p->gcpUserptr = dihPtr;
|
||||
|
|
|
@ -10235,6 +10235,7 @@ void Dbtc::inithost(Signal* signal)
|
|||
hostptr.p->noOfWordsTCINDXCONF = 0;
|
||||
hostptr.p->noOfPackedWordsLqh = 0;
|
||||
hostptr.p->hostLqhBlockRef = calcLqhBlockRef(hostptr.i);
|
||||
hostptr.p->m_nf_bits = 0;
|
||||
}//for
|
||||
c_alive_nodes.clear();
|
||||
}//Dbtc::inithost()
|
||||
|
|
|
@ -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){
|
||||
|
|
|
@ -569,6 +569,10 @@ max-time: 1000
|
|||
cmd: testNodeRestart
|
||||
args: -n Bug28023 T7 D2
|
||||
|
||||
max-time: 1000
|
||||
cmd: testNodeRestart
|
||||
args: -n Bug29364 T1
|
||||
|
||||
#
|
||||
# DICT TESTS
|
||||
max-time: 1500
|
||||
|
|
Loading…
Reference in a new issue