List:Commits« Previous MessageNext Message »
From:Dao-Gang.Qu Date:December 16 2010 8:45am
Subject:bzr commit into mysql-trunk branch (Dao-Gang.Qu:3208) WL#5493
View as plain text  
#At file:///home/daogang/bzrwork/wl5493/mysql-trunk/ based on revid:alexander.nozdrin@stripped

 3208 Dao-Gang.Qu@stripped	2010-12-16
      WL#5493 Binlog crash-safe when master crashed
      
      Trim the crashed binlog file to last valid transaction or event
      (non-transaction) base on binlog size(valid_pos) when MYSQL server
      crashed in the middle of binlog. And add a temp file to guarantee
      the binlog index file to be crash safe.
      
      WL#5440 Test binlog and replication when master crashed
      
      Test whether the transaction is binlogged partly and the replication
      works fine or not when the master crashed.
     @ mysql-test/r/crash_commit_before.result
        Removed the result file. Because its test file is removed.
     @ mysql-test/suite/binlog/r/binlog_index.result
        Test result for WL#5493
     @ mysql-test/suite/binlog/r/rpl_crash_safe_master_checksum.result
        Test result for WL#5493.
     @ mysql-test/suite/binlog/t/binlog_delete_and_flush_index.test
        Updated for WL#5493. The index_file will be renamed
        from binlog_crash_safe_index_file after every appending
        and purging to the index_file. So we need change its
        mode for LOAD_FILE every time.
     @ mysql-test/suite/binlog/t/binlog_index.test
        Added Test cases to verify that the index file will be crash safe.
     @ mysql-test/suite/binlog/t/rpl_crash_safe_master_checksum.test
        Added test to verify if the crashed binlog file is trimmed to
        last valid transaction or event(non-transaction) correctly.
     @ mysql-test/suite/rpl/r/rpl_change_master_crash_safe.result
        Renamed to rpl_change_master_crash_safe_slave.result
     @ mysql-test/suite/rpl/r/rpl_change_master_crash_safe_slave.result
        Renamed from rpl_change_master_crash_safe.result
     @ mysql-test/suite/rpl/r/rpl_crash_safe_master.result
        Test result of WL#5493 and WL#5440.
     @ mysql-test/suite/rpl/r/rpl_migration_crash_safe.result
        Renamed to rpl_migration_crash_safe_slave.result.
     @ mysql-test/suite/rpl/r/rpl_migration_crash_safe_slave.result
        Renamed from rpl_migration_crash_safe.result
     @ mysql-test/suite/rpl/r/rpl_mixed_crash_safe.result
        Renamed to rpl_mixed_crash_safe_slave.result
     @ mysql-test/suite/rpl/r/rpl_mixed_crash_safe_slave.result
        Renamed from rpl_mixed_crash_safe.result
     @ mysql-test/suite/rpl/r/rpl_row_crash_safe.result
        Renamed to rpl_row_crash_safe_slave.result.
     @ mysql-test/suite/rpl/r/rpl_row_crash_safe_slave.result
        Rename from rpl_row_crash_safe.result
     @ mysql-test/suite/rpl/r/rpl_stm_crash_safe.result
        Renamed to rpl_stm_crash_safe_slave.result
     @ mysql-test/suite/rpl/r/rpl_stm_crash_safe_slave.result
        Renamed from rpl_stm_crash_safe.result
     @ mysql-test/suite/rpl/t/rpl_change_master_crash_safe-slave.opt
        Renamed to rpl_change_master_crash_safe_slave-slave.opt
     @ mysql-test/suite/rpl/t/rpl_change_master_crash_safe.test
        Renamed to rpl_change_master_crash_safe_slave.test
     @ mysql-test/suite/rpl/t/rpl_change_master_crash_safe_slave-slave.opt
        Renamed from rpl_change_master_crash_safe-slave.opt
     @ mysql-test/suite/rpl/t/rpl_change_master_crash_safe_slave.test
        Renamed from rpl_change_master_crash_safe.test
     @ mysql-test/suite/rpl/t/rpl_crash_safe_master.test
        Added test to verify if the crashed binlog file is trimmed to
        last valid transaction or event(non-transaction) correctly.
     @ mysql-test/suite/rpl/t/rpl_migration_crash_safe.test
        Renamed to rpl_migration_crash_safe_slave.test
     @ mysql-test/suite/rpl/t/rpl_migration_crash_safe_slave.test
        Renamed from rpl_migration_crash_safe.test
     @ mysql-test/suite/rpl/t/rpl_mixed_crash_safe-slave.opt
        Renamed to rpl_mixed_crash_safe_slave-slave.opt
     @ mysql-test/suite/rpl/t/rpl_mixed_crash_safe.test
        Renamed to rpl_mixed_crash_safe_slave.test
     @ mysql-test/suite/rpl/t/rpl_mixed_crash_safe_slave-slave.opt
        Renamed from rpl_mixed_crash_safe-slave.opt
     @ mysql-test/suite/rpl/t/rpl_mixed_crash_safe_slave.test
        Renamed from rpl_mixed_crash_safe.test
     @ mysql-test/suite/rpl/t/rpl_row_crash_safe-slave.opt
        Renamed to rpl_row_crash_safe_slave-slave.opt
     @ mysql-test/suite/rpl/t/rpl_row_crash_safe.test
        Renamed to rpl_row_crash_safe_slave.test
     @ mysql-test/suite/rpl/t/rpl_row_crash_safe_slave-slave.opt
        Renamed from rpl_row_crash_safe-slave.opt
     @ mysql-test/suite/rpl/t/rpl_row_crash_safe_slave.test
        Renamed from rpl_row_crash_safe.test
     @ mysql-test/suite/rpl/t/rpl_stm_crash_safe-slave.opt
        Renamed to rpl_stm_crash_safe_slave-slave.opt
     @ mysql-test/suite/rpl/t/rpl_stm_crash_safe.test
        Renamed to pl_stm_crash_safe_slave.test
     @ mysql-test/suite/rpl/t/rpl_stm_crash_safe_slave-slave.opt
        Renamed from rpl_stm_crash_safe-slave.opt
     @ mysql-test/suite/rpl/t/rpl_stm_crash_safe_slave.test
        Renamed from rpl_stm_crash_safe.test
     @ mysql-test/t/crash_commit_before-master.opt
        Removed the opt file. Because its test file is removed.
     @ mysql-test/t/crash_commit_before.test
        Removed the test file. Because the test case is tested
        in rpl_crashed_master.test file.
     @ mysys/my_rename.c
        Cleared obsolete code. Because all non-windows platforms will support
        the "rename()" POSIX interface.
     @ sql/binlog.cc
        Added code to trim the crashed binlog file to last valid transaction
        or event(non-transaction) base on valid_pos, make binlog index to be
        crash safe.
     @ sql/binlog.h
        Added code to define these functions for binlog index crash safe.
     @ sql/log_event.cc
        Updated code to remove sql_print_error() line, because its
        direct caller will invoke sql_print_error() to print error.

    removed:
      mysql-test/r/crash_commit_before.result
      mysql-test/suite/rpl/r/rpl_change_master_crash_safe.result
      mysql-test/suite/rpl/r/rpl_migration_crash_safe.result
      mysql-test/suite/rpl/r/rpl_mixed_crash_safe.result
      mysql-test/suite/rpl/r/rpl_row_crash_safe.result
      mysql-test/suite/rpl/r/rpl_stm_crash_safe.result
      mysql-test/suite/rpl/t/rpl_change_master_crash_safe-slave.opt
      mysql-test/suite/rpl/t/rpl_change_master_crash_safe.test
      mysql-test/suite/rpl/t/rpl_migration_crash_safe.test
      mysql-test/suite/rpl/t/rpl_mixed_crash_safe-slave.opt
      mysql-test/suite/rpl/t/rpl_mixed_crash_safe.test
      mysql-test/suite/rpl/t/rpl_row_crash_safe-slave.opt
      mysql-test/suite/rpl/t/rpl_row_crash_safe.test
      mysql-test/suite/rpl/t/rpl_stm_crash_safe-slave.opt
      mysql-test/suite/rpl/t/rpl_stm_crash_safe.test
      mysql-test/t/crash_commit_before-master.opt
      mysql-test/t/crash_commit_before.test
    added:
      mysql-test/suite/binlog/r/rpl_crash_safe_master_checksum.result
      mysql-test/suite/binlog/t/rpl_crash_safe_master_checksum-master.opt
      mysql-test/suite/binlog/t/rpl_crash_safe_master_checksum.test
      mysql-test/suite/rpl/r/rpl_change_master_crash_safe_slave.result
      mysql-test/suite/rpl/r/rpl_crash_safe_master.result
      mysql-test/suite/rpl/r/rpl_migration_crash_safe_slave.result
      mysql-test/suite/rpl/r/rpl_mixed_crash_safe_slave.result
      mysql-test/suite/rpl/r/rpl_row_crash_safe_slave.result
      mysql-test/suite/rpl/r/rpl_stm_crash_safe_slave.result
      mysql-test/suite/rpl/t/rpl_change_master_crash_safe_slave-slave.opt
      mysql-test/suite/rpl/t/rpl_change_master_crash_safe_slave.test
      mysql-test/suite/rpl/t/rpl_crash_safe_master.test
      mysql-test/suite/rpl/t/rpl_migration_crash_safe_slave.test
      mysql-test/suite/rpl/t/rpl_mixed_crash_safe_slave-slave.opt
      mysql-test/suite/rpl/t/rpl_mixed_crash_safe_slave.test
      mysql-test/suite/rpl/t/rpl_row_crash_safe_slave-slave.opt
      mysql-test/suite/rpl/t/rpl_row_crash_safe_slave.test
      mysql-test/suite/rpl/t/rpl_stm_crash_safe_slave-slave.opt
      mysql-test/suite/rpl/t/rpl_stm_crash_safe_slave.test
    modified:
      mysql-test/suite/binlog/r/binlog_index.result
      mysql-test/suite/binlog/t/binlog_delete_and_flush_index.test
      mysql-test/suite/binlog/t/binlog_index.test
      mysys/my_rename.c
      sql/binlog.cc
      sql/binlog.h
      sql/log_event.cc

Diff too large for email (10201 lines, the limit is 10000).
No bundle (reason: no diff => no bundle).
Thread
bzr commit into mysql-trunk branch (Dao-Gang.Qu:3208) WL#5493Dao-Gang.Qu16 Dec