diff options
author | unknown <jonas@perch.ndb.mysql.com> | 2007-01-19 19:00:12 +0100 |
---|---|---|
committer | unknown <jonas@perch.ndb.mysql.com> | 2007-01-19 19:00:12 +0100 |
commit | e6bb01b8a565b5919fdfb35308b74f786622e9a4 (patch) | |
tree | d7cc8c3cb19b2a2463ea32d4a6a4c633b8d464a1 /storage | |
parent | af05ac763d67079868191e1970b2ec6b0981da15 (diff) | |
parent | 4e055f3f3c976e03b8b7c25d964a857f05cdc8ba (diff) | |
download | mariadb-git-e6bb01b8a565b5919fdfb35308b74f786622e9a4.tar.gz |
Merge perch.ndb.mysql.com:/home/jonas/src/51-work
into perch.ndb.mysql.com:/home/jonas/src/mysql-5.1-new-ndb
storage/ndb/src/kernel/blocks/qmgr/QmgrMain.cpp:
Auto merged
storage/ndb/src/kernel/blocks/suma/Suma.cpp:
Auto merged
Diffstat (limited to 'storage')
-rw-r--r-- | storage/ndb/src/kernel/blocks/qmgr/QmgrMain.cpp | 5 | ||||
-rw-r--r-- | storage/ndb/src/kernel/blocks/suma/Suma.cpp | 29 |
2 files changed, 34 insertions, 0 deletions
diff --git a/storage/ndb/src/kernel/blocks/qmgr/QmgrMain.cpp b/storage/ndb/src/kernel/blocks/qmgr/QmgrMain.cpp index 22b3d5c4960..135d10410b7 100644 --- a/storage/ndb/src/kernel/blocks/qmgr/QmgrMain.cpp +++ b/storage/ndb/src/kernel/blocks/qmgr/QmgrMain.cpp @@ -2455,7 +2455,12 @@ void Qmgr::execAPI_FAILREQ(Signal* signal) // ignore if api not active if (failedNodePtr.p->phase != ZAPI_ACTIVE) + { + jam(); + // But send to SUMA anyway... + sendSignal(SUMA_REF, GSN_API_FAILREQ, signal, 2, JBA); return; + } signal->theData[0] = NDB_LE_Disconnected; signal->theData[1] = failedNodePtr.i; diff --git a/storage/ndb/src/kernel/blocks/suma/Suma.cpp b/storage/ndb/src/kernel/blocks/suma/Suma.cpp index 0509ef31997..37c65a746e3 100644 --- a/storage/ndb/src/kernel/blocks/suma/Suma.cpp +++ b/storage/ndb/src/kernel/blocks/suma/Suma.cpp @@ -318,6 +318,12 @@ Suma::execSTTOR(Signal* signal) { createSequence(signal); DBUG_VOID_RETURN; }//if + + if (ERROR_INSERTED(13030)) + { + ndbout_c("Dont start handover"); + return; + } }//if if(startphase == 100) @@ -563,6 +569,15 @@ void Suma::execAPI_FAILREQ(Signal* signal) Uint32 failedApiNode = signal->theData[0]; //BlockReference retRef = signal->theData[1]; + if (c_startup.m_restart_server_node_id && + c_startup.m_restart_server_node_id != RNIL) + { + jam(); + sendSignalWithDelay(reference(), GSN_API_FAILREQ, signal, + 200, signal->getLength()); + return; + } + c_failedApiNodes.set(failedApiNode); c_connected_nodes.clear(failedApiNode); bool found = removeSubscribersOnNode(signal, failedApiNode); @@ -911,6 +926,20 @@ Suma::execDUMP_STATE_ORD(Signal* signal){ { CLEAR_ERROR_INSERT_VALUE; } + + if (tCase == 8009) + { + if (ERROR_INSERTED(13030)) + { + CLEAR_ERROR_INSERT_VALUE; + sendSTTORRY(signal); + } + else + { + SET_ERROR_INSERT_VALUE(13030); + } + return; + } } /************************************************************* |