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) | jonas | 28 Apr |