List:Commits« Previous MessageNext Message »
From:Jonas Oreland Date:August 13 2008 12:42pm
Subject:bzr commit into mysql-5.1 branch (jonas:2666)
View as plain text  
#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 Oreland13 Aug