List:Commits« Previous MessageNext Message »
From:Andrei Elkin Date:November 14 2011 3:45pm
Subject:bzr push into mysql-trunk branch (andrei.elkin:3607 to 3608)
View as plain text  
 3608 Andrei Elkin	2011-11-14
      Fixing timeouts on rpl_parallel{_benchmark}. The latter test does not really check anything
      but rather was designed to produce benchmarking figures. On PB the test is just redundant and is removed
      by this patch.
     @ mysql-test/extra/rpl_tests/rpl_parallel_load.test
        decreasing load yet another time in order to cope with slow PB machines/env:s.

    removed:
      mysql-test/extra/rpl_tests/rpl_parallel_benchmark_load.test
      mysql-test/suite/rpl/t/rpl_parallel_benchmark-master.opt
      mysql-test/suite/rpl/t/rpl_parallel_benchmark-slave.opt
      mysql-test/suite/rpl/t/rpl_parallel_benchmark.test
    modified:
      mysql-test/extra/rpl_tests/rpl_parallel_load.test
 3607 Inaam Rana	2011-11-14
      Bug#13371000 - ADAPTIVE LRU FOR COMPRESSED PAGES BROKEN BY
      RECENT LRU CHANGES
      
      rb://812
      approved by: Marko Makela
      
      When calling buf_flush_LRU_list_batch() use appropriate LRU list
      i.e.: either the regular LRU list or the unzip_LRU for cleaning and
      eviction. If it is decided to use the unzip_LRU then we can simply
      skip the flushing part because we are going to keep the compressed
      frames. 

    modified:
      storage/innobase/buf/buf0flu.c
