List:Commits« Previous MessageNext Message »
From:jonas Date:April 28 2008 8:36am
Subject:bk commit into 5.1 tree (jonas:1.2205)
View as plain text  
Below is the list of changes that have just been committed into a local
5.1 repository of jonas. When jonas does a push these changes will
be propagated to the main repository and, within 24 hours after the
push, to the public repository.
For information on how to access the public repository
see http://dev.mysql.com/doc/mysql/en/installing-source-tree.html

ChangeSet@stripped, 2008-04-28 10:36:12+02:00, jonas@stripped +2 -0
  ndb - issue#23497
    add printouts if resend takes longer than 3s

  storage/ndb/src/kernel/blocks/suma/Suma.cpp@stripped, 2008-04-28 10:36:11+02:00, jonas@stripped +35 -10
    add printouts if resend takes longer than 3 seconds

  storage/ndb/src/kernel/blocks/suma/Suma.hpp@stripped, 2008-04-28 10:36:11+02:00, jonas@stripped +2 -1
    add printouts if resend takes longer than 3 seconds

# This is a BitKeeper patch.  What follows are the unified diffs for the
# set of deltas contained in the patch.  The rest of the patch, the part
# that BitKeeper cares about, is below these diffs.
# User:	jonas
# Host:	perch.ndb.mysql.com
# Root:	/home/jonas/src/drop6

--- 1.47/storage/ndb/src/kernel/blocks/suma/Suma.cpp	2008-04-28 10:36:14 +02:00
+++ 1.48/storage/ndb/src/kernel/blocks/suma/Suma.cpp	2008-04-28 10:36:14 +02:00
@@ -618,10 +618,12 @@
     return;
   case SumaContinueB::RESEND_BUCKET:
     resend_bucket(signal, 
-		  signal->theData[1], 
-		  signal->theData[2],
-		  signal->theData[3],
-		  signal->theData[4]);
+                  signal->theData[1], 
+                  signal->theData[2],
+                  signal->theData[3],
+                  signal->theData[4],
+                  signal->theData[5],
+                  signal->theData[6]);
     return;
   case SumaContinueB::OUT_OF_BUFFER_RELEASE:
     out_of_buffer_release(signal, signal->theData[1]);
@@ -4658,19 +4660,24 @@
 
   m_switchover_buckets.set(buck);
   
+  signal->theData[0] = SumaContinueB::RESEND_BUCKET;
   signal->theData[1] = buck;
   signal->theData[2] = min;
   signal->theData[3] = 0;
   signal->theData[4] = 0;
-  sendSignal(reference(), GSN_CONTINUEB, signal, 5, JBB);	
+  signal->theData[5] = 0;
+  signal->theData[6] = NdbTick_CurrentMillisecond() / 1000;
+  sendSignal(reference(), GSN_CONTINUEB, signal, 7, JBB);
   
-  ndbout_c("min: %d - max: %d) page: %d", min, max, bucket->m_buffer_tail);
+  g_eventLogger.info("min: %d - max: %d) page: %d", 
+                     min, max, bucket->m_buffer_tail);
   ndbrequire(max >= min);
 }
 
 void
 Suma::resend_bucket(Signal* signal, Uint32 buck, Uint32 min_gci, 
-		    Uint32 pos, Uint32 last_gci)
+		    Uint32 pos, Uint32 last_gci,
+                    Uint32 loop, Uint32 starttime)
 {
   Bucket* bucket= c_buckets+buck;
   Uint32 tail= bucket->m_buffer_tail;
@@ -4829,16 +4836,34 @@
     ndbout_c("resend done...");
     return;
   }
+
+  if ((++loop & 1023) == 1023)
+  {
+    Uint32 now = NdbTick_CurrentMillisecond() / 1000;
+    if (now >= starttime + 3)
+    {
+      starttime = now - 1;
+      g_eventLogger.info("bucket: %u", buck);
+      ndbout_c("loop: %u", loop);
+      ndbout_c("min_gci: %u", min_gci);
+      ndbout_c("last_gci: %u", last_gci);
+      ndbout_c("tail: %u", tail);
+      ndbout_c("head: %u", bucket->m_buffer_head.m_page_id);
+      ndbout_c("pos: %u", pos);
+    }
+  }
   
   signal->theData[0] = SumaContinueB::RESEND_BUCKET;
   signal->theData[1] = buck;
   signal->theData[2] = min_gci;
   signal->theData[3] = pos;
   signal->theData[4] = last_gci;
-  if(!delay)
-    sendSignal(SUMA_REF, GSN_CONTINUEB, signal, 5, JBB);
+  signal->theData[5] = loop;
+  signal->theData[6] = starttime;
+  if (!delay)
+    sendSignal(SUMA_REF, GSN_CONTINUEB, signal, 7, JBB);
   else
-    sendSignalWithDelay(SUMA_REF, GSN_CONTINUEB, signal, 10, 5);   
+    sendSignalWithDelay(SUMA_REF, GSN_CONTINUEB, signal, 10, 7);
 }
 
 template void append(DataBuffer<11>&,SegmentedSectionPtr,SectionSegmentPool&);

--- 1.11/storage/ndb/src/kernel/blocks/suma/Suma.hpp	2008-04-28 10:36:14 +02:00
+++ 1.12/storage/ndb/src/kernel/blocks/suma/Suma.hpp	2008-04-28 10:36:14 +02:00
@@ -570,7 +570,8 @@
 
   void start_resend(Signal*, Uint32 bucket);
   void resend_bucket(Signal*, Uint32 bucket, Uint32 gci, 
-		     Uint32 page_pos, Uint32 last_gci);
+		     Uint32 page_pos, Uint32 last_gci, 
+                     Uint32 loop, Uint32 starttime);
   void release_gci(Signal*, Uint32 bucket, Uint32 gci);
 
   Uint32 m_max_seen_gci;      // FIRE_TRIG_ORD
Thread
bk commit into 5.1 tree (jonas:1.2205)jonas28 Apr