#At file:///home/jonas/src/telco-6.3/
2666 Jonas Oreland 2008-08-13 [merge]
merge 6.2 to 6.3
modified:
storage/ndb/include/kernel/NodeState.hpp
storage/ndb/include/kernel/signaldata/SumaImpl.hpp
storage/ndb/src/kernel/blocks/suma/Suma.cpp
=== modified file 'storage/ndb/include/kernel/NodeState.hpp'
--- a/storage/ndb/include/kernel/NodeState.hpp 2007-01-06 00:21:39 +0000
+++ b/storage/ndb/include/kernel/NodeState.hpp 2008-08-13 12:30:19 +0000
@@ -166,6 +166,13 @@ public:
bool getSystemRestartInProgress() const;
/**
+ * Are we started
+ */
+ bool getStarted() const {
+ return startLevel == SL_STARTED || startLevel == SL_SINGLEUSER;
+ }
+
+ /**
* Is in single user mode?
*/
bool getSingleUserMode() const;
=== modified file 'storage/ndb/include/kernel/signaldata/SumaImpl.hpp'
--- a/storage/ndb/include/kernel/signaldata/SumaImpl.hpp 2008-06-16 06:25:29 +0000
+++ b/storage/ndb/include/kernel/signaldata/SumaImpl.hpp 2008-08-13 12:30:19 +0000
@@ -551,6 +551,7 @@ struct SumaStartMeRef {
Uint32 errorCode;
enum {
Busy = 0x1
+ ,NotStarted = 0x2
};
};
=== modified file 'storage/ndb/src/kernel/blocks/suma/Suma.cpp'
--- a/storage/ndb/src/kernel/blocks/suma/Suma.cpp 2008-08-08 08:51:19 +0000
+++ b/storage/ndb/src/kernel/blocks/suma/Suma.cpp 2008-08-13 12:41:55 +0000
@@ -462,7 +462,7 @@ Suma::execSUMA_START_ME_REF(Signal* sign
const SumaStartMeRef* ref= (SumaStartMeRef*)signal->getDataPtr();
Uint32 error = ref->errorCode;
- if (error != SumaStartMeRef::Busy)
+ if (error != SumaStartMeRef::Busy && error != SumaStartMeRef::NotStarted)
{
jam();
// for some reason we did not manage to create a subscription
@@ -480,7 +480,6 @@ Suma::execSUMA_START_ME_REF(Signal* sign
infoEvent("Suma: node %d refused %d",
c_startup.m_restart_server_node_id, ref->errorCode);
- c_startup.m_restart_server_node_id++;
send_start_me_req(signal);
}
@@ -4349,6 +4348,16 @@ Suma::execSUMA_START_ME_REQ(Signal* sign
return;
}
+ if (getNodeState().getStarted() == false)
+ {
+ jam();
+ SumaStartMeRef* ref= (SumaStartMeRef*)signal->getDataPtrSend();
+ ref->errorCode = SumaStartMeRef::NotStarted;
+ sendSignal(retref, GSN_SUMA_START_ME_REF, signal,
+ SumaStartMeRef::SignalLength, JBB);
+ return;
+ }
+
Ptr<SubOpRecord> subOpPtr;
if (c_subOpPool.seize(subOpPtr) == false)
{
| Thread |
|---|
| • bzr commit into mysql-5.1 branch (jonas:2666) | Jonas Oreland | 13 Aug |