1. 14 Mar, 2008 1 commit
    • unknown's avatar
      BUG#33029 5.0 to 5.1 replication fails on dup key when inserting · b7dbdb08
      unknown authored
      using a trig in SP
      
      For all 5.0 and up to 5.1.12 exclusive, when a stored routine or
      trigger caused an INSERT into an AUTO_INCREMENT column, the
      generated AUTO_INCREMENT value should not be written into the
      binary log, which means if a statement does not generate
      AUTO_INCREMENT value itself, there will be no Intvar event (SET
      INSERT_ID) associated with it even if one of the stored routine
      or trigger caused generation of such a value. And meanwhile, when
      executing a stored routine or trigger, it would ignore the
      INSERT_ID value even if there is a INSERT_ID value available set
      by a SET INSERT_ID statement.
      
      Starting from MySQL 5.1.12, the generated AUTO_INCREMENT value is
      written into the binary log, and the value will be used if
      available when executing the stored routine or trigger.
      
      Prior fix of this bug in MySQL 5.0 and prior MySQL 5.1.12
      (referenced as the buggy versions in the text below), when a
      statement that generates AUTO_INCREMENT value by the top
      statement was executed in the body of a SP, all statements in the
      SP after this statement would be treated as if they had generated
      AUTO_INCREMENT by the top statement.  When a statement that did
      not generate AUTO_INCREMENT value by the top statement but by a
      function/trigger called by it, an erroneous Intvar event would be
      associated with the statement, this erroneous INSERT_ID value
      wouldn't cause problem when replicating between masters and
      slaves of 5.0.x or prior 5.1.12, because the erroneous INSERT_ID
      value was not used when executing functions/triggers. But when
      replicating from buggy versions to 5.1.12 or newer, which will
      use the INSERT_ID value in functions/triggers, the erroneous
      value will be used, which would cause duplicate entry error and
      cause the slave to stop.
      
      The patch for 5.1 fixed it to ignore the SET INSERT_ID value when
      executing functions/triggers if it is replicating from a master
      of buggy versions, another patch for 5.0 fixed it not to generate
      the erroneous Intvar event.
      
      
      mysql-test/include/show_binlog_events.inc:
        add $binlog_start parameter to show binlog events from a given position
      sql/slave.cc:
        Add function to check for bug#33029
      sql/slave.h:
        Add function to check for bug#33029
      sql/sql_class.cc:
        if master has bug#33029, reset auto_inc_intervals_forced for sub statements
        
        add a new function Discrete_intervals_list::append that takes a Discrete_interval as argument
      sql/sql_class.h:
        Add member to save and restore auto_inc_intervals_forced
      sql/structs.h:
        add copy constructor and assignment operator for Discrete_intervals_list
        
        add a new function Discrete_intervals_list::append that takes a Discrete_interval as argument
      mysql-test/std_data/bug33029-slave-relay-bin.000001:
        relay logs from a buggy 5.0 master for test case of BUG#33029
      mysql-test/suite/binlog/r/binlog_auto_increment_bug33029.result:
        Test if the slave can process relay logs from a buggy master of BUG#33029
      mysql-test/suite/binlog/t/binlog_auto_increment_bug33029-master.opt:
        Test if the slave can process relay logs from a buggy master of BUG#33029
      mysql-test/suite/binlog/t/binlog_auto_increment_bug33029.test:
        Test if the slave can process relay logs from a buggy master of BUG#33029
      b7dbdb08
  2. 20 Feb, 2008 9 commits
    • unknown's avatar
      Merge aelkin@bk-internal.mysql.com:/home/bk/mysql-5.1-new-rpl · 25743584
      unknown authored
      into  mysql1000.(none):/home/andrei/MySQL/FIXES/5.1/bug31316-sss_server_id_clashes
      
      
      sql/slave.cc:
        Auto merged
      25743584
    • unknown's avatar
      Bug #31316 Report server id clashes in SHOW SLAVE STATUS · c2d82017
      unknown authored
          "Server_IO_State" field
      
      Critical error messages from get_master_version_and_clock() were written
      only to the slave errorlog while Show slave status did not display any
      incident happened.
      
      Although the artifact was reported for a particular --replicate-same-server-id
      related issue the fix refines all critical error reporting with 
      deploying rli->report().
      
      The test for the bug covers only --replicate-same-server-id error reporting.
      
      
      mysql-test/suite/rpl/r/rpl_server_id1.result:
        new results reflecting changes
      mysql-test/suite/rpl/t/rpl_server_id1.test:
        Preserving the idea of the test unnecessary queries and the sleep are
        eliminated.
        In the end the slave must stop with the error displayable via $$$.
      sql/slave.cc:
        improving get_master_version_and_clock() code to report a critical incident
        via rli->report() that takes care of bothe the error log and
        the slave's status info placeholders.
        
        A critical error that force the IO slave thread to terminate is handled
        immediately (goto err).
      c2d82017
    • unknown's avatar
      Merge dl145h.mysql.com:/data0/mkindahl/mysql-5.0-rpl · ece6ddfe
      unknown authored
      into  dl145h.mysql.com:/data0/mkindahl/mysql-5.1-rpl
      
      
      mysql-test/extra/binlog_tests/ctype_cp932.test:
        Auto merged
      mysql-test/r/ctype_euckr.result:
        Auto merged
      mysql-test/r/ctype_sjis.result:
        Auto merged
      mysql-test/r/ctype_uca.result:
        Auto merged
      mysql-test/r/ctype_ujis.result:
        Auto merged
      mysql-test/suite/binlog/r/binlog_stm_ctype_cp932.result:
        Auto merged
      mysql-test/t/ctype_sjis.test:
        Auto merged
      mysql-test/t/ctype_uca.test:
        Auto merged
      mysql-test/t/ctype_ujis.test:
        Auto merged
      strings/ctype-euc_kr.c:
        Auto merged
      strings/ctype-eucjpms.c:
        Auto merged
      strings/ctype-gb2312.c:
        Auto merged
      strings/ctype-ucs2.c:
        Auto merged
      strings/ctype-ujis.c:
        Auto merged
      mysql-test/r/ctype_ucs.result:
        SCCS merged
      mysql-test/t/ctype_ucs.test:
        SCCS merged
      ece6ddfe
    • unknown's avatar
      Merge dl145h.mysql.com:/data0/mkindahl/mysql-5.1 · e2b418a9
      unknown authored
      into  dl145h.mysql.com:/data0/mkindahl/mysql-5.1-rpl
      
      
      sql/handler.cc:
        Auto merged
      e2b418a9
    • unknown's avatar
      Merge dl145h.mysql.com:/data0/mkindahl/mysql-5.0 · d856df3c
      unknown authored
      into  dl145h.mysql.com:/data0/mkindahl/mysql-5.0-rpl
      
      d856df3c
    • unknown's avatar
    • unknown's avatar
      WL#4078: Document binary format of binlog entries · 4de6511e
      unknown authored
      Minor update with corrections and notes on the binlog format.
      This only affects comments, not code.
      
      
      sql/log_event.h:
        Fixes in documentation of binlog format.
      4de6511e
    • unknown's avatar
      Upon the sql command flush logs, we need to ensure that all outstanding · 05184020
      unknown authored
      ndb data to be logged has made it to the binary log to get a deterministic
      behavior on the rotation of the log.
      
      05184020
    • unknown's avatar
      Merge mysql.com:/home/bar/mysql-work/mysql-5.0.b32510 · d674fa5b
      unknown authored
      into  mysql.com:/home/bar/mysql-work/mysql-5.0.b32510v2
      
      
      mysql-test/r/ctype_big5.result:
        Auto merged
      mysql-test/r/ctype_cp932.result:
        Auto merged
      mysql-test/r/ctype_euckr.result:
        Auto merged
      mysql-test/r/ctype_gb2312.result:
        Auto merged
      mysql-test/r/ctype_gbk.result:
        Auto merged
      mysql-test/r/ctype_uca.result:
        Auto merged
      mysql-test/r/ctype_ucs.result:
        Auto merged
      mysql-test/t/ctype_cp932.test:
        Auto merged
      mysql-test/t/ctype_uca.test:
        Auto merged
      mysql-test/t/ctype_ucs.test:
        Auto merged
      strings/ctype-ucs2.c:
        Auto merged
      d674fa5b
  3. 19 Feb, 2008 5 commits
  4. 18 Feb, 2008 2 commits
    • unknown's avatar
      Fixed broken result file. · 595eed32
      unknown authored
      595eed32
    • unknown's avatar
      Updating result files. · ac68c557
      unknown authored
      
      mysql-test/r/multi_update.result:
        Result change.
      mysql-test/r/rpl_bug33931.result:
        Result change.
      mysql-test/suite/ndb/r/ndb_binlog_format.result:
        Result change.
      ac68c557
  5. 15 Feb, 2008 9 commits
    • unknown's avatar
      Merge dl145h.mysql.com:/data0/mkindahl/mysql-5.0-rpl-merge · 1c01e0dd
      unknown authored
      into  dl145h.mysql.com:/data0/mkindahl/mysql-5.0-rpl
      
      1c01e0dd
    • unknown's avatar
      Merge dl145h.mysql.com:/data0/mkindahl/mysql-5.0-rpl · 44a2e316
      unknown authored
      into  dl145h.mysql.com:/data0/mkindahl/mysql-5.1-rpl
      
      
      sql/sql_delete.cc:
        Auto merged
      sql/sql_update.cc:
        Auto merged
      BitKeeper/deleted/.del-rpl_variables.test:
        Manual merge.
      mysql-test/r/multi_update.result:
        Manual merge.
      mysql-test/suite/binlog/r/binlog_stm_mix_innodb_myisam.result:
        Manual merge.
      sql/slave.cc:
        Manual merge.
      44a2e316
    • unknown's avatar
      Merge ssandberg@bk-internal.mysql.com:/home/bk/mysql-5.1-new-rpl · 8d97e316
      unknown authored
      into  riska.(none):/home/sven/bktip/5.1-new-rpl
      
      8d97e316
    • unknown's avatar
      Problem: After I moved rpl/t/rpl_variables.test into t/variables.test, · 05d1dc5c
      unknown authored
      t/variables.test fails on embedded server. Moved out that part again, to
      a new test called t/variables-notembedded.test.
      
      
      mysql-test/t/variables-notembedded.test:
        BitKeeper file /home/sven/bk/debug-max/5.1-new-rpl/mysql-test/t/variables-notembedded.test
      mysql-test/r/variables-notembedded.result:
        Add -master.opt file to have a list of variables for slave_skip_errors.
      mysql-test/r/variables.result:
        Variable variables not available in embedded mode to a new test,
        variables-notembedded.test
      mysql-test/t/variables-notembedded-master.opt:
        Add --loose before --slave-skip-errors, so that it works if mtr is run
        with --embedded
      mysql-test/t/variables.test:
        Variable variables not available in embedded mode to a new test,
        variables-notembedded.test. Result file updated accordingly.
      05d1dc5c
    • unknown's avatar
      Merge kindahl-laptop.dnsalias.net:/home/bkroot/mysql-5.1-rpl · df953126
      unknown authored
      into  kindahl-laptop.dnsalias.net:/home/bk/b34458-mysql-5.1-rpl
      
      df953126
    • unknown's avatar
      Bug #34458 Extreneous use of templates in server code · 15267188
      unknown authored
      Patch to remove white-space left over after removing anonymous
      namespace.
      
      
      sql/handler.cc:
        Removing indentation and whitespace.
      15267188
    • unknown's avatar
      Bug #34458 Extreneous use of templates in server code · 06697e88
      unknown authored
      Replacing a template function with a normal static function.
      The template parameter, which previously was the class to
      find a binlogging function in, is now passed as a pointer to
      the actual binlogging function instead.
      
      The patch requires change of indention, but that is submitted
      as a separate patch.
      
      
      sql/handler.cc:
        Replacing template function with a normal static function.
      06697e88
    • unknown's avatar
      Merge abarkov@bk-internal.mysql.com:/home/bk/mysql-5.1-rpl · acb530ee
      unknown authored
      into  mysql.com:/home/bar/mysql-work/mysql-5.1.b27877
      
      acb530ee
    • unknown's avatar
      Adding waits to events_scheduling to prevent the test from · a77151c7
      unknown authored
      failing on heavily loaded systems.
      
      
      mysql-test/t/events_scheduling.test:
        Adding waits before statements since the scheduler is unpredictable
        on loaded systems and might be delayed.
      a77151c7
  6. 14 Feb, 2008 5 commits
  7. 13 Feb, 2008 9 commits
    • unknown's avatar
      correct merge error · c3f5a31f
      unknown authored
      c3f5a31f
    • unknown's avatar
      correct manual merge · c8760956
      unknown authored
      c8760956
    • unknown's avatar
      Merge poseidon.bredbandsbolaget.se:/home/tomas/mysql-5.1-rpl-merge · 9c210f47
      unknown authored
      into  poseidon.bredbandsbolaget.se:/home/tomas/mysql-5.1-new-ndb-merge
      
      9c210f47
    • unknown's avatar
      correction of merge · 39582d61
      unknown authored
      39582d61
    • unknown's avatar
      BUG#32991: Races in mysqldump.test (or mysqldump.test fails sporadically) · b1ba8c50
      unknown authored
      This is *not* a fix to the bug. I'm only disabling the failing part of
      mysqldump.test until the bug is fixed. Whoever fixes it, please re-enable
      the test.
      
      
      mysql-test/r/mysqldump.result:
        Disabling part of the test case until BUG#32991 is fixed. Result file
        updated accordingly.
      mysql-test/t/mysqldump.test:
        Disabling this part of the test case until BUG#32991 is fixed.
      b1ba8c50
    • unknown's avatar
      Bug #33931 assertion at write_ignored_events_info_to_relay_log if init_slave_thread() fails · 8b90be89
      unknown authored
      and
      bug#33932  assertion at handle_slave_sql if init_slave_thread() fails
      
      the asserts were caused by 
        bug33931: having thd deleted at time of executing err: code plus
                  a missed initialization;
        bug33932: initialization of slave_is_running member was missed;
      
      fixed with relocating mi members initialization and removing delete thd
      It is safe to do as deletion happens later explicitly in the caller of
      init_slave_thread().
      
      Todo: at merging the test is better to be moved into suite/bugs for 5.x (when x>0).
      
      
      sql/slave.cc:
        adding the bugs simulating code;
        relocating some assignments to satisfy the asserts;
      mysql-test/r/rpl_bug33931.result:
        the new result file
      mysql-test/t/rpl_bug33931-slave.opt:
        option to spark the simulation code
      mysql-test/t/rpl_bug33931.test:
        tests check that slave does not crash as before.
        Slave threads must be in NO running state in the end.
      8b90be89
    • unknown's avatar
      Removing non-deterministic tests from events_scheduling test. · b7ebc60f
      unknown authored
      
      mysql-test/r/events_scheduling.result:
        Result change.
      mysql-test/t/events_scheduling.test:
        Removing a test that only confirms that event scheduling is
        inexact, hence causing sporadic failures on loaded machines.
      b7ebc60f
    • unknown's avatar
      Merge poseidon.ndb.mysql.com:/home/tomas/mysql-5.1-rpl-merge · 0ef0faa7
      unknown authored
      into  poseidon.ndb.mysql.com:/home/tomas/mysql-5.1-new-ndb-merge
      
      0ef0faa7
    • unknown's avatar
      The test rpl_row_charset and it dependent rpl_ndb_charset is · 7b67a0c9
      unknown authored
      irrelevant to execute since the charset information does not
      affect replication for row-based replication. The row-based
      versions of the tests were removed, and the statement-based
      version of the test was made executable by all three modes.
      
      This involves removing any lines that causes the test to be
      dependent on the contents of the binary log, and instead we
      just check that the replication works as it should.
      
      
      BitKeeper/deleted/.del-rpl_ndb_charset.test:
        Delete: mysql-test/suite/rpl_ndb/t/rpl_ndb_charset.test
      BitKeeper/deleted/.del-rpl_ndb_charset.result:
        Delete: mysql-test/suite/rpl_ndb/r/rpl_ndb_charset.result
      BitKeeper/deleted/.del-rpl_row_charset.test:
        Delete: mysql-test/extra/rpl_tests/rpl_row_charset.test
      BitKeeper/deleted/.del-rpl_row_charset.test~739be9df1baaee3e:
        Delete: mysql-test/suite/rpl/t/rpl_row_charset.test
      BitKeeper/deleted/.del-rpl_row_charset_innodb.test:
        Delete: mysql-test/suite/rpl/t/rpl_row_charset_innodb.test
      BitKeeper/deleted/.del-rpl_row_charset_innodb-master.opt:
        Delete: mysql-test/suite/rpl/t/rpl_row_charset_innodb-master.opt
      BitKeeper/deleted/.del-rpl_row_charset_innodb-slave.opt:
        Delete: mysql-test/suite/rpl/t/rpl_row_charset_innodb-slave.opt
      BitKeeper/deleted/.del-rpl_row_charset_innodb.result:
        Delete: mysql-test/suite/rpl/r/rpl_row_charset_innodb.result
      BitKeeper/deleted/.del-rpl_row_charset.result:
        Delete: mysql-test/suite/rpl/r/rpl_row_charset.result
      mysql-test/extra/rpl_tests/rpl_charset.test:
        Test is not dependent on binlog format any more.
        Using --echo instead of "select" to print text.
        Removing lines causing the test to be dependent on binlog contents.
      mysql-test/suite/rpl/r/rpl_charset.result:
        Result change.
      mysql-test/suite/rpl/t/rpl_charset.test:
        Using renamed version of test file.
      7b67a0c9