List:Commits« Previous MessageNext Message »
From:jonas oreland Date:May 4 2011 5:24am
Subject:bzr commit into mysql-5.1-telco-7.1 branch (jonas:4180)
View as plain text  
#At file:///home/jonas/src/telco-7.1/ based on revid:magnus.blaudd@stripped

 4180 jonas oreland	2011-05-04 [merge]
      ndb - merge 70 to 71

    modified:
      mysql-test/suite/rpl_ndb/r/rpl_ndb_ui2.result
      mysql-test/suite/rpl_ndb/t/rpl_ndb_ui2.test
      storage/ndb/src/kernel/blocks/cmvmi/Cmvmi.cpp
      storage/ndb/src/kernel/blocks/dbtc/DbtcMain.cpp
      storage/ndb/src/kernel/blocks/qmgr/QmgrMain.cpp
      storage/ndb/test/run-test/daily-basic-tests.txt
=== modified file 'mysql-test/suite/rpl_ndb/r/rpl_ndb_ui2.result'
--- a/mysql-test/suite/rpl_ndb/r/rpl_ndb_ui2.result	2011-04-28 07:47:53 +0000
+++ b/mysql-test/suite/rpl_ndb/r/rpl_ndb_ui2.result	2011-05-03 20:40:59 +0000
@@ -4,11 +4,15 @@ CREATE TABLE t1 (pk int primary key, uk 
 STOP SLAVE;
 insert into t1 values (1,1);
 insert into t1 values (2,2);
+begin;
 insert into t1 values (1,2);
 insert into t1 values (2,1);
+commit;
 delete from t1;
+begin;
 insert into t1 values (1,1);
 insert into t1 values (2,2);
+commit;
 start slave;
 select * from t1;
 pk	uk

=== modified file 'mysql-test/suite/rpl_ndb/t/rpl_ndb_ui2.test'
--- a/mysql-test/suite/rpl_ndb/t/rpl_ndb_ui2.test	2011-04-28 07:47:53 +0000
+++ b/mysql-test/suite/rpl_ndb/t/rpl_ndb_ui2.test	2011-05-03 20:40:59 +0000
@@ -12,13 +12,15 @@ STOP SLAVE;
 insert into t1 values (1,1);
 insert into t1 values (2,2);
 --connection master
+begin;
 insert into t1 values (1,2);
 insert into t1 values (2,1);
---sleep 1
+commit;
 delete from t1;
---sleep 1
+begin;
 insert into t1 values (1,1);
 insert into t1 values (2,2);
+commit;
 
 --connection slave
 start slave;

=== modified file 'storage/ndb/src/kernel/blocks/cmvmi/Cmvmi.cpp'
--- a/storage/ndb/src/kernel/blocks/cmvmi/Cmvmi.cpp	2011-04-12 11:59:36 +0000
+++ b/storage/ndb/src/kernel/blocks/cmvmi/Cmvmi.cpp	2011-05-02 13:36:19 +0000
@@ -1043,7 +1043,14 @@ void Cmvmi::execCONNECT_REP(Signal *sign
    * Inform QMGR that client has connected
    */
   signal->theData[0] = hostId;
-  sendSignal(QMGR_REF, GSN_CONNECT_REP, signal, 1, JBA);
+  if (ERROR_INSERTED(9005))
+  {
+    sendSignalWithDelay(QMGR_REF, GSN_CONNECT_REP, signal, 50, 1);
+  }
+  else
+  {
+    sendSignal(QMGR_REF, GSN_CONNECT_REP, signal, 1, JBA);
+  }
 
   /* Automatically subscribe events for MGM nodes.
    */

=== modified file 'storage/ndb/src/kernel/blocks/dbtc/DbtcMain.cpp'
--- a/storage/ndb/src/kernel/blocks/dbtc/DbtcMain.cpp	2011-04-28 09:42:34 +0000
+++ b/storage/ndb/src/kernel/blocks/dbtc/DbtcMain.cpp	2011-05-04 05:24:02 +0000
@@ -8407,7 +8407,7 @@ void Dbtc::execNODE_FAILREP(Signal* sign
     Uint32 ok = 1;
     for(Uint32 n = c_alive_nodes.find_first();
         n != c_alive_nodes.NotFound;
-        n = c_alive_nodes.find_next(n))
+        n = c_alive_nodes.find_next(n+1))
     {
       if (!ndbd_deferred_unique_constraints(getNodeInfo(n).m_version))
       {

=== modified file 'storage/ndb/src/kernel/blocks/qmgr/QmgrMain.cpp'
--- a/storage/ndb/src/kernel/blocks/qmgr/QmgrMain.cpp	2011-04-15 13:52:53 +0000
+++ b/storage/ndb/src/kernel/blocks/qmgr/QmgrMain.cpp	2011-05-02 13:36:19 +0000
@@ -42,6 +42,9 @@
 #include <signaldata/DihRestart.hpp>
 #include <ndb_version.h>
 
+#include <EventLogger.hpp>
+extern EventLogger * g_eventLogger;
+
 //#define DEBUG_QMGR_START
 #ifdef DEBUG_QMGR_START
 #include <DebuggerNames.hpp>
@@ -745,6 +748,27 @@ void Qmgr::execCM_REGREQ(Signal* signal)
   Uint32 start_type = ~0;
   NdbNodeBitmask skip_nodes;
 
+  if (!c_connectedNodes.get(cmRegReq->nodeId))
+  {
+    jam();
+
+    /**
+     * With ndbmtd, there is a race condition such that
+     *   CM_REGREQ can arrive prior to CONNECT_REP
+     *   since CONNECT_REP is sent from CMVMI
+     *
+     * In such cases, ignore the CM_REGREQ which is safe
+     *   as it will anyway be resent by starting node
+     */
+    g_eventLogger->info("discarding CM_REGREQ from %u "
+                        "as we're not yet connected (isNdbMt: %u)",
+                        cmRegReq->nodeId,
+                        (unsigned)isNdbMt());
+
+    ndbrequire(isNdbMt());
+    return;
+  }
+
   if (signal->getLength() == CmRegReq::SignalLength)
   {
     jam();
@@ -2351,8 +2375,6 @@ void Qmgr::execCM_ACKADD(Signal* signal)
  * WE HAVE BEEN INCLUDED INTO THE CLUSTER. IT IS NOW TIME TO CALCULATE WHICH 
  * ARE OUR LEFT AND RIGHT NEIGHBOURS FOR THE HEARTBEAT PROTOCOL. 
  *--------------------------------------------------------------------------*/
-#include <EventLogger.hpp>
-extern EventLogger * g_eventLogger;
 void Qmgr::findNeighbours(Signal* signal, Uint32 from) 
 {
   UintR toldLeftNeighbour;

=== modified file 'storage/ndb/test/run-test/daily-basic-tests.txt'
--- a/storage/ndb/test/run-test/daily-basic-tests.txt	2011-04-28 07:47:53 +0000
+++ b/storage/ndb/test/run-test/daily-basic-tests.txt	2011-05-03 06:21:59 +0000
@@ -20,7 +20,7 @@ max-time: 900
 cmd: testIndex
 args: -n DeferredMixedLoad T1 T6 T13
 
-max-time: 900
+max-time: 1800
 cmd: testIndex
 args: -n DeferredMixedLoadError T1 T6 T13
 

No bundle (reason: revision is a merge).
Thread
bzr commit into mysql-5.1-telco-7.1 branch (jonas:4180) jonas oreland4 May