List:Commits« Previous MessageNext Message »
From:Jonas Oreland Date:August 12 2010 8:39am
Subject:bzr push into mysql-5.1-telco-6.3 branch (jonas:3247 to 3248)
View as plain text  
 3248 Jonas Oreland	2010-08-12
      ndb - csc47713 - add lots of debugging printouts to try to track spurious GCP stop (COPY_GCI) (commit only to autotest)

    modified:
      storage/ndb/src/kernel/blocks/dbdih/DbdihMain.cpp
 3247 Jonas Oreland	2010-08-11 [merge]
      ndb - merge 63-main

    modified:
      storage/ndb/include/portlib/NdbTCP.h
      storage/ndb/include/portlib/ndb_socket_poller.h
      storage/ndb/src/common/transporter/TCP_Transporter.cpp
      storage/ndb/src/common/transporter/TransporterRegistry.cpp
      storage/ndb/src/common/util/OutputStream.cpp
      storage/ndb/src/common/util/socket_io.cpp
      storage/ndb/test/tools/log_listner.cpp
      storage/ndb/tools/waiter.cpp
=== modified file 'storage/ndb/src/kernel/blocks/dbdih/DbdihMain.cpp'
--- a/storage/ndb/src/kernel/blocks/dbdih/DbdihMain.cpp	2010-07-14 11:01:54 +0000
+++ b/storage/ndb/src/kernel/blocks/dbdih/DbdihMain.cpp	2010-08-12 08:39:21 +0000
@@ -713,7 +713,7 @@ done:  
     c_copyGCISlave.m_expectedNextWord += CopyGCIReq::DATA_SIZE;
     return;
   }
-  
+
   if (cmasterdihref != reference())
   {
     jam();
@@ -732,6 +732,14 @@ done:  
   c_copyGCISlave.m_senderRef  = signal->senderBlockRef();
   c_copyGCISlave.m_senderData = copyGCI->anyData;
 
+  infoEvent("execCOPY_GCIREQ from 0x%x reason: %u (%s) data: %u",
+            c_copyGCISlave.m_senderRef,
+            c_copyGCISlave.m_copyReason,
+            reason==CopyGCIReq::LOCAL_CHECKPOINT ? "LCP" :
+            reason==CopyGCIReq::GLOBAL_CHECKPOINT ? "GCP" :
+            "OTHER",
+            c_copyGCISlave.m_senderData);
+  
   CRASH_INSERTION2(7020, reason==CopyGCIReq::LOCAL_CHECKPOINT);
   CRASH_INSERTION2(7008, reason==CopyGCIReq::GLOBAL_CHECKPOINT);
 
@@ -833,6 +841,12 @@ done:  
        * This must be master take over...and it already complete...
        */
       m_gcp_save.m_master_ref = c_copyGCISlave.m_senderRef;
+
+      infoEvent("GSN_COPY_GCICONF to 0x%x reason: %u data: %u",
+                m_gcp_save.m_master_ref, 
+                c_copyGCISlave.m_copyReason,
+                c_copyGCISlave.m_senderData);
+
       c_copyGCISlave.m_copyReason = CopyGCIReq::IDLE;
       signal->theData[0] = c_copyGCISlave.m_senderData;
       sendSignal(m_gcp_save.m_master_ref, GSN_COPY_GCICONF, signal, 1, JBB);
@@ -856,6 +870,12 @@ done:  
     /**
      * We dont really need to make anything durable here...skip it
      */
+
+    infoEvent("GSN_COPY_GCICONF to 0x%x reason: %u data: %u",
+              c_copyGCISlave.m_senderRef,
+              c_copyGCISlave.m_copyReason,
+              c_copyGCISlave.m_senderData);
+
     c_copyGCISlave.m_copyReason = CopyGCIReq::IDLE;
     signal->theData[0] = c_copyGCISlave.m_senderData;
     sendSignal(c_copyGCISlave.m_senderRef, GSN_COPY_GCICONF, signal, 1, JBB);
@@ -5269,6 +5289,10 @@ void Dbdih::checkGcpOutstanding(Signal* 
     jam();
     signal->theData[0] = failedNodeId;
     sendSignal(reference(), GSN_COPY_GCICONF, signal, 1, JBB);
+
+    infoEvent("GSN_COPY_GCICONF to 0x%x reason: c_COPY_GCIREQ_Counter data: %u",
+              reference(),
+              failedNodeId);
   }//if
   
   if (c_MASTER_GCPREQ_Counter.isWaitingFor(failedNodeId)){
@@ -9282,8 +9306,17 @@ void Dbdih::execCOPY_GCICONF(Signal* sig
   jamEntry();
   NodeRecordPtr senderNodePtr;
   senderNodePtr.i = signal->theData[0];
+
+  infoEvent("execCOPY_GCICONF from 0x%x c_copyGCIMaster.m_copyReason: %u data: %u",
+            signal->getSendersBlockRef(),
+            c_copyGCIMaster.m_copyReason,
+            senderNodePtr.i);
+
   receiveLoopMacro(COPY_GCIREQ, senderNodePtr.i);
 
+  infoEvent("execCOPY_GCICONF passed receiveLoopMacro c_copyGCIMaster.m_waiting[0]: %u (idle? %s)", c_copyGCIMaster.m_waiting[0],
+            c_copyGCIMaster.m_waiting[0] == CopyGCIReq::IDLE ? "yes" : "no");
+
   CopyGCIReq::CopyReason current = c_copyGCIMaster.m_copyReason;
   c_copyGCIMaster.m_copyReason = CopyGCIReq::IDLE;
 
@@ -9549,6 +9582,11 @@ void Dbdih::writingCopyGciLab(Signal* si
     jam();
     signal->theData[0] = c_copyGCISlave.m_senderData;
     sendSignal(m_gcp_save.m_master_ref, GSN_COPY_GCICONF, signal, 1, JBB);
+
+    infoEvent("GSN_COPY_GCICONF to 0x%x reason: %u data: %u",
+              m_gcp_save.m_master_ref, 
+              reason,
+              c_copyGCISlave.m_senderData);
   }
   else if (c_copyGCISlave.m_senderRef == cmasterdihref)
   {
@@ -9558,6 +9596,19 @@ void Dbdih::writingCopyGciLab(Signal* si
      */
     signal->theData[0] = c_copyGCISlave.m_senderData;
     sendSignal(c_copyGCISlave.m_senderRef, GSN_COPY_GCICONF, signal, 1, JBB);
+
+    infoEvent("GSN_COPY_GCICONF to 0x%x reason: %u data: %u",
+              c_copyGCISlave.m_senderRef,
+              reason,
+              c_copyGCISlave.m_senderData);
+  }
+  else
+  {
+    infoEvent("don't send GSN_COPY_GCICONF to 0x%x reason: %u data: %u cmasterdihref: 0x%x",
+              c_copyGCISlave.m_senderRef,
+              reason,
+              c_copyGCISlave.m_senderData,
+              cmasterdihref);
   }
   return;
 }//Dbdih::writingCopyGciLab()


Attachment: [text/bzr-bundle] bzr/jonas@mysql.com-20100812083921-fzz1v3xdr97kx5cd.bundle
Thread
bzr push into mysql-5.1-telco-6.3 branch (jonas:3247 to 3248) Jonas Oreland12 Aug