3326 Andrei Elkin 2011-06-28
wl#5569 MTS
replacing views with regular tables for consistency verification in rpl_parallel_innodb.
Also a minor cleanup in rpl_parallel is done.
modified:
mysql-test/extra/rpl_tests/rpl_parallel_load.test
mysql-test/extra/rpl_tests/rpl_parallel_load_innodb.test
mysql-test/suite/rpl/r/rpl_parallel_innodb.result
3325 Andrei Elkin 2011-06-27
wl#5569 MTS
Cleanup and addressing sporadic rpl_temp_table_mix_row failure in
post-execution mtr.check_testcase().
The check of the test failure was caused by faulty optimization in
avoiding to migrate temporary tables from Coordinator to Workers in
case of rows-event assignement.
while it's correct with the homogenous rows-event only load, the mixture
can fail.
Fixed with removing the optimization so map_db_to_worker() always
relocates which is somewhat suboptimal and should be improved in future.
@ mysql-test/suite/rpl/t/rpl_temp_table_mix_row.test
Adding slave synchronization.
@ sql/log_event.cc
cleanup to move circular_buffer releated definitions into rpl_rli_pdb that is specialized
on objects dealing with Worker, its assignement etc.
improving comments;
also instead of former separate flag indicating a T-event requires post-scheduling synchronization
with the Worker is turned into a bit of existing Log_event::flags which also avoids ungliness of
#if/#endif:s.
@ sql/log_event.h
instead of former separate flag indicating a T-event requires post-scheduling synchronization
with the Worker is turned into a bit of existing Log_event::flags;
@ sql/rpl_rli.cc
cleanup: renaming.
@ sql/rpl_rli.h
cleanup: renaming, more comments.
The former mts_wqs_overrun is converted into two: the statistics parameter mts_wq_overrun_cnt
and the internal control parameter mts_wq_excess.
@ sql/rpl_rli_pdb.cc
Included rpl_slave.h that holds two necessary declarations;
Cleanup: accepting circular_buffer related definitions migrated from log_event,
improved comments, renaming, removing dead code
@ sql/rpl_rli_pdb.h
Cleanup: renaming and more comments are added.
@ sql/rpl_slave.cc
Augmenting print-out of statistics at the end of MTS session;
cleanup: renaming.
@ sql/rpl_slave.h
Introducing two constants to define range of worker_id domain and
a magic value of undefined worker.
@ sql/sys_vars.cc
replacing a literal int value with a symbilic constant.
modified:
mysql-test/suite/rpl/t/rpl_temp_table_mix_row.test
sql/log_event.cc
sql/log_event.h
sql/rpl_rli.cc
sql/rpl_rli.h
sql/rpl_rli_pdb.cc
sql/rpl_rli_pdb.h
sql/rpl_slave.cc
sql/rpl_slave.h
sql/sys_vars.cc
=== modified file 'mysql-test/extra/rpl_tests/rpl_parallel_load.test'
--- a/mysql-test/extra/rpl_tests/rpl_parallel_load.test 2011-06-23 21:11:22 +0000
+++ b/mysql-test/extra/rpl_tests/rpl_parallel_load.test 2011-06-28 08:30:18 +0000
@@ -30,48 +30,6 @@ connection master;
--disable_query_log
--disable_result_log
-use test;
-delimiter |;
-create procedure one_session(k int)
-begin
- while k > 0 do
- insert into tm_nk values(k, 0);
- insert into tm_wk values(null, 0);
- insert into ti_nk values(k, 0);
- insert into ti_wk values(null, 0);
- set k = k - 1;
- end while;
-end|
-delimiter ;|
-
-## let $i = $workers + 1;
-##eval
-# delimiter |;
-# create procedure p1(i int)
-# begin
-# while i > 0
-# ##while ($i)
-# ##{
-# ## let $i1=$i;
-# ## dec $i1;
-# ## use test$i1;
-# ## call on_session();
-# ## dec $i;
-# ##}
-# use test0;
-# call one_session();
-# use test1;
-# call one_session();
-# use test2;
-# call one_session();
-# use test3;
-# call one_session();
-# i= i-1;
-# end while;
-# end|
-# delimiter ;|
-
-
let $i = $databases + 1;
while($i)
{
@@ -85,22 +43,6 @@ while($i)
create table ti_nk (a int, b int, c text) engine=innodb;
create table ti_wk (a int auto_increment primary key, b int, c text) engine=innodb;
- if (`select @@global.binlog_format like 'statement'`)
- {
- create view v_tm_nk as select a,b from tm_nk;
- create view v_tm_wk as select a,b from tm_wk;
- create view v_ti_nk as select a,b from ti_nk;
- create view v_ti_wk as select a,b from ti_wk;
- }
-
- if (`select @@global.binlog_format not like 'statement'`)
- {
- create view v_tm_nk as select a,b,c from tm_nk;
- create view v_tm_wk as select a,b,c from tm_wk;
- create view v_ti_nk as select a,b,c from ti_nk;
- create view v_ti_wk as select a,b,c from ti_wk;
- }
-
# this table is special - just for timing. It's more special on test0 db
# where it contains master timing of the load as well.
create table benchmark (state text) engine=myisam; # timestamp keep on the slave side
@@ -329,9 +271,6 @@ while($i)
dec $i;
}
-use test;
-drop procedure one_session;
-
--enable_result_log
--enable_query_log
=== modified file 'mysql-test/extra/rpl_tests/rpl_parallel_load_innodb.test'
--- a/mysql-test/extra/rpl_tests/rpl_parallel_load_innodb.test 2011-06-24 09:38:34 +0000
+++ b/mysql-test/extra/rpl_tests/rpl_parallel_load_innodb.test 2011-06-28 08:30:18 +0000
@@ -28,7 +28,7 @@ let $del_trans_wk= 1;
disable_query_log;
if (`select convert(@@version_compile_os using latin1) IN ("Win32","Win64","Windows") as "TRUE"`)
{
- let $iter = 100;
+ let $iter = 10;
}
enable_query_log;
@@ -63,18 +63,6 @@ while($i)
eval insert into ti_nk values($l1, $i1, uuid());
dec $l1;
}
-
- if (`select @@global.binlog_format like 'statement'`)
- {
- create view v_ti_nk as select a,b from ti_nk;
- create view v_ti_wk as select a,b from ti_wk;
- }
-
- if (`select @@global.binlog_format not like 'statement'`)
- {
- create view v_ti_nk as select a,b,c from ti_nk;
- create view v_ti_wk as select a,b,c from ti_wk;
- }
# this table is special - just for timing. It's more special on test0 db
# where it contains master timing of the load as well.
@@ -320,10 +308,10 @@ while($i)
--disable_query_log
sync_slave_with_master;
- let $diff_tables=master:test$i1.v_ti_nk, slave:test$i1.v_ti_nk;
+ let $diff_tables=master:test$i1.ti_nk, slave:test$i1.ti_nk;
source include/diff_tables.inc;
- let $diff_tables=master:test$i1.v_ti_wk, slave:test$i1.v_ti_wk;
+ let $diff_tables=master:test$i1.ti_wk, slave:test$i1.ti_wk;
source include/diff_tables.inc;
dec $i;
=== modified file 'mysql-test/suite/rpl/r/rpl_parallel_innodb.result'
--- a/mysql-test/suite/rpl/r/rpl_parallel_innodb.result 2011-06-17 15:34:16 +0000
+++ b/mysql-test/suite/rpl/r/rpl_parallel_innodb.result 2011-06-28 08:30:18 +0000
@@ -15,36 +15,36 @@ select ts from test0.benchmark where sta
select ts from test0.benchmark where state like 'slave ends load' into @s_1;
select ts from test0.benchmark where state like 'slave is processing load' into @s_0;
select time_to_sec(@m_1) - time_to_sec(@m_0) as 'delta.out';
-include/diff_tables.inc [master:test15.v_ti_nk, slave:test15.v_ti_nk]
-include/diff_tables.inc [master:test15.v_ti_wk, slave:test15.v_ti_wk]
-include/diff_tables.inc [master:test14.v_ti_nk, slave:test14.v_ti_nk]
-include/diff_tables.inc [master:test14.v_ti_wk, slave:test14.v_ti_wk]
-include/diff_tables.inc [master:test13.v_ti_nk, slave:test13.v_ti_nk]
-include/diff_tables.inc [master:test13.v_ti_wk, slave:test13.v_ti_wk]
-include/diff_tables.inc [master:test12.v_ti_nk, slave:test12.v_ti_nk]
-include/diff_tables.inc [master:test12.v_ti_wk, slave:test12.v_ti_wk]
-include/diff_tables.inc [master:test11.v_ti_nk, slave:test11.v_ti_nk]
-include/diff_tables.inc [master:test11.v_ti_wk, slave:test11.v_ti_wk]
-include/diff_tables.inc [master:test10.v_ti_nk, slave:test10.v_ti_nk]
-include/diff_tables.inc [master:test10.v_ti_wk, slave:test10.v_ti_wk]
-include/diff_tables.inc [master:test9.v_ti_nk, slave:test9.v_ti_nk]
-include/diff_tables.inc [master:test9.v_ti_wk, slave:test9.v_ti_wk]
-include/diff_tables.inc [master:test8.v_ti_nk, slave:test8.v_ti_nk]
-include/diff_tables.inc [master:test8.v_ti_wk, slave:test8.v_ti_wk]
-include/diff_tables.inc [master:test7.v_ti_nk, slave:test7.v_ti_nk]
-include/diff_tables.inc [master:test7.v_ti_wk, slave:test7.v_ti_wk]
-include/diff_tables.inc [master:test6.v_ti_nk, slave:test6.v_ti_nk]
-include/diff_tables.inc [master:test6.v_ti_wk, slave:test6.v_ti_wk]
-include/diff_tables.inc [master:test5.v_ti_nk, slave:test5.v_ti_nk]
-include/diff_tables.inc [master:test5.v_ti_wk, slave:test5.v_ti_wk]
-include/diff_tables.inc [master:test4.v_ti_nk, slave:test4.v_ti_nk]
-include/diff_tables.inc [master:test4.v_ti_wk, slave:test4.v_ti_wk]
-include/diff_tables.inc [master:test3.v_ti_nk, slave:test3.v_ti_nk]
-include/diff_tables.inc [master:test3.v_ti_wk, slave:test3.v_ti_wk]
-include/diff_tables.inc [master:test2.v_ti_nk, slave:test2.v_ti_nk]
-include/diff_tables.inc [master:test2.v_ti_wk, slave:test2.v_ti_wk]
-include/diff_tables.inc [master:test1.v_ti_nk, slave:test1.v_ti_nk]
-include/diff_tables.inc [master:test1.v_ti_wk, slave:test1.v_ti_wk]
-include/diff_tables.inc [master:test0.v_ti_nk, slave:test0.v_ti_nk]
-include/diff_tables.inc [master:test0.v_ti_wk, slave:test0.v_ti_wk]
+include/diff_tables.inc [master:test15.ti_nk, slave:test15.ti_nk]
+include/diff_tables.inc [master:test15.ti_wk, slave:test15.ti_wk]
+include/diff_tables.inc [master:test14.ti_nk, slave:test14.ti_nk]
+include/diff_tables.inc [master:test14.ti_wk, slave:test14.ti_wk]
+include/diff_tables.inc [master:test13.ti_nk, slave:test13.ti_nk]
+include/diff_tables.inc [master:test13.ti_wk, slave:test13.ti_wk]
+include/diff_tables.inc [master:test12.ti_nk, slave:test12.ti_nk]
+include/diff_tables.inc [master:test12.ti_wk, slave:test12.ti_wk]
+include/diff_tables.inc [master:test11.ti_nk, slave:test11.ti_nk]
+include/diff_tables.inc [master:test11.ti_wk, slave:test11.ti_wk]
+include/diff_tables.inc [master:test10.ti_nk, slave:test10.ti_nk]
+include/diff_tables.inc [master:test10.ti_wk, slave:test10.ti_wk]
+include/diff_tables.inc [master:test9.ti_nk, slave:test9.ti_nk]
+include/diff_tables.inc [master:test9.ti_wk, slave:test9.ti_wk]
+include/diff_tables.inc [master:test8.ti_nk, slave:test8.ti_nk]
+include/diff_tables.inc [master:test8.ti_wk, slave:test8.ti_wk]
+include/diff_tables.inc [master:test7.ti_nk, slave:test7.ti_nk]
+include/diff_tables.inc [master:test7.ti_wk, slave:test7.ti_wk]
+include/diff_tables.inc [master:test6.ti_nk, slave:test6.ti_nk]
+include/diff_tables.inc [master:test6.ti_wk, slave:test6.ti_wk]
+include/diff_tables.inc [master:test5.ti_nk, slave:test5.ti_nk]
+include/diff_tables.inc [master:test5.ti_wk, slave:test5.ti_wk]
+include/diff_tables.inc [master:test4.ti_nk, slave:test4.ti_nk]
+include/diff_tables.inc [master:test4.ti_wk, slave:test4.ti_wk]
+include/diff_tables.inc [master:test3.ti_nk, slave:test3.ti_nk]
+include/diff_tables.inc [master:test3.ti_wk, slave:test3.ti_wk]
+include/diff_tables.inc [master:test2.ti_nk, slave:test2.ti_nk]
+include/diff_tables.inc [master:test2.ti_wk, slave:test2.ti_wk]
+include/diff_tables.inc [master:test1.ti_nk, slave:test1.ti_nk]
+include/diff_tables.inc [master:test1.ti_wk, slave:test1.ti_wk]
+include/diff_tables.inc [master:test0.ti_nk, slave:test0.ti_nk]
+include/diff_tables.inc [master:test0.ti_wk, slave:test0.ti_wk]
include/rpl_end.inc
Attachment: [text/bzr-bundle] bzr/andrei.elkin@oracle.com-20110628083018-f1inmd1ipa6mccj2.bundle
| Thread |
|---|
| • bzr push into mysql-next-mr-wl5569 branch (andrei.elkin:3325 to 3326) WL#5569 | Andrei Elkin | 29 Jun |