3942 Ole John Aske 2012-06-18
Follow up fix to Mikael R's 4G, savemem.patch:
We originally assumed that a specific TC did not communicate with other TCs.
However, the SPJ block is located in the same block-thread as the TCs.
TC *will* communicate with all SPJ blocks, which should be counted as
a full TC <-> TC cross communication.
modified:
storage/ndb/src/kernel/vm/mt.cpp
3941 Martin Skold 2012-06-15 [merge]
Merge from 7.1
modified:
mysql-test/suite/ndb/r/ndb_index_stat_restart.result
mysql-test/suite/ndb/t/ndb_reconnect.test
=== modified file 'storage/ndb/src/kernel/vm/mt.cpp'
--- a/storage/ndb/src/kernel/vm/mt.cpp 2012-05-23 06:40:37 +0000
+++ b/storage/ndb/src/kernel/vm/mt.cpp 2012-06-18 13:54:07 +0000
@@ -4106,10 +4106,10 @@ may_communicate(unsigned from, unsigned
}
else if (is_tc_thread(from))
{
- // TC threads can communicate with LQH-, main- and itself
+ // TC threads can communicate with SPJ-, LQH-, main- and itself
return is_main_thread(to) ||
is_ldm_thread(to) ||
- (to == from);
+ is_tc_thread(to); // Cover both SPJs and itself
}
else
{
@@ -4426,12 +4426,13 @@ compute_jb_pages(struct EmulatorData * e
job_queue_pages_per_thread;
/**
- * TC threads can communicate with LQH threads and main threads.
+ * TC threads can communicate with SPJ-, LQH- and main threads.
* Cannot communicate with receive threads and other TC threads,
- * but it can communicate with itself.
+ * but as SPJ is located together with TC, it is counted as it
+ * communicate with all TC threads.
*/
tot += num_tc_threads *
- (num_lqh_threads + num_main_threads + 1) *
+ (num_lqh_threads + num_main_threads + num_tc_threads) *
job_queue_pages_per_thread;
/**
No bundle (reason: useless for push emails).
| Thread |
|---|
| • bzr push into mysql-5.5-cluster-7.2 branch (ole.john.aske:3941 to 3942) | Ole John Aske | 18 Jun |