List:Commits« Previous MessageNext Message »
From:Andrei Elkin Date:December 12 2008 9:51pm
Subject:bzr commit into mysql-5.1 branch (aelkin:2704) Bug#40129
View as plain text  
#At file:///home/andrei/MySQL/BZR/FIXES/5.1-rpl-bug41003-40129-log_bin_trust_no-threads/ based on revid:aelkin@stripped

 2704 Andrei Elkin	2008-12-12
      Bug #40129  no-threads fails on pushbuild in 6.0-rpl, ps_stm_threadpool
            
      The test reacted on the way how mtr orders arguments for the server
      that are gathered from different source. It appeared that the opt-file
      options were parsed before those that supplied to mtr via its command
      line. In effect, the opt-file preferences got overriden by the command
      line and some tests, like no-threads, were caught by surprise: a test
      expects an option value that had been "hardcoded" into its opt-file
      but gets another one.
      This server options ordering problem exists on in the new rpl trees
      mtr.  In option of the author of this patch, the opt-file shall be
      considered as having the highest preference weight. The opt-file is
      merely a part of the header of a test, namely a part that can not be
      technically deployed along the test file.
      It's unnatural for the test writer to provide both the opt file value
      and a guard that guarantees the value will be set on in the run time.
      It's logical to provide either one: the option and its value or the
      guard.
      
      Fixed with relocating parse of the opt file to be the last among
      sources of the sever's options.
      
      A side effect: fixing a small problem of resetting the suite options
      at time the opt file starts parsing.
      
      A side effect: main.log_bin_trust_function_creators_func is disabled to
      be re-enabled with the fixes for bug#41003 will be merged from the main trees.
modified:
  mysql-test/lib/mtr_cases.pm
  mysql-test/t/disabled.def

per-file messages:
  mysql-test/lib/mtr_cases.pm
    Relocating parse of the opt file to be the last. This ensure the opt file is the last
    provider for the server options so that the opt-file options have the highest preference;
    fixing a separate issue of incorrect resetting the suite options for the server;
  mysql-test/t/disabled.def
    log_bin_trust_function_creators_func is disabled. Todo: to-reable when fixes for bug#41003
    will be merged from the main trees.
=== modified file 'mysql-test/lib/mtr_cases.pm'
--- a/mysql-test/lib/mtr_cases.pm	2008-11-14 20:35:32 +0000
+++ b/mysql-test/lib/mtr_cases.pm	2008-12-12 21:51:44 +0000
@@ -580,7 +580,6 @@ sub optimize_cases {
 sub process_opts_file {
   my ($tinfo, $opt_file, $opt_name)= @_;
 
-  $tinfo->{$opt_name}= [];
   if ( -f $opt_file )
   {
     my $opts= opts_from_file($opt_file);
@@ -756,17 +755,6 @@ sub collect_one_test_case {
   push(@{$tinfo->{'master_opt'}}, @$suite_opts);
   push(@{$tinfo->{'slave_opt'}}, @$suite_opts);
 
-  # ----------------------------------------------------------------------
-  # Add master opts, extra options only for master
-  # ----------------------------------------------------------------------
-  process_opts_file($tinfo, "$testdir/$tname-master.opt", 'master_opt');
-
-  # ----------------------------------------------------------------------
-  # Add slave opts, list of extra option only for slave
-  # ----------------------------------------------------------------------
-  process_opts_file($tinfo, "$testdir/$tname-slave.opt", 'slave_opt');
-  
-  
   #-----------------------------------------------------------------------
   # Check for test specific config file
   #-----------------------------------------------------------------------
@@ -987,6 +975,16 @@ sub collect_one_test_case {
   push(@{$tinfo->{'master_opt'}}, @::opt_extra_mysqld_opt);
   push(@{$tinfo->{'slave_opt'}}, @::opt_extra_mysqld_opt);
 
+  # ----------------------------------------------------------------------
+  # Add master opts, extra options only for master
+  # ----------------------------------------------------------------------
+  process_opts_file($tinfo, "$testdir/$tname-master.opt", 'master_opt');
+
+  # ----------------------------------------------------------------------
+  # Add slave opts, list of extra option only for slave
+  # ----------------------------------------------------------------------
+  process_opts_file($tinfo, "$testdir/$tname-slave.opt", 'slave_opt');
+
   return $tinfo;
 }
 

=== modified file 'mysql-test/t/disabled.def'
--- a/mysql-test/t/disabled.def	2008-11-12 17:51:47 +0000
+++ b/mysql-test/t/disabled.def	2008-12-12 21:51:44 +0000
@@ -24,3 +24,4 @@ sql_low_priority_updates_func         : 
 timestamp_func                        : BUG#37962 2008-07-08 sven *_func tests containing sleeps/race conditions
 log_output_func                       : BUG#37766 2008-07-10 sven main.log_output_func randomly fails in pushbuild
 slow_query_log_func.test              : Bug #37962: *_func tests containing sleeps/race conditions
+log_bin_trust_function_creators_func : Bug#41003 Dec-12-2008 andrei todo:re-enable after merging the bug fixes from the main trees.

Thread
bzr commit into mysql-5.1 branch (aelkin:2704) Bug#40129Andrei Elkin12 Dec