mirror of
https://github.com/MariaDB/server.git
synced 2025-07-30 16:24:05 +03:00
ndb - bug#24447
api disconnect just after SCAN_TABREQ ndb/src/kernel/blocks/dbtc/DbtcMain.cpp: 1) add error insert for faking DISCONNECT of API just after SCAN_TABREQ 2) handle error :-) ndb/test/ndbapi/testScan.cpp: Add etstcase for bug 24447 ndb/test/run-test/daily-basic-tests.txt: Add etstcase for bug 24447
This commit is contained in:
@ -622,7 +622,7 @@ int runRestarter(NDBT_Context* ctx, NDBT_Step* step){
|
||||
|
||||
int nodeId = restarter.getDbNodeId(lastId);
|
||||
lastId = (lastId + 1) % restarter.getNumDbNodes();
|
||||
if(restarter.restartOneDbNode(nodeId) != 0){
|
||||
if(restarter.restartOneDbNode(nodeId, false, false, true) != 0){
|
||||
g_err << "Failed to restartNextDbNode" << endl;
|
||||
result = NDBT_FAILED;
|
||||
break;
|
||||
@ -1080,6 +1080,39 @@ int runScanRestart(NDBT_Context* ctx, NDBT_Step* step){
|
||||
}
|
||||
|
||||
|
||||
int
|
||||
runBug24447(NDBT_Context* ctx, NDBT_Step* step){
|
||||
int loops = 1; //ctx->getNumLoops();
|
||||
int records = ctx->getNumRecords();
|
||||
int abort = ctx->getProperty("AbortProb", 15);
|
||||
NdbRestarter restarter;
|
||||
HugoTransactions hugoTrans(*ctx->getTab());
|
||||
int i = 0;
|
||||
while (i<loops && !ctx->isTestStopped())
|
||||
{
|
||||
g_info << i++ << ": ";
|
||||
|
||||
int nodeId = restarter.getRandomNotMasterNodeId(rand());
|
||||
if (nodeId == -1)
|
||||
nodeId = restarter.getMasterNodeId();
|
||||
if (restarter.insertErrorInNode(nodeId, 8038) != 0)
|
||||
{
|
||||
ndbout << "Could not insert error in node="<<nodeId<<endl;
|
||||
return NDBT_FAILED;
|
||||
}
|
||||
|
||||
for (Uint32 j = 0; i<10; i++)
|
||||
{
|
||||
hugoTrans.scanReadRecords(GETNDB(step), records, abort, 0,
|
||||
NdbOperation::LM_CommittedRead);
|
||||
}
|
||||
|
||||
}
|
||||
restarter.insertErrorInAllNodes(0);
|
||||
|
||||
return NDBT_OK;
|
||||
}
|
||||
|
||||
NDBT_TESTSUITE(testScan);
|
||||
TESTCASE("ScanRead",
|
||||
"Verify scan requirement: It should be possible "\
|
||||
@ -1540,6 +1573,12 @@ TESTCASE("ScanRestart",
|
||||
STEP(runScanRestart);
|
||||
FINALIZER(runClearTable);
|
||||
}
|
||||
TESTCASE("Bug24447",
|
||||
""){
|
||||
INITIALIZER(runLoadTable);
|
||||
STEP(runBug24447);
|
||||
FINALIZER(runClearTable);
|
||||
}
|
||||
NDBT_TESTSUITE_END(testScan);
|
||||
|
||||
int main(int argc, const char** argv){
|
||||
|
Reference in New Issue
Block a user