=== removed file 'mysql-test/extra/rpl_tests/rpl_parallel_benchmark_load.test'
--- a/mysql-test/extra/rpl_tests/rpl_parallel_benchmark_load.test	2011-08-19 13:04:28 +0000
+++ b/mysql-test/extra/rpl_tests/rpl_parallel_benchmark_load.test	1970-01-01 00:00:00 +0000
@@ -1,308 +0,0 @@
-#
-# This is a load generator to call from rpl_parallel and rpl_sequential tests
-#
-
-#
-# load volume parameter
-#
-
-let $iter= 02;
-let $tables= 2;
-let $wk_i_queries= 2;
-let $wk_m_queries= 0;
-let $nk_i_queries= 0;
-let $nk_m_queries= 0;
-let $pre_inserted_rows= 50;
-
-connection slave;
-
-call mtr.add_suppression('Slave: Error dropping database'); ## todo: fix
-
-source include/stop_slave.inc;
-start slave;
-
-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;
-while($i)
-{
-  eval create database test$i;
-
-  let $m= $tables;
-  while ($m)
-  {
-  eval create table test$i.tm_nk_$m (a int, b int, c text) engine=myisam;
-  eval create table test$i.tm_wk_$m (a int auto_increment primary key, b int, c text) engine=myisam;
-  eval create table test$i.ti_nk_$m (a int, b int, c text) engine=innodb;
-  eval create table test$i.ti_wk_$m (a int auto_increment primary key, b int, c text) engine=innodb;
-  let $k= $pre_inserted_rows;
-  while ($k)
-  {
-   eval insert into test$i.ti_wk_$m values(null,  $i, uuid());
-   eval insert into test$i.ti_nk_$m values(null,  $i, uuid());
-   eval insert into test$i.tm_wk_$m values(null,  $i, uuid());
-   eval insert into test$i.tm_nk_$m values(null,  $i, uuid());
-
-   dec $k;
-  }
-  dec $m;
-  }
-
-
-  # this table is special - just for timing. It's more special on test1 db
-  # where it contains master timing of the load as well.
-  eval create table test$i.benchmark (state text) engine=myisam; # timestamp keep on the slave side
-
-  dec $i;
-}
-
---enable_result_log
---enable_query_log
-
-
-sync_slave_with_master;
-#connection slave;
-
---disable_query_log
---disable_result_log
-
-let $i = $databases;
-while($i)
-{
-  eval alter table test$i.benchmark add ts timestamp not null default current_timestamp;
-
-  dec $i;
-}
---enable_result_log
---enable_query_log
-
-
-# not gather events into relay log w/o executing yet
-stop slave sql_thread;
-
-##call p1(1);
-
-connection master;
-
---disable_query_log
---disable_result_log
-
-#
-# Load producer
-#
-
-# initial timestamp to record
-
-# the extra ts col on slave is effective only with the STMT format (todo: bug-report)
-set @save.binlog_format= @@session.binlog_format;
-set @@session.binlog_format=STATEMENT;
-let $i = $databases;
-while($i)
-{
-  eval insert into test$i.benchmark set state='slave takes on load';
-
-  dec $i;
-}
-set @@session.binlog_format= @save.binlog_format;
-
-connection slave;
-
-insert into test1.benchmark set state='master started load';
-
-
-connection master;
-
-while ($iter)
-{
-    let $i = $databases;
-
-    while ($i)
-    {
-
-	begin;
-   	   ###eval insert into tm_nk values($iter, $i1, repeat('a', round(rand()*10)));
-
-    	   let $q= $wk_m_queries;
-	   while ($q)
-	   {
-	       let $m= `select 1 + floor(rand() * $tables)`;
-	       eval update      test$i.tm_wk_$m set c= uuid();
-	       eval insert into test$i.tm_wk_$m values(null,  $i, uuid());
-
-	       dec $q;
-	   }
-
-    	   let $q= $wk_i_queries;
-	   while ($q)
-	   {
-	       let $m= `select 1 + floor(rand() * $tables)`;
-	       eval update      test$i.ti_wk_$m set c= uuid();
-	       
-	       eval insert into test$i.ti_wk_$m values(null,  $i, uuid());
-
-	       dec $q;
-	   }
-            
-	   # NK
-
-    	   let $q= $nk_m_queries;
-	   while ($q)
-	   {
-	       let $m= `select 1 + floor(rand() * $tables)`;
-	       eval update test$i.tm_nk_$m set c= uuid();
-	       eval insert into test$i.tm_nk_$m values(null,  $i, uuid());
-
-	       dec $q;
-	   }
-
-    	   let $q= $nk_i_queries;
-	   while ($q)
-	   {
-	       let $m= `select 1 + floor(rand() * $tables)`;
-	       eval update test$i.ti_nk_$m set c= uuid();
-	       eval insert into test$i.ti_nk_$m values(null,  $i, uuid());
-
-	       dec $q;
-	   }
-	commit;
-
-	dec $i;
-    }
-
-    dec $iter;
-}
-
-connection slave;
-
-##use test1;
-insert into test1.benchmark set state='master ends load';
-
-connection master;
-
-# terminal timestamp to record
-
-let $i = $databases;
-set @save.binlog_format= @@session.binlog_format;
-set @@session.binlog_format=STATEMENT;
-while($i)
-{
-  eval insert into test$i.benchmark set state='slave ends load';
-
-  dec $i;
-}
-set @@session.binlog_format= @save.binlog_format;
-
---enable_result_log
---enable_query_log
-
-connection slave;
-
-## todo: record start and end time of appying to compare times of
-#  parallel and sequential execution.
-
---disable_query_log
---disable_result_log
-
-insert into test1.benchmark set state='slave is processing load';
-
-# To force filling timestamp cols with the slave local clock values
-# to implement benchmarking.
-
-# TODO: replace with another alg
-#set @save.mts_exp_slave_local_timestamp=@@global.mts_exp_slave_local_timestamp;
-#set @@global.mts_exp_slave_local_timestamp=1;
-
---sleep 1
-
-start slave sql_thread;
-
-let $wait_timeout= 600;
-let $wait_condition= SELECT count(*)+sleep(1) = 5 FROM test1.benchmark;
-source include/wait_condition.inc;
-
-# cleanup for files that could not be removed in the end of previous invocation.
-let $MYSQLD_DATADIR= `select @@datadir`;
---remove_files_wildcard $MYSQLD_DATADIR *.out
-
-use test;
-let $benchmark_file= `select replace(concat("benchmark_",uuid(),".out"),"-","_")`;
---replace_regex /benchmark_.*.out/benchmark.out/
-eval select * from test1.benchmark into outfile  '$benchmark_file';
-select ts from test1.benchmark where state like 'master started load' into @m_0;
-select ts from test1.benchmark where state like 'master ends load' into @m_1;
-select ts from test1.benchmark where state like 'slave takes on load' into @s_0;
-select ts from test1.benchmark where state like 'slave ends load' into @s_1;
-let $delta_file= `select replace(concat("delta_",uuid(),".out"),"-","_")`;
---replace_regex /delta_.*.out/delta.out/
-eval select time_to_sec(@m_1) - time_to_sec(@m_0) as 'delta_m', 
-       time_to_sec(@s_1) - time_to_sec(@s_0) as 'delta_s' into outfile '$delta_file';
-
---enable_result_log
---enable_query_log
-
-
-connection master;
-
---disable_query_log
---disable_result_log
-
-let $i = $databases;
-while($i)
-{
-  eval drop database test$i;
-
-  dec $i;
-}
-
-use test;
-drop procedure one_session;
-
---enable_result_log
---enable_query_log
-
-sync_slave_with_master;

=== modified file 'mysql-test/extra/rpl_tests/rpl_parallel_load.test'
--- a/mysql-test/extra/rpl_tests/rpl_parallel_load.test	2011-10-31 13:52:32 +0000
+++ b/mysql-test/extra/rpl_tests/rpl_parallel_load.test	2011-11-14 15:44:42 +0000
@@ -6,16 +6,9 @@
 # load volume parameter
 #
 
-let $iter = 50;
-
-# windows run on PB2 is too slow to time out
-disable_query_log;
-if (`select convert(@@version_compile_os using latin1) IN ("Win32","Win64","Windows") as "TRUE"`)
-{
-  let $iter = 30;
-}
-enable_query_log;
-
+# The value of iteration is chosen to be rather low to satisfy
+# slow PB environments that are not just Win.
+let $iter = 20;
 let $databases = 16;
 
 connection slave;

=== removed file 'mysql-test/suite/rpl/t/rpl_parallel_benchmark-master.opt'
--- a/mysql-test/suite/rpl/t/rpl_parallel_benchmark-master.opt	2011-08-19 13:04:28 +0000
+++ b/mysql-test/suite/rpl/t/rpl_parallel_benchmark-master.opt	1970-01-01 00:00:00 +0000
@@ -1 +0,0 @@
---log-warnings=0

=== removed file 'mysql-test/suite/rpl/t/rpl_parallel_benchmark-slave.opt'
--- a/mysql-test/suite/rpl/t/rpl_parallel_benchmark-slave.opt	2011-08-19 13:04:28 +0000
+++ b/mysql-test/suite/rpl/t/rpl_parallel_benchmark-slave.opt	1970-01-01 00:00:00 +0000
@@ -1 +0,0 @@
---log-warnings=0 --slave-transaction-retries=0

=== removed file 'mysql-test/suite/rpl/t/rpl_parallel_benchmark.test'
--- a/mysql-test/suite/rpl/t/rpl_parallel_benchmark.test	2011-08-19 13:04:28 +0000
+++ b/mysql-test/suite/rpl/t/rpl_parallel_benchmark.test	1970-01-01 00:00:00 +0000
@@ -1,29 +0,0 @@
-#
-# WL#5569 MTS
-#
-# The test is similar to rpl_parallel but focuses more to
-# provide benchmarking data.
-# See rpl_parallel.test comments and rpl_parallel_benchmark_load for
-# how to vary running configuration.
-#
-
---source include/master-slave.inc
-
-connection slave;
-set @save.slave_parallel_workers= @@global.slave_parallel_workers;
-###select @@global.slave_parallel_workers as 'non-zero means parallel';
-
-let $workers = `select @@global.slave_parallel_workers`;
-###let $databases= $workers;
-# workers vary db:s do not
-let $databases= 16;
-
-connection master;
-source extra/rpl_tests/rpl_parallel_benchmark_load.test;
-
-connection slave;
---disable_query_log
-set @@global.slave_parallel_workers= @save.slave_parallel_workers;
---enable_result_log
-
---source include/rpl_end.inc

No bundle (reason: useless for push emails).
Thread
bzr push into mysql-trunk branch (andrei.elkin:3607 to 3608) Andrei Elkin14 Nov