mirror of
https://github.com/MariaDB/server.git
synced 2025-09-02 09:41:40 +03:00
Merge perch.ndb.mysql.com:/home/jonas/src/51-telco-gca
into perch.ndb.mysql.com:/home/jonas/src/51-ndb storage/ndb/src/kernel/blocks/ERROR_codes.txt: Auto merged storage/ndb/src/kernel/blocks/suma/Suma.cpp: Auto merged storage/ndb/test/run-test/daily-basic-tests.txt: merge
This commit is contained in:
@@ -11,7 +11,7 @@ Next CMVMI 9000
|
|||||||
Next BACKUP 10038
|
Next BACKUP 10038
|
||||||
Next DBUTIL 11002
|
Next DBUTIL 11002
|
||||||
Next DBTUX 12008
|
Next DBTUX 12008
|
||||||
Next SUMA 13034
|
Next SUMA 13036
|
||||||
|
|
||||||
TESTING NODE FAILURE, ARBITRATION
|
TESTING NODE FAILURE, ARBITRATION
|
||||||
---------------------------------
|
---------------------------------
|
||||||
|
@@ -4908,6 +4908,21 @@ Suma::release_gci(Signal* signal, Uint32 buck, Uint32 gci)
|
|||||||
if(gci >= head.m_max_gci)
|
if(gci >= head.m_max_gci)
|
||||||
{
|
{
|
||||||
jam();
|
jam();
|
||||||
|
if (ERROR_INSERTED(13034))
|
||||||
|
{
|
||||||
|
jam();
|
||||||
|
SET_ERROR_INSERT_VALUE(13035);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if (ERROR_INSERTED(13035))
|
||||||
|
{
|
||||||
|
CLEAR_ERROR_INSERT_VALUE;
|
||||||
|
NodeReceiverGroup rg(CMVMI, c_nodes_in_nodegroup_mask);
|
||||||
|
rg.m_nodes.clear(getOwnNodeId());
|
||||||
|
signal->theData[0] = 9999;
|
||||||
|
sendSignal(rg, GSN_NDB_TAMPER, signal, 1, JBA);
|
||||||
|
return;
|
||||||
|
}
|
||||||
head.m_page_pos = 0;
|
head.m_page_pos = 0;
|
||||||
head.m_max_gci = gci;
|
head.m_max_gci = gci;
|
||||||
head.m_last_gci = 0;
|
head.m_last_gci = 0;
|
||||||
@@ -4979,7 +4994,6 @@ Suma::start_resend(Signal* signal, Uint32 buck)
|
|||||||
|
|
||||||
if(min > max)
|
if(min > max)
|
||||||
{
|
{
|
||||||
ndbrequire(pos.m_page_pos <= 2);
|
|
||||||
ndbrequire(pos.m_page_id == bucket->m_buffer_tail);
|
ndbrequire(pos.m_page_id == bucket->m_buffer_tail);
|
||||||
m_active_buckets.set(buck);
|
m_active_buckets.set(buck);
|
||||||
m_gcp_complete_rep_count ++;
|
m_gcp_complete_rep_count ++;
|
||||||
|
@@ -1838,6 +1838,61 @@ runBug31701(NDBT_Context* ctx, NDBT_Step* step)
|
|||||||
return NDBT_OK;
|
return NDBT_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int
|
||||||
|
runBug33793(NDBT_Context* ctx, NDBT_Step* step)
|
||||||
|
{
|
||||||
|
int result = NDBT_OK;
|
||||||
|
int loops = ctx->getNumLoops();
|
||||||
|
|
||||||
|
NdbRestarter restarter;
|
||||||
|
|
||||||
|
if (restarter.getNumDbNodes() < 2){
|
||||||
|
ctx->stopTest();
|
||||||
|
return NDBT_OK;
|
||||||
|
}
|
||||||
|
// This should really wait for applier to start...10s is likely enough
|
||||||
|
NdbSleep_SecSleep(10);
|
||||||
|
|
||||||
|
while (loops-- && ctx->isTestStopped() == false)
|
||||||
|
{
|
||||||
|
int nodeId = restarter.getDbNodeId(rand() % restarter.getNumDbNodes());
|
||||||
|
int nodecount = 0;
|
||||||
|
int nodes[255];
|
||||||
|
printf("nodeid: %u : victims: ", nodeId);
|
||||||
|
for (int i = 0; i<restarter.getNumDbNodes(); i++)
|
||||||
|
{
|
||||||
|
int id = restarter.getDbNodeId(i);
|
||||||
|
if (id == nodeId)
|
||||||
|
continue;
|
||||||
|
|
||||||
|
if (restarter.getNodeGroup(id) == restarter.getNodeGroup(nodeId))
|
||||||
|
{
|
||||||
|
nodes[nodecount++] = id;
|
||||||
|
printf("%u ", id);
|
||||||
|
int val2[] = { DumpStateOrd::CmvmiSetRestartOnErrorInsert, 1 };
|
||||||
|
if (restarter.dumpStateOneNode(id, val2, 2))
|
||||||
|
return NDBT_FAILED;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
printf("\n"); fflush(stdout);
|
||||||
|
|
||||||
|
restarter.insertErrorInNode(nodeId, 13034);
|
||||||
|
if (restarter.waitNodesNoStart(nodes, nodecount))
|
||||||
|
return NDBT_FAILED;
|
||||||
|
|
||||||
|
if (restarter.startNodes(nodes, nodecount))
|
||||||
|
return NDBT_FAILED;
|
||||||
|
|
||||||
|
if (restarter.waitClusterStarted())
|
||||||
|
return NDBT_FAILED;
|
||||||
|
}
|
||||||
|
|
||||||
|
ctx->stopTest();
|
||||||
|
return NDBT_OK;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
NDBT_TESTSUITE(test_event);
|
NDBT_TESTSUITE(test_event);
|
||||||
TESTCASE("BasicEventOperation",
|
TESTCASE("BasicEventOperation",
|
||||||
"Verify that we can listen to Events"
|
"Verify that we can listen to Events"
|
||||||
@@ -1975,6 +2030,12 @@ TESTCASE("Bug31701", ""){
|
|||||||
FINALIZER(runDropEvent);
|
FINALIZER(runDropEvent);
|
||||||
FINALIZER(runDropShadowTable);
|
FINALIZER(runDropShadowTable);
|
||||||
}
|
}
|
||||||
|
TESTCASE("Bug33793", ""){
|
||||||
|
INITIALIZER(runCreateEvent);
|
||||||
|
STEP(runEventListenerUntilStopped);
|
||||||
|
STEP(runBug33793);
|
||||||
|
FINALIZER(runDropEvent);
|
||||||
|
}
|
||||||
NDBT_TESTSUITE_END(test_event);
|
NDBT_TESTSUITE_END(test_event);
|
||||||
|
|
||||||
int main(int argc, const char** argv){
|
int main(int argc, const char** argv){
|
||||||
|
@@ -1046,3 +1046,7 @@ max-time: 300
|
|||||||
cmd: testSystemRestart
|
cmd: testSystemRestart
|
||||||
args: -n Bug22696 T1
|
args: -n Bug22696 T1
|
||||||
|
|
||||||
|
max-time: 300
|
||||||
|
cmd: test_event
|
||||||
|
args: -n Bug33793 T1
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user