1. 30 Jan, 2008 3 commits
    • unknown's avatar
      Post-merge changes. · f22670c5
      unknown authored
      
      BitKeeper/deleted/.del-show_binlog_events2.inc:
        Delete: mysql-test/include/show_binlog_events2.inc
      client/mysqlbinlog.cc:
        char -> uchar for raw memory.
      sql/item_cmpfunc.cc:
        Adding cast to remove warning when converting negative integer
        to unsigned type.
      sql/log_event.cc:
        char -> uchar for raw memory.
      sql/log_event.h:
        char -> uchar for raw memory.
      sql/rpl_utility.cc:
        Adding cast to remove warning when converting negative integer
        to unsigned type.
      sql/slave.cc:
        char -> uchar for raw memory.
      sql/sql_repl.cc:
        char -> uchar for raw memory.
      sql-common/client.c:
        char -> uchar for raw memory.
      f22670c5
    • unknown's avatar
      Merge dl145h.mysql.com:/data0/mkindahl/mysql-5.0-rpl · b2fd294d
      unknown authored
      into  dl145h.mysql.com:/data0/mkindahl/mysql-5.1-rpl
      
      
      sql/sql_parse.cc:
        Auto merged
      include/my_sys.h:
        Manual merge
      mysql-test/suite/rpl/r/rpl_grant.result:
        Manual merge
      sql/sql_acl.cc:
        Manual merge
      sql/sql_repl.cc:
        Manual merge
      b2fd294d
    • unknown's avatar
      Merge zhe@bk-internal.mysql.com:/home/bk/mysql-5.0-rpl · 69b9cf34
      unknown authored
      into  mail.hezx.com:/media/sda3/work/mysql/bkwork/bug26489_corruption_in_relay_log/5.0
      
      69b9cf34
  2. 29 Jan, 2008 2 commits
    • unknown's avatar
      update test result · 6b608eaa
      unknown authored
      
      mysql-test/r/rpl_grant.result:
        update result
      6b608eaa
    • unknown's avatar
      BUG#26489 Corruption in relay logs · cbcbfd77
      unknown authored
      Here is the scenario that causes the failure.(by Mats)
      
      1. The to-be corrupt log event (let's call it X), is split into two
         packets B and C on the network level (net_write_buff()). The parts
         are X = (x',x''). The part x' ends up in packet B and part x''
         ends up in packet C. Prior to the corrupt event X, the event Y has
         been written successfully, but has been split into two packets as
         well, which we call (y',y'').
      2. The master sends packet A = (y'',x') to the slave, increases the
         packet sequence number, the slave receives the packet, but fails
         to reply before the master gets a timeout.
      3. Since the master got a timeout, it reports failure, and aborts
         sending the binary log by exiting mysql_binlog_send(). However, it
         leaves the buffer intact, still holding y'' (but not x', since the
         write_pos is not increased).
      4. After exiting mysql_binlog_send(), the master does a
         disconnection of the client thread, which involves sending an
         error message e to the client (i.e., the slave).
      5. In this case, net_write_buff() is used again, but this time the
         old contents of the packet is used so that the new packet is
         D = (y'',e). Note that this will use a new packet sequence number,
         since the packet number was increased in step 2.
      6. The slave receives the tail y'' of the Y log event, concatenates
         this with x' (which it already received), and writes the event
         (x',y'') it to the relay log since it hasn't noticed anything is
         amiss.
      7. It then tries to read more bytes, which is either e (if the length
         given for X just happened to match the length given for Y, or just
         plain garbage because the slave is out of sync with what is
         actually sent.
      8. After a while, the SQL thread tries to execute the event (x',y''),
         which is very likely to be just nonsense.
      
      The problem can be fixed by not resetting net->error after the call of 
      mysql_binlog_send, so the error message will not be sent and the connection
      will be closed.
      
      
      sql/sql_parse.cc:
        Do not reset net->error, if net->error == 2, we should not try to use the connection again
      cbcbfd77
  3. 25 Jan, 2008 1 commit
    • unknown's avatar
      BUG#33862 completely failed DROP USER statement gets replicated · c78852a5
      unknown authored
      The problem is when create/rename/drop users, the statement was logged regardless of error, even if no data has been changed, the statement was logged.
      
      After this patch, create/rename/drop users don't write the binlog if the statement makes no changes, if the statement does make any changes, log the statement with possible error code.
      
      This patch is based on the patch for BUG#29749, which is not pushed
      
      
      sql/sql_acl.cc:
        when create/rename/drop users, don't write the binlog if the statement make no changes
      mysql-test/r/rpl_user.result:
        New BitKeeper file ``mysql-test/r/rpl_user.result''
      mysql-test/t/rpl_user.test:
        New BitKeeper file ``mysql-test/t/rpl_user.test''
      c78852a5
  4. 22 Jan, 2008 1 commit
    • unknown's avatar
      fix test failure · 14b9568b
      unknown authored
      
      mysql-test/extra/binlog_tests/mix_innodb_myisam_binlog.test:
        Remove unnecessary show master status, and replace the rest with show binlog events for checking
      mysql-test/suite/binlog/r/binlog_row_mix_innodb_myisam.result:
        update result
      mysql-test/suite/binlog/r/binlog_stm_mix_innodb_myisam.result:
        update result
      14b9568b
  5. 21 Jan, 2008 2 commits
    • unknown's avatar
      fix failed tests · 1863a8e3
      unknown authored
      
      mysql-test/extra/binlog_tests/blackhole.test:
        mask out file_id
      mysql-test/extra/binlog_tests/mix_innodb_myisam_side_effects.test:
        remove unnecessary show master status
      mysql-test/suite/binlog/r/binlog_stm_blackhole.result:
        mask out file_id
      mysql-test/suite/binlog/r/binlog_stm_mix_innodb_myisam.result:
        remove unnecessary show master status
      1863a8e3
    • unknown's avatar
      Merge mail.hezx.com:/media/sda3/work/mysql/bkwork/bug#32205/5.0 · 532fdb05
      unknown authored
      into  mail.hezx.com:/media/sda3/work/mysql/bkwork/bug#32205/5.1
      
      
      BitKeeper/deleted/.del-binlog_start_comment.result:
        Auto merged
      BitKeeper/deleted/.del-binlog_start_comment.test:
        Auto merged
      mysql-test/extra/binlog_tests/blackhole.test:
        Manual merge
      mysql-test/r/case.result:
        Manual merge
      mysql-test/r/mysqlbinlog2.result:
        Manual merge
      mysql-test/suite/binlog/r/binlog_stm_blackhole.result:
        Manual merge
      mysql-test/t/case.test:
        Manual merge
      532fdb05
  6. 15 Jan, 2008 1 commit
  7. 14 Jan, 2008 5 commits
    • unknown's avatar
      Merge riska.(none):/home/sven/bkgca/5.1-new-rpl · 005c623a
      unknown authored
      into  riska.(none):/home/sven/bk/b27779-old_row_events/5.1-new-rpl
      
      
      sql/log_event.cc:
        Auto merged
      005c623a
    • unknown's avatar
      Merge mail.hezx.com:/media/sda3/work/mysql/bkwork/versional/mysql-5.1-new-rpl · 2a64283c
      unknown authored
      into  mail.hezx.com:/media/sda3/work/mysql/bkwork/versional/merge-51
      
      
      mysql-test/suite/rpl/r/rpl_row_tabledefs_3innodb.result:
        mask error message in show slave status
      2a64283c
    • unknown's avatar
      fix for versional test · 05d69943
      unknown authored
      
      mysql-test/extra/rpl_tests/rpl_row_tabledefs.test:
        Mask out error messages
      mysql-test/suite/rpl/r/rpl_row_tabledefs_2myisam.result:
        Mask out Error messages in reslut of show slave status
      mysql-test/suite/rpl/r/rpl_row_tabledefs_3innodb.result:
        Mask out Error messages in reslut of show slave status
      mysql-test/suite/rpl/t/rpl_temporary_errors.test:
        mask out binlog position
      05d69943
    • unknown's avatar
      Merge mail.hezx.com:/media/sda3/work/mysql/bkwork/versional/mysql-5.1-new-rpl · f875890a
      unknown authored
      into  mail.hezx.com:/media/sda3/work/mysql/bkwork/versional/merge-51
      
      
      mysql-test/suite/rpl/r/rpl_create_database.result:
        Auto merged
      mysql-test/suite/rpl/r/rpl_load_from_master.result:
        Auto merged
      mysql-test/suite/rpl/t/rpl_create_database.test:
        Auto merged
      mysql-test/suite/rpl/t/rpl_load_from_master.test:
        Auto merged
      mysql-test/suite/rpl/r/rpl_init_slave.result:
        SCCS merged
      mysql-test/suite/rpl/t/rpl_init_slave.test:
        SCCS merged
      f875890a
    • unknown's avatar
      Fix for versional test · 556f2e4e
      unknown authored
      Mask binlog positions, error, warning and other information that are not significant for the test
      
      
      mysql-test/extra/rpl_tests/rpl_max_relay_size.test:
        Mask out binlog position and DBs in result of show master status
      mysql-test/extra/rpl_tests/rpl_reset_slave.test:
        Mask out log positions in tests to make them version independent
      mysql-test/extra/rpl_tests/rpl_row_tabledefs.test:
        Mask out Error messages in reslut of show slave status
      mysql-test/suite/rpl/r/rpl_000015.result:
        Mask out log positions in tests to make them version independent
        ---
        Mask out binlog position and DBs in result of show master status
      mysql-test/suite/rpl/r/rpl_change_master.result:
        Mask out log positions in tests to make them version independent
      mysql-test/suite/rpl/r/rpl_create_database.result:
        fix for versional test
      mysql-test/suite/rpl/r/rpl_grant.result:
        fix for versional test
      mysql-test/suite/rpl/r/rpl_init_slave.result:
        fix for versional test
      mysql-test/suite/rpl/r/rpl_load_from_master.result:
        update result
      mysql-test/suite/rpl/r/rpl_log_pos.result:
        Mask out binlog position and DBs in result of show master status
      mysql-test/suite/rpl/r/rpl_rotate_logs.result:
        Mask out binlog position and DBs in result of show master status
      mysql-test/suite/rpl/r/rpl_row_max_relay_size.result:
        Mask out binlog position and DBs in result of show master status
      mysql-test/suite/rpl/r/rpl_row_reset_slave.result:
        Mask out log positions in tests to make them version independent
      mysql-test/suite/rpl/r/rpl_skip_error.result:
        Mask out log positions in tests to make them version independent
      mysql-test/suite/rpl/r/rpl_stm_max_relay_size.result:
        Mask out log positions in tests to make them version independent
        ---
        Mask out binlog position and DBs in result of show master status
      mysql-test/suite/rpl/r/rpl_stm_reset_slave.result:
        Mask out log positions in tests to make them version independent
      mysql-test/suite/rpl/r/rpl_stm_until.result:
        Mask out log positions in tests to make them version independent
      mysql-test/suite/rpl/r/rpl_temporary_errors.result:
        Mask out binlog positions
      mysql-test/suite/rpl/t/rpl_000015.test:
        Mask out log positions in tests to make them version independent
      mysql-test/suite/rpl/t/rpl_change_master.test:
        Mask out log positions in tests to make them version independent
      mysql-test/suite/rpl/t/rpl_colSize.test:
        fix for versional test
      mysql-test/suite/rpl/t/rpl_create_database.test:
        fix for versional test
      mysql-test/suite/rpl/t/rpl_grant.test:
        fix for versional test
      mysql-test/suite/rpl/t/rpl_init_slave.test:
        fix for versional test
      mysql-test/suite/rpl/t/rpl_load_from_master.test:
        fix for versional test
      mysql-test/suite/rpl/t/rpl_log_pos.test:
        Mask out binlog position and DBs
      mysql-test/suite/rpl/t/rpl_rotate_logs.test:
        Mask out log positions in tests to make them version independent
      mysql-test/suite/rpl/t/rpl_skip_error.test:
        Mask out log positions in tests to make them version independent
      mysql-test/suite/rpl/t/rpl_stm_until.test:
        Mask out log positions in tests to make them version independent
      mysql-test/include/show_binary_logs.inc:
        Mask out log positions in tests to make them version independent
      mysql-test/include/show_master_logs.inc:
        Mask out log positions in tests to make them version independent
      mysql-test/include/show_master_status.inc:
        Mask out log positions in tests to make them version independent
        ---
        Mask out binlog position and DBs in result of show master status
      mysql-test/include/show_slave_status2.inc:
        Mask out log positions in tests to make them version independent
      556f2e4e
  8. 11 Jan, 2008 3 commits
    • unknown's avatar
      Fixing failing test case. · 5744be40
      unknown authored
      
      mysql-test/suite/rpl/r/rpl_init_slave.result:
        Result change.
      mysql-test/suite/rpl/t/rpl_init_slave.test:
        Starting and stopping slave to make sure that the init_slave
        variable is executed.
      5744be40
    • unknown's avatar
      Post-merge changes to make tests pass. · 9f9bc865
      unknown authored
      
      BitKeeper/deleted/.del-binlog_start_comment.test:
        Delete: mysql-test/t/binlog_start_comment.test
      BitKeeper/deleted/.del-binlog_start_comment.result:
        Delete: mysql-test/r/binlog_start_comment.result
      mysql-test/suite/binlog/t/binlog_unsafe.test:
        Rename: mysql-test/t/binlog_unsafe.test -> mysql-test/suite/binlog/t/binlog_unsafe.test
      mysql-test/suite/binlog/r/binlog_unsafe.result:
        Rename: mysql-test/r/binlog_unsafe.result -> mysql-test/suite/binlog/r/binlog_unsafe.result
      mysql-test/suite/rpl/r/rpl_row_tabledefs_3innodb.result:
        Result change.
      mysql-test/suite/rpl/r/rpl_timezone.result:
        Result change.
      mysql-test/suite/rpl/t/rpl_row_sp005.test:
        Adding missing sync with master causing test to fail.
      9f9bc865
    • unknown's avatar
      Post-merge fixes to make binlog test suite pass. · 8ee2d36e
      unknown authored
      
      mysql-test/extra/binlog_tests/mix_innodb_myisam_binlog.test:
        Fixing test to use different positions depending on binlog format.
      mysql-test/suite/binlog/r/binlog_row_mix_innodb_myisam.result:
        Result change.
      mysql-test/suite/binlog/r/binlog_stm_mix_innodb_myisam.result:
        Result change.
      mysql-test/suite/binlog/t/binlog_row_mix_innodb_myisam.test:
        Removing part of test that does not work any more.
      mysql-test/suite/binlog/t/binlog_stm_mix_innodb_myisam.test:
        Removing part of test that does not work any more.
      8ee2d36e
  9. 10 Jan, 2008 1 commit
    • unknown's avatar
      BUG#27779: Slave cannot read old rows log events. · fcd6da10
      unknown authored
      Problem: Replication fails when master is mysql-5.1-wl2325-5.0-drop6 and
      slave is mysql-5.1-new-rpl. The reason is that, in
      mysql-5.1-wl2325-5.0-drop6, the event type id's were different than in
      mysql-5.1-new-rpl.
      Fix (in mysql-5.1-new-rpl):
       (1) detect that the server that generated the events uses the old
      format, by checking the server version of the format_description_log_event
      This patch recognizes mysql-5.1-wl2325-5.0-drop6p13-alpha,
      mysql-5.1-wl2325-5.0-drop6, mysql-5.1-wl2325-5.0, mysql-5.1-wl2325-no-dd.
       (2) if the generating server is old, map old event types to new event
      types using a permutation array.
      
      I've also added a test case which reads binlogs for four different
      versions.
      
      
      mysql-test/suite/binlog/std_data/binlog_old_version_5_1-telco.000001:
        BitKeeper file /home/sven/bk/b27779-old_row_events/5.1-new-rpl/mysql-test/suite/binlog/std_data/binlog_old_version_5_1-telco.000001
      mysql-test/suite/binlog/std_data/binlog_old_version_5_1-wl2325_row.000001:
        BitKeeper file /home/sven/bk/b27779-old_row_events/5.1-new-rpl/mysql-test/suite/binlog/std_data/binlog_old_version_5_1-wl2325_row.000001
      mysql-test/suite/binlog/std_data/binlog_old_version_5_1-wl2325_stm.000001:
        BitKeeper file /home/sven/bk/b27779-old_row_events/5.1-new-rpl/mysql-test/suite/binlog/std_data/binlog_old_version_5_1-wl2325_stm.000001
      mysql-test/suite/binlog/std_data/binlog_old_version_5_1_17.000001:
        BitKeeper file /home/sven/bk/b27779-old_row_events/5.1-new-rpl/mysql-test/suite/binlog/std_data/binlog_old_version_5_1_17.000001
      mysql-test/suite/binlog/std_data/binlog_old_version_5_1_23.000001:
        BitKeeper file /home/sven/bk/b27779-old_row_events/5.1-new-rpl/mysql-test/suite/binlog/std_data/binlog_old_version_5_1_23.000001
      sql/log_event.cc:
        Added code to read events generated by
        mysql-5.1-wl2325-5.0-drop6p13-alpha, mysql-5.1-wl2325-5.0-drop6,
        mysql-5.1-wl2325-5.0, mysql-5.1-wl2325-no-dd.
        More precisely, the event type id's had different numbers in
        those versions. To fix, we add a permutation array which maps old_id to
        new_id when the format_description_log_event indicates that the
        originating server is of the old type. We also need to permute the
        post_header_len array accordingly.
      sql/log_event.h:
        sql/log_event.h@1.169, 2008-01-09 11:34:37+01:00, sven@riska.(none) +5 -1
        Added declaration needed in log_event.cc. Also, the destructor of
        Format_description_log_event is sometimes called when post_header_len is
        null, so we must pass the MY_ALLOW_ZERO_PTR flag to my_free.
      mysql-test/suite/binlog/r/binlog_old_versions.result:
        Result file for new test.
      mysql-test/suite/binlog/t/binlog_old_versions.test:
        New test case that loads binlogs from several old versions.
      fcd6da10
  10. 06 Jan, 2008 6 commits
  11. 02 Jan, 2008 2 commits
  12. 31 Dec, 2007 1 commit
  13. 25 Dec, 2007 1 commit
    • unknown's avatar
      WL#4077, added mask for SHOW DATABASES statement · a7d916ac
      unknown authored
      
      mysql-test/suite/rpl/r/rpl_create_database.result:
        updated result file
      mysql-test/suite/rpl/r/rpl_load_from_master.result:
        updated result file
      mysql-test/suite/rpl/t/rpl_create_database.test:
        added the mask 'mysql%' for SHOW DATABASES
      mysql-test/suite/rpl/t/rpl_load_from_master.test:
        added the mask 'mysql%' for SHOw DATABASES
      a7d916ac
  14. 24 Dec, 2007 4 commits
  15. 23 Dec, 2007 1 commit
    • unknown's avatar
      bug#30435 · fbc6d53d
      unknown authored
      changes due to non-determinism in value of read_buffer_size.
      
      
      mysql-test/r/rpl_loaddata_map.result:
        results changed
      mysql-test/t/rpl_loaddata_map.test:
        showing only the fact that the buffer size is larger than the packet size.
      mysql-test/std_data/bug30435_10k_items.txt:
        data for bug#30435 regression testing
      mysql-test/std_data/bug30435_5k.txt:
        data for bug#30435 regression testing
      fbc6d53d
  16. 22 Dec, 2007 1 commit
    • unknown's avatar
      bug#30435 · 15426424
      unknown authored
      refining the test after it failed on pb.
      
      
      mysql-test/r/rpl_loaddata_map.result:
        results changed
      mysql-test/t/rpl_loaddata_map.test:
        refining the test
      15426424
  17. 21 Dec, 2007 5 commits
    • unknown's avatar
      Merge aelkin@bk-internal.mysql.com:/home/bk/mysql-5.0-rpl · a8c9ebb6
      unknown authored
      into  koti.dsl.inet.fi:/home/elkin/MySQL/TEAM/FIXES/5.0/bug33435-load_data_read_buffer_size
      
      
      sql/sql_repl.cc:
        Auto merged
      a8c9ebb6
    • unknown's avatar
      BUG#30435 loading large LOAD DATA INFILE breaks slave with · 62c67f19
      unknown authored
                read_buffer_size set on master
      BUG#33413 show binlog events fails if binlog has event size of close
                to max_allowed_packet
      
      
      The size of Append_block replication event was determined solely by
      read_buffer_size whereas the rest of replication code deals with
      max_allowed_packet.
      When the former parameter was set to larger than the latter there were
      two artifacts: the master could not read events from binlog;
      show master events did not show.
      
      Fixed with 
      - fragmenting the used io-cached buffer into pieces each size of less
        than max_allowed_packet (bug#30435)
      - incrementing show-binlog-events handling thread's max_allowed_packet
        with the max estimated for the replication header size
      
      
      include/my_sys.h:
        accessor-macros added in order not to mess with the io cache's implementation
        details in code that merely exploits the io-cache.
      sql/sql_repl.cc:
        BUG#33413: incrementing thd->variables.max_allowed_packet with 
        the max estimation for the replication header size (from bug#19402);
        refactoring log_loaded_block() to fragment the io_cache buffer in case
         read_buffer_size > max_allowed_packet.
      mysql-test/r/rpl_loaddata_map.result:
        New BitKeeper file ``mysql-test/r/rpl_loaddata_map.result''
      mysql-test/t/rpl_loaddata_map-master.opt:
        specific options to trigger  BUG#30435,  BUG#33413 situations
      mysql-test/t/rpl_loaddata_map-slave.opt:
        max_allowed_packet to be compatible with the master's version.
      mysql-test/t/rpl_loaddata_map.test:
        regression tests for two bugs.
      62c67f19
    • unknown's avatar
      Undo previous merge. · 6d2bb019
      unknown authored
      
      BitKeeper/deleted/.del-rpl_transaction.result:
        Delete: mysql-test/r/rpl_transaction.result
      BitKeeper/deleted/.del-rpl_transaction-master.opt:
        Delete: mysql-test/t/rpl_transaction-master.opt
      BitKeeper/deleted/.del-rpl_transaction-slave.opt:
        Delete: mysql-test/t/rpl_transaction-slave.opt
      BitKeeper/deleted/.del-rpl_transaction.test:
        Delete: mysql-test/t/rpl_transaction.test
      6d2bb019
    • unknown's avatar
      Merge riska.(none):/home/sven/bk/b26395-autocommit-xa/5.0-rpl · f8fd36cd
      unknown authored
      into  riska.(none):/home/sven/bk/b26395-autocommit-xa/5.1-new-rpl
      Should really not be merged, will undo later
      
      
      sql/log_event.cc:
        Auto merged
      BitKeeper/deleted/.del-sp_trans_log.result:
        Auto merged
      mysql-test/r/multi_update.result:
        bad auto merge, will undo later
      mysql-test/r/variables-big.result:
        bad auto merge, will undo later
      mysql-test/suite/binlog/r/binlog_stm_mix_innodb_myisam.result:
        bad auto merge, will undo later
      sql/log.cc:
        bad auto merge, will undo later
      f8fd36cd
    • unknown's avatar
      BUG#26395: if crash during autocommit update to transactional table on master, slave fails · b00fc710
      unknown authored
      Now, every transaction (including autocommit transactions) start with
      a BEGIN and end with a COMMIT/ROLLBACK in the binlog.
      Added a test case, and updated lots of test case result files.
      
      
      mysql-test/t/rpl_transaction-master.opt:
        BitKeeper file /home/sven/bk/b26395-autocommit-xa/5.0-rpl/mysql-test/t/rpl_transaction-master.opt
      mysql-test/t/rpl_transaction-slave.opt:
        BitKeeper file /home/sven/bk/b26395-autocommit-xa/5.0-rpl/mysql-test/t/rpl_transaction-slave.opt
      mysql-test/r/mix_innodb_myisam_binlog.result:
        Updated result file
      mysql-test/r/multi_update.result:
        Updated result file
      mysql-test/r/rpl_transaction.result:
        New result file for new test case.
      mysql-test/r/sp_trans_log.result:
        Updated result file
      mysql-test/r/variables-big.result:
        Updated result file
      mysql-test/t/rpl_transaction.test:
        New test case.
      sql/log.cc:
         - Always write BEGIN and COMMIT around statements, even in autocommit
           mode.
         - Added comments for binlog_commit and binlog_rollback.
      sql/log_event.cc:
        Added debug trigger to avoid writing xid events to the binlog.
      b00fc710