1. 14 Jul, 2008 1 commit
  2. 10 Jul, 2008 2 commits
    • Sven Sandberg's avatar
      test case rpl.rpl000018 does not exist but has option files. · b55eb29e
      Sven Sandberg authored
      removing the option files
      
      mysql-test/suite/rpl/t/rpl000018-master.opt:
        removed unused file
      mysql-test/suite/rpl/t/rpl000018-slave.opt:
        removed unused file
      b55eb29e
    • Sven Sandberg's avatar
      BUG#37975: wait_for_slave_* should increase the timeout · 9d4ee0bf
      Sven Sandberg authored
      Problem 1: tests often fail in pushbuild with a timeout when waiting
      for the slave to start/stop/receive error.
      Fix 1: Updated the wait_for_slave_* macros in the following way:
      - The timeout is increased by a factor ten
      - Refactored the macros so that wait_for_slave_param does the work for
      the other macros.
      Problem 2: Tests are often incorrectly written, lacking a
      source include/wait_for_slave_to_[start|stop].inc.
      Fix 2: Improved the chance to get it right by adding
      include/start_slave.inc and include/stop_slave.inc, and updated tests
      to use these.
      Problem 3: The the built-in test language command
      wait_for_slave_to_stop is a misnomer (does not wait for the slave io
      thread) and does not give as much debug info in case of failure as
      the otherwise equivalent macro
      source include/wait_for_slave_sql_to_stop.inc
      Fix 3: Replaced all calls to the built-in command by a call to the
      macro.
      Problem 4: Some, but not all, of the wait_for_slave_* macros had an
      implicit connection slave. This made some tests confusing to read,
      and made it more difficult to use the macro in circular replication
      scenarios, where the connection named master needs to wait.
      Fix 4: Removed the implicit connection slave from all
      wait_for_slave_* macros, and updated tests to use an explicit
      connection slave where necessary.
      Problem 5: The macros wait_slave_status.inc and wait_show_pattern.inc
      were unused. Moreover, using them is difficult and error-prone.
      Fix 5: remove these macros.
      Problem 6: log_bin_trust_function_creators_basic failed when running
      tests because it assumed @@global.log_bin_trust_function_creators=1,
      and some tests modified this variable without resetting it to its
      original value.
      Fix 6: All tests that use this variable have been updated so that
      they reset the value at end of test.
      
      
      mysql-test/extra/rpl_tests/rpl_extraMaster_Col.test:
        Replaced wait_for_slave_to_stop by include/wait_for_slave_sql_to_stop.inc
      mysql-test/extra/rpl_tests/rpl_extraSlave_Col.test:
        Replaced wait_for_slave_to_stop by include/wait_for_slave_sql_to_stop.inc
        Added connection slave since includ/wait_for_slave_sql_to_stop.inc
        does not do that anymore.
      mysql-test/extra/rpl_tests/rpl_log.test:
        Replaced start slave+wait_slave_status by start_slave.inc
      mysql-test/include/reset_master_and_slave.inc:
        replaced start/stop slave by start_slave.inc/stop_slave.inc
      mysql-test/include/sync_slave_io_with_master.inc:
        Improved comments and error message.
      mysql-test/include/wait_for_slave_io_to_stop.inc:
        Refactored to use wait_for_slave_param.inc.
        Removed connection slave.
      mysql-test/include/wait_for_slave_param.inc:
        - Improved usage instructions
        - Added more debug info in case of timeout
        - Added parameters $slave_param_comparison, $slave_timeout,
        $slave_keep_connection, $slave_error_message
      mysql-test/include/wait_for_slave_sql_error.inc:
        Refactored to use wait_for_slave_param.inc.
        Removed connection slave.
      mysql-test/include/wait_for_slave_sql_to_start.inc:
        Refactored to use wait_for_slave_param.inc.
        Removed connection slave.
      mysql-test/include/wait_for_slave_sql_to_stop.inc:
        Refactored to use wait_for_slave_param.inc.
        Removed connection slave.
      mysql-test/include/wait_for_slave_to_start.inc:
        Refactored to use wait_for_slave_param.inc.
        Removed connection slave.
      mysql-test/include/wait_for_slave_to_stop.inc:
        Refactored to use wait_for_slave_param.inc.
        Removed connection slave.
      mysql-test/include/wait_show_pattern.inc:
        Removed unused (and error-prone) file
      mysql-test/include/wait_slave_status.inc:
        Removed unused (and error-prone) file
      mysql-test/suite/binlog/t/binlog_auto_increment_bug33029.test:
        Renamed $keep_connection to $slave_keep_connection.
      mysql-test/suite/rpl/t/rpl_bug26395.test:
        Replace stop slave by stop_slave.inc
      mysql-test/suite/rpl/t/rpl_circular_for_4_hosts.test:
        Replace start/stop slave by start_slave.inc/stop_slave.inc.
        Replace wait_for_slave_param by wait_for_slave_sql_to_stop.inc.
      mysql-test/suite/rpl/t/rpl_dual_pos_advance.test:
        Renamed $keep_connection to $slave_keep_connection.
      mysql-test/suite/rpl/t/rpl_flushlog_loop.test:
        Replace wait_slave_status by start_slave.inc
      mysql-test/suite/rpl/t/rpl_idempotency.test:
        Added connection slave since wait_for_slave_sql_to_stop.inc does not
        do that any more.
      mysql-test/suite/rpl/t/rpl_incident.test:
        Replaced wait_for_slave_to_stop by wait_for_slave_sql_to_stop.inc
      mysql-test/suite/rpl/t/rpl_init_slave.test:
        Replaced start/stop slave by start_slave.inc/stop_slave.inc.
        Replaced save_master_pos;connection slave;sync_with_master by
        sync_slave_with_master.
      mysql-test/suite/rpl/t/rpl_log_pos.test:
        Replaced start/stop slave by start_slave.inc/stop_slave.inc.
        Replaced wait_for_slave_param by other wait_for_slave_* macros.
      mysql-test/suite/rpl/t/rpl_packet.test:
        Replaced start/stop slave by start_slave.inc/stop_slave.inc.
      mysql-test/suite/rpl/t/rpl_row_inexist_tbl.test:
        Replaced start/stop slave by start_slave.inc/stop_slave.inc.
      mysql-test/suite/rpl/t/rpl_row_stop_middle_update.test:
        Replaced start/stop slave by start_slave.inc/stop_slave.inc.
      mysql-test/suite/rpl/t/rpl_row_until.test:
        Replaced start/stop slave by start_slave.inc/stop_slave.inc.
        Replaced save_master_pos;connection slave;sync_with_master by
        sync_slave_with_master.
      mysql-test/suite/rpl/t/rpl_server_id1.test:
        Replaced start/stop slave by start_slave.inc/stop_slave.inc.
      mysql-test/suite/rpl/t/rpl_slave_grp_exec.test:
        Replaced start/stop slave by start_slave.inc/stop_slave.inc.
      mysql-test/suite/rpl/t/rpl_slave_skip.test:
        Replaced start/stop slave by start_slave.inc/stop_slave.inc.
      mysql-test/suite/rpl/t/rpl_slave_status.test:
        Replaced start/stop slave by start_slave.inc/stop_slave.inc.
      mysql-test/suite/rpl/t/rpl_sp.test:
        Restore @@global.log_bin_trust_function_creators at end of test.
      mysql-test/suite/rpl/t/rpl_sp_effects.test:
        Restore @@global.log_bin_trust_function_creators at end of test.
      mysql-test/suite/rpl/t/rpl_stm_until.test:
        Replaced start/stop slave by start_slave.inc/stop_slave.inc.
        Replaced save_master_pos;connection slave;sync_with_master by
        sync_slave_with_master.
      mysql-test/suite/rpl_ndb/t/rpl_ndb_basic.test:
        Replaced start slave by start_slave.inc.
        Added explicit connection slave since wait_for_slave_sql_to_stop.inc
        does not do that anymore.
      mysql-test/t/disabled.def:
        Disabled failing test.
      mysql-test/t/func_time.test:
        Restore @@global.log_bin_trust_function_creators at end of test.
      mysql-test/t/grant.test:
        Restore @@global.log_bin_trust_function_creators at end of test.
      mysql-test/t/grant2.test:
        Restore @@global.log_bin_trust_function_creators at end of test.
      mysql-test/t/innodb_notembedded.test:
        Restore @@global.log_bin_trust_function_creators at end of test.
      mysql-test/t/log_bin_trust_function_creators_func.test:
        Restore @@global.log_bin_trust_function_creators at end of test.
        Clean up at end of test by dropping the created user.
      mysql-test/t/query_cache.test:
        Restore @@global.log_bin_trust_function_creators at end of test.
      mysql-test/t/query_cache_notembedded.test:
        Restore @@global.log_bin_trust_function_creators at end of test.
      mysql-test/t/rpl_init_slave_func.test:
        Replaced start/stop slave by start_slave.inc/stop_slave.inc.
      mysql-test/t/timezone2.test:
        Restore @@global.log_bin_trust_function_creators at end of test.
      9d4ee0bf
  3. 09 Jul, 2008 1 commit
    • Mats Kindahl's avatar
      Ensuring that master and slave both issue a RESET MASTER and RESET SLAVE · 73948a84
      Mats Kindahl authored
      when resetting replication tests.  If not, circular replication setups
      will leave cruft in the slaves binary log.
      
      mysql-test/include/master-slave-reset.inc:
        Adding RESET MASTER on slave and RESET SLAVE on master. In order to avoid
        having to re-generate all the replication test result files, I disable the
        query log for the added statements.
      mysql-test/suite/rpl/t/rpl_flushlog_loop.test:
        Adding code to clean up after test. Disabling query log for the cleanup code.
      73948a84
  4. 08 Jul, 2008 5 commits
    • Mats Kindahl's avatar
      Patch to remove extreneous printout. · 3ae36a1e
      Mats Kindahl authored
      mysql-test/include/wait_for_slave_sql_to_stop.inc:
        Removing extreneous printout.
      3ae36a1e
    • Mats Kindahl's avatar
      Manual merge with mysql-5.1-rpl · d4c0cf10
      Mats Kindahl authored
      d4c0cf10
    • Mats Kindahl's avatar
      Bug #37939 rpl_row_stop_middle_update fails sporadically on pushbuild · eabc3f75
      Mats Kindahl authored
      Bug #37940    rpl_dual_pos_advance fails sporadically on pushbuild,fail wait_for_slave_to_stop
      Bug #37941    rpl_flushlog_loop fails sporadically on pushbuild
        
      Several tests fail when waiting for the slave to stop in what
      appears to be timeouts caused by a timeout value set to low. 
      This causes false failures when the servers are loaded.
        
      In order to try to avoid false negatives, we increase the
      timeout 10 times and also print some more information in the
      event that the slave fails to stop when expected to.
        
      We add a printout of the current processes running to be able
      to see if any process have been executing for an unexpectedly
      long time, and also print the binlog events at the position
      indicated by SHOW SLAVE STATUS.
      
      
      mysql-test/include/wait_for_slave_sql_to_stop.inc:
        - Increasing default timeout 10 times and allowing it to be configurable.
        - Adding printout of process list on failure.
        - Adding printout of binlog events on master that has not yet been applied,
          unless $keep_connection is true.
      eabc3f75
    • Sven Sandberg's avatar
      merged in disabled test cases · 8dd90aff
      Sven Sandberg authored
      8dd90aff
    • Sven Sandberg's avatar
      BUG#37962: *_func tests containing sleeps/race conditions · ff20ea67
      Sven Sandberg authored
      This is not a fix, it just disables the erroneous test cases.
      
      
      mysql-test/t/disabled.def:
        Disabled a number of new tests that contain sleeps and that
        have not been checked for race conditions. At least some of
        them contain race conditions.
      ff20ea67
  5. 07 Jul, 2008 6 commits
    • Sven Sandberg's avatar
      merged fix for bug#37373 into 5.1-rpl · 58bfe41f
      Sven Sandberg authored
      58bfe41f
    • Sven Sandberg's avatar
      BUG#37933: Test "rpl_insert" fails - timing problem in replication test ? · 0b912ed1
      Sven Sandberg authored
      Problem: the test syncs slave by a 'wait_condition' waiting until
      table t1 has 5000 rows. However, there is no guarantee that t1
      makes it to the slave before the wait_condition.
      Fix: sync_slave_with_master just after t1 was created.
      
      
      mysql-test/suite/rpl/t/rpl_insert.test:
        Added sync_slave_with_master to ensure that table t1 is on
        slave before the slave executes wait_condition.
      0b912ed1
    • Sven Sandberg's avatar
      merged fixes for bug#37858 · 0549cfaf
      Sven Sandberg authored
      0549cfaf
    • Sven Sandberg's avatar
      merge with local changes for bug#37906 · acc7f512
      Sven Sandberg authored
      acc7f512
    • Sven Sandberg's avatar
      Post-merge fixes. · 8f83fc20
      Sven Sandberg authored
      The file tree in mtr's vardir has changed so an old
      hard-coded path in mysql-test/t/subselect.test didn't
      work.
      Fix: update the paths in the test.
      
      
      mysql-test/r/subselect.result:
        Updated result file.
      mysql-test/t/subselect.test:
        Problem: The file tree in mtr's vardir has changed
        so an old hard-coded path didn't work.
        Fix: update the paths in the test.
      8f83fc20
    • Sven Sandberg's avatar
      rpl_row_inexist_tbl gave a merge conflict because the binlog · 8d6cce7a
      Sven Sandberg authored
      positions changed. Fixed by removing binlog positions from
      output, and also:
       - removed code not used to verify the tested property
       - added comments
      
      
      mysql-test/suite/rpl/r/rpl_row_inexist_tbl.result:
        Updated result file.
      mysql-test/suite/rpl/t/rpl_row_inexist_tbl-slave.opt:
        Removed option file: it's not needed any more.
      mysql-test/suite/rpl/t/rpl_row_inexist_tbl.test:
        Improved the test in the following ways:
         - The table t2 was not used to verify the property to test,
        so t2 has been removed.
         - Now printing only the relevant column from SHOW SLAVE STATUS
         - Added comments.
      8d6cce7a
  6. 06 Jul, 2008 3 commits
    • Sven Sandberg's avatar
      BUG#37906: innodb_max_dirty_pages_pct_func does not clean up after itself · a71a5c25
      Sven Sandberg authored
      Made the test innodb_max_dirty_pages_pct_func clean up after itself.
      
      
      mysql-test/r/innodb_max_dirty_pages_pct_func.result:
        Updated result file.
      mysql-test/t/disabled.def:
        Fixed BUG#37906
      mysql-test/t/innodb_max_dirty_pages_pct_func.test:
        Made the test clean up after itself.
      a71a5c25
    • Sven Sandberg's avatar
      Merge 5.1 -> 5.1-rpl · 41404f49
      Sven Sandberg authored
      41404f49
    • Sven Sandberg's avatar
      BUG#37373: rpl_ndb_transaction fails sporadically in pb on sol10-amd64-a and sol10-sparc-a · ce23b448
      Sven Sandberg authored
      Problem: rpl_ndb_transaction fails because it assumes nothing
      is written to the binlog at a certain point. However, ndb may
      binlog updates in ndb system tables at a nondeterministic
      time point after an ndb table update has been committed.
      Fix: break the test into two. rpl_ndb_transaction still does
      the ndb updates needed by the first half of the test. The new
      test case rpl_bug26395 includes the part that assumes nothing
      more will be written to the binlog.
      
      
      mysql-test/include/sync_slave_io_with_master.inc:
        Like sync_slave_with_master, but only waits until the IO thread has
        synced; the SQL thread may still be behind.
      mysql-test/suite/rpl/r/rpl_bug26395.result:
        New result file.
      mysql-test/suite/rpl/t/rpl_bug26395-master.opt:
        New option file.
      mysql-test/suite/rpl/t/rpl_bug26395-slave.opt:
        New option file.
      mysql-test/suite/rpl/t/rpl_bug26395.test:
        - Moved second half of rpl_ndb_transaction here.
        - Improved the test case: instead of using a sleep,
        it waits for the slave's io thread to sync up to a proper
        position, and for the slave's sql thread to sync up to
        another position.
        - Added a warning that no more tests should be added at the
        end of the file.
      mysql-test/suite/rpl_ndb/r/rpl_ndb_mixed_engines_transactions.result:
        Updated and renamed result file.
      mysql-test/suite/rpl_ndb/t/rpl_ndb_mixed_engines_transactions-master.opt:
        No need for the special debug flag any more, it was used by
        the second part of the test which is now in rpl_bug26395.
        Also renamed the file.
      mysql-test/suite/rpl_ndb/t/rpl_ndb_mixed_engines_transactions-slave.opt:
        Renamed option file.
      mysql-test/suite/rpl_ndb/t/rpl_ndb_mixed_engines_transactions.test:
        - Moved second half of the test to another test (rpl_bug26395)
        - Improved comments.
        - Extended the mixed transaction test to include also innodb.
        - Used 'source include/diff_tables.inc' instead of listing
        several identical tables in the result file.
        - Renamed the test.
      ce23b448
  7. 04 Jul, 2008 1 commit
    • Sven Sandberg's avatar
      BUG#37858: loaddata,rpl_slave_skip,rpl_innodb_mixed_dml fail if datafile not world-readable · 761b1b29
      Sven Sandberg authored
      Problem 1: main.loaddata tried to trigger an error caused by
      reading files outside the vardir, by reading itself. However,
      if loaddata.test is not world-readable (e.g., umask=0077),
      then another error is triggered.
      Fix 1: allow the other error too.
      Problem 2: rpl_slave_skip and rpl_innodb_mixed_dml tried to
      copy a file from mysql-test/suite/rpl/data to mysql-test/var
      and then read it. That failed too if umask=0077, since the
      file would not become world-readable.
      Fix 2: move the files from mysql-test/suite/rpl/data to
      mysql-test/std_data and update tests accordingly. Remove
      the directory mysql-test/suite/rpl/data.
      
      
      mysql-test/r/loaddata.result:
        Updated result file.
      mysql-test/std_data/rpl_bug28618.dat:
        Moved this file to std_data.
      mysql-test/std_data/rpl_mixed.dat:
        Moved this file to std_data.
      mysql-test/suite/rpl/data:
        Removed directory that is now unused.
      mysql-test/suite/rpl/include/rpl_mixed_dml.inc:
        The rpl_mixed.dat file has been moved. Updated the test to
        use the new location.
      mysql-test/suite/rpl/r/rpl_innodb_mixed_dml.result:
        Updated result file.
      mysql-test/suite/rpl/r/rpl_slave_skip.result:
        Updated result file.
      mysql-test/suite/rpl/t/rpl_slave_skip.test:
        The rpl_bug28618.dat file has been moved. Updated the test
        to use the new location.
      mysql-test/t/loaddata.test:
        Allow more error messages. ER_TEXTFILE_NOT_READABLE may
        happen if the file is not world-readable (which may happen,
        e.g., if the user has umask=0077).
      761b1b29
  8. 01 Jul, 2008 1 commit
  9. 30 Jun, 2008 2 commits
    • Matthias Leich's avatar
      Fix for · 69c61a94
      Matthias Leich authored
         Bug#36787 Test funcs_1.charset_collation_1 failing
      Details:
      1. Skip charset_collation_1 if charset "ucs2_bin" is
         missing (property which distincts "vanilla" builds
         from the others)
      2. Let builds with version_comment LIKE "%Advanced%"
         (found them for 5.1) execute charset_collation_3.
      3. Update comments charset_collation.inc so that they
         reflect the current experiences.
      69c61a94
    • Joerg Bruehe's avatar
  10. 25 Jun, 2008 3 commits
  11. 24 Jun, 2008 4 commits
  12. 21 Jun, 2008 1 commit
    • Tatiana A. Nurnberg's avatar
      auto merge · 5a041166
      Tatiana A. Nurnberg authored
      configure.in:
        auto-merge
      mysql-test/suite/bugs/r/rpl_bug33029.result:
        auto-merge
      mysql-test/suite/bugs/t/rpl_bug33029.test:
        auto-merge
      sql/slave.cc:
        auto-merge
      sql/sql_class.cc:
        auto-merge
      sql/structs.h:
        auto-merge
      5a041166
  13. 20 Jun, 2008 5 commits
  14. 19 Jun, 2008 5 commits
    • Andrei Elkin's avatar
      Bug#36443 Server crashes when executing insert when insert trigger on table · bf327673
      Andrei Elkin authored
                              
            The crash appeared to be a result of allocating an instance of Discrete_interval 
            automatically that that was referred in out-of-declaration scope.
                              
            Fixed with correcting backing up and restoring scheme of
            auto_inc_intervals_forced, introduced by bug#33029, by means of shallow copying;
            added simulation code that forces executing those fixes of the former bug that
            targeted at master-and-slave having incompatible bug#33029-prone versions.
      
      mysql-test/suite/bugs/r/rpl_bug33029.result:
        new results file
      mysql-test/suite/bugs/t/rpl_bug33029.test:
        test merely checks no crash happens on slave.
      sql/slave.cc:
        forcing to execute special logics implemented for bug#33029 if
        simulate_bug33029 the debug option is set.
      sql/sql_class.cc:
        swaps of backed and the actual auto_inc_intervals_forced basing on shallow coping.
      sql/structs.h:
        Removing the deep _copy() and methods associated with it;
        adding methods to Discrete_intervals_list:
            
        private `=', copy constructor to prevent using;
        private set_members();
        public  copy_shallow(), swap(), get_{head, tail, current}();
                empty_no_free() through set_members().
      bf327673
    • Davi Arnaut's avatar
      Silence unused variable warning by printing the variables value. · 2ed6d460
      Davi Arnaut authored
      mysys/stacktrace.c:
        Print stack bottom and thread stack values as they might be useful.
      2ed6d460
    • Gleb Shchepa's avatar
      auto merge · f13220ce
      Gleb Shchepa authored
      f13220ce
    • Davi Arnaut's avatar
      Bug#37003 Tests sporadically crashes with embedded server · f51127e6
      Davi Arnaut authored
      Another problem is that the backtrace facility wasn't being
      enabled for non-Linux targets even if the target OS has the
      backtrace functions. Also, the stacktrace functions inside
      mysqltest were being used without proper checks for their
      presence in the build.
      
      
      client/mysqltest.c:
        Only use stacktrace functions if they are available.
      configure.in:
        Check if the compiler defines __bss_start
      include/my_stacktrace.h:
        Enable stacktrace if system has backtrace functions.
      mysys/stacktrace.c:
        Use backtrace functions if the system supports it.
      sql/mysqld.cc:
        Only use stacktrace functions if they are available.
      f51127e6
    • Gleb Shchepa's avatar
      auto merge with local tree (bug #37076) · b4c59a09
      Gleb Shchepa authored
      b4c59a09