An error occurred fetching the project authors.
  1. 21 Nov, 2013 1 commit
    • unknown's avatar
      MDEV-4982: GTID looses all binlog state after crash if InnoDB is disabled · 55a7159f
      unknown authored
      MDEV-4725: Incorrect binlog state recovery if crash while writing event group
      
      The binlog state was not recovered correctly if XA is not used (eg. InnoDB
      disabled), or if server crashed in the middle of writing an event group to the
      binlog.
      
      With this patch, we ensure that recovery of binlog state is done even if we do
      not do the full XA binlog recovery, and we ensure that we only recover fully
      written event groups into the binlog state.
      55a7159f
  2. 13 Sep, 2013 1 commit
  3. 04 Sep, 2013 1 commit
  4. 23 Aug, 2013 1 commit
    • unknown's avatar
      MDEV-26: Global transaction ID. · f9c2b402
      unknown authored
      Implement @@gtid_binlog_state. This is the internal state of the binlog
      (most recent GTID logged for every domain_id and server_id). This allows
      to save the state before RESET MASTER and restore it afterwards.
      f9c2b402
  5. 08 Jul, 2013 1 commit
    • unknown's avatar
      MDEV-4506: Parallel replication: intermediate commit. · a99356fb
      unknown authored
      Fix a bunch of issues found with locking, ordering, and non-thread-safe stuff
      in Relay_log_info.
      
      Now able to do a simple benchmark, showing 4.5 times speedup for applying a
      binlog with 10000 REPLACE statements.
      a99356fb
  6. 04 Jul, 2013 1 commit
    • unknown's avatar
      MDEV-4506: Parallel replication: Intermediate commit. · e654be38
      unknown authored
      Impement options --binlog-commit-wait-count and
      --binlog-commit-wait-usec.
      
      These options permit the DBA to deliberately increase latency
      of an individual commit to get more transactions in each
      binlog group commit. This increases the opportunity for
      parallel replication on the slave, and can also decrease I/O
      load on the master.
      
      The options also make it easier to test the parallel
      replication with mysql-test-run.
      e654be38
  7. 26 Jun, 2013 1 commit
    • unknown's avatar
      MDEV-4506: Parallel replication. Intermediate commit. · 7e5dc4f0
      unknown authored
      Implement facility for the commit in one thread to wait for the commit of
      another to complete first. The wait is done in a way that does not hinder
      that a waiter and a waitee can group commit together with a single fsync()
      in both binlog and InnoDB. The wait is done efficiently with respect to
      locking.
      
      The patch was originally made to support TaoBao parallel replication with
      in-order commit; now it will be adapted to also be used for parallel
      replication of group-committed transactions.
      
      A waiter THD registers itself with a prior waitee THD. The waiter will then
      complete its commit at the earliest in the same group commit of the waitee
      (when using binlog). The wait can also be done explicitly by the waitee.
      7e5dc4f0
  8. 24 Jun, 2013 1 commit
  9. 28 May, 2013 1 commit
    • unknown's avatar
      MDEV-4478: Implement GTID "strict mode" · ee2b7db3
      unknown authored
      When @@GLOBAL.gtid_strict_mode=1, then certain operations result
      in error that would otherwise result in out-of-order binlog files
      between servers.
      
      GTID sequence numbers are now allocated independently per domain;
      this results in less/no holes in GTID sequences, increasing the
      likelyhood that diverging binlogs will be caught by the slave when
      GTID strict mode is enabled.
      ee2b7db3
  10. 22 May, 2013 1 commit
    • unknown's avatar
      MDEV-26: Global transaction ID. · 1cd6eb5f
      unknown authored
      Change of user interface to be more logical and more in line with expectations
      to work similar to old-style replication.
      
      User can now explicitly choose in CHANGE MASTER whether binlog position is
      taken into account (master_gtid_pos=current_pos) or not (master_gtid_pos=
      slave_pos) when slave connects to master.
      
      @@gtid_pos is replaced by three separate variables @@gtid_slave_pos (can
      be set by user, replicated GTIDs only), @@gtid_binlog_pos (read only), and
      @@gtid_current_pos (a combination of the two, most recent GTID within each
      domain). mysql.rpl_slave_state is renamed to mysql.gtid_slave_pos to match.
      
      This fixes MDEV-4474.
      1cd6eb5f
  11. 27 Mar, 2013 2 commits
    • unknown's avatar
      MDEV-26: Global transaction ID. · b0389850
      unknown authored
      Test crashing the master, check that it recovers the binlog state.
      
      Fix one bug introduced by previous commit (crash-recoved binlog state was
      overwritten by loading stale binlog state file).
      
      Fix Windows build error.
      b0389850
    • unknown's avatar
      MDEV-26: Global transaction ID. · 0fdbdde4
      unknown authored
      Implement test case rpl_gtid_stop_start.test to test normal stop and restart
      of master and slave mysqld servers.
      
      Fix a couple bugs found with the test:
      
       - When InnoDB is disabled (no XA), the binlog state was not read when master
         mysqld starts.
      
       - Remove old code that puts a bogus D-S-0 into the initial binlog state, it
         is not correct in current design.
      
       - Fix memory leak in gtid_find_binlog_file().
      0fdbdde4
  12. 25 Mar, 2013 1 commit
    • unknown's avatar
      MDEV-4322: Race in binlog checkpointing during server shutdown. · 22f91edd
      unknown authored
      During server shutdown, we need to wait for binlog checkpointing to
      finish in the binlog background thread before closing the binlog.
      
      This was not done, so we could get assert and failure to finish the
      final binlog checkpoint if shutdown happened in the middle.
      22f91edd
  13. 18 Mar, 2013 1 commit
    • unknown's avatar
      MDEV-26: Global transaction ID. · 9d9ddad7
      unknown authored
      Fix things so that a master can switch with MASTER_GTID_POS=AUTO to a slave
      that was previously running with log_slave_updates=0, by looking into the
      slave replication state on the master when the slave requests something not
      present in the binlog.
      
      Be a bit more strict about what position the slave can ask for, to avoid some
      easy-to-hit misconfiguration errors.
      
      Start over with seq_no counter when RESET MASTER.
      9d9ddad7
  14. 25 Jan, 2013 1 commit
    • unknown's avatar
      MDEV-26: Global transaction ID. · 1d357776
      unknown authored
      When starting slave, check binlog state in addition to mysql.rpl_slave.state.
      
      This allows to switch a previous master to be a slave directly
      with MASTER_GTID_POS=AUTO.
      1d357776
  15. 14 Dec, 2012 1 commit
    • unknown's avatar
      MDEV-532: Async InnoDB commit checkpoint. · 40bbf697
      unknown authored
      Make the commit checkpoint inside InnoDB be asynchroneous.
      Implement a background thread in binlog to do the writing and flushing of
      binlog checkpoint events to disk.
      40bbf697
  16. 20 Nov, 2012 2 commits
    • unknown's avatar
      MDEV-3861: Assertion in TC_LOG_MMAP. · 6058b654
      unknown authored
      Root cause was that number of entries in commit checkpoint buffer
      was bigger than total available entries in the mmap()'ed score
      file. This causes TC_LOG_MMAP to run out of entries before even
      the first checkpoint is started, which causes a hang.
      
      Fixed by making sure we have fewer entries within one commit
      checkpoint than total available scorefile entries.
      
      Another part of this bug was discovery of severel unrelated bugs
      in TC_LOG_MMAP dating back to 5.1. These were fixed in 5.1 and
      will be merged up (the problem this patch fixes exists only in
      10.0).
      6058b654
    • unknown's avatar
      MDEV-3861: assertions in TC_LOG_MMAP. · 47c5018f
      unknown authored
      Fix some problems in the TC_LOG_MMAP commit processing, which could
      lead to assertions in some cases.
      
      Problems are mostly reproducible in MariaDB 10.0 with asynchroneous
      commit checkpoints, but most of the problems were present in earlier
      versions also.
      47c5018f
  17. 07 Nov, 2012 1 commit
  18. 23 Oct, 2012 1 commit
  19. 30 Sep, 2012 1 commit
    • Michael Widenius's avatar
      Made max_relay_log_size depending on master connection. · 8ac1b41c
      Michael Widenius authored
      Changed names of multi-source log files so that original suffixes are kept.
      
      
      include/my_sys.h:
        Added fn_ext2(), which returns pointer to last '.' in file name
      mysql-test/extra/rpl_tests/rpl_max_relay_size.test:
        Updated test
      mysql-test/suite/multi_source/info_logs-master.opt:
        Test with strange file names
      mysql-test/suite/multi_source/info_logs.result:
        Updated results
      mysql-test/suite/multi_source/info_logs.test:
        Changed to test with complex names to be able to verify the filename generator code
      mysql-test/suite/multi_source/relaylog_events.result:
        Updated results
      mysql-test/suite/multi_source/reset_slave.result:
        Updated results
      mysql-test/suite/multi_source/skip_counter.result:
        Updated results
      mysql-test/suite/multi_source/skip_counter.test:
        Added testing of max_relay_log_size
      mysql-test/suite/rpl/r/rpl_row_max_relay_size.result:
        Updated results
      mysql-test/suite/rpl/r/rpl_stm_max_relay_size.result:
        Updated results
      mysql-test/suite/sys_vars/r/max_relay_log_size_basic.result:
        Updated results
      mysql-test/suite/sys_vars/t/max_relay_log_size_basic.test:
        Updated results
      mysys/mf_fn_ext.c:
        Added fn_ext2(), which returns pointer to last '.' in file name
      sql/log.cc:
        Removed some wrong casts
      sql/log.h:
        Updated comment to reflect new code
      sql/log_event.cc:
        Updated DBUG_PRINT
      sql/mysqld.cc:
        Added that max_relay_log_size copies it's values from max_binlog_size
      sql/mysqld.h:
        Removed max_relay_log_size
      sql/rpl_mi.cc:
        Changed names of multi-source log files so that original suffixes are kept.
      sql/rpl_mi.h:
        Updated prototype
      sql/rpl_rli.cc:
        Updated comment to reflect new code
        Made max_relay_log_size depending on master connection.
      sql/rpl_rli.h:
        Made max_relay_log_size depending on master connection.
      sql/set_var.h:
        Made option global so that one can check and change min & max values (sorry Sergei)
      sql/sql_class.h:
        Made max_relay_log_size depending on master connection.
      sql/sql_repl.cc:
        Updated calls to create_signed_file_name()
      sql/sys_vars.cc:
        Made max_relay_log_size depending on master connection.
        Made old code more reusable
      sql/sys_vars.h:
        Changed Sys_var_multi_source_uint to ulong to be able to handle max_relay_log_size
        Made old code more reusable
      8ac1b41c
  20. 28 Sep, 2012 1 commit
    • Michael Widenius's avatar
      Fixed issues found by QA (Elena) · 5a4b5869
      Michael Widenius authored
      - Added parameter to reset_logs() so that one can specify if new logs should be created.
      
      mysql-test/include/setup_fake_relay_log.inc:
        There is no orphan relay log files anymore
      mysql-test/mysql-test-run.pl:
        Added multi_source to test suite
      mysql-test/suite/multi_source/info_logs.result:
        New test
      mysql-test/suite/multi_source/info_logs.test:
        New test
      mysql-test/suite/multi_source/my.cnf:
        Added log-warnings to get more information to the log files
      mysql-test/suite/multi_source/relaylog_events.result:
        Added cleanup
      mysql-test/suite/multi_source/relaylog_events.test:
        Added cleanup
      mysql-test/suite/multi_source/reset_slave.result:
        Updated results after improved RESET SLAVE
      mysql-test/suite/multi_source/simple.result:
        Updated results after improved RESET SLAVE
      mysql-test/suite/multi_source/simple.test:
        Syncronize positions before show full slave status
      mysql-test/suite/rpl/r/rpl_row_show_relaylog_events.result:
        Updated results after improved RESET SLAVE (we now use less relay log files)
      mysql-test/suite/rpl/r/rpl_stm_mix_show_relaylog_events.result:
        Updated results after improved RESET SLAVE (we now use less relay log files)
      sql/log.cc:
        Added parameter to reset_logs() so that one can specify if new logs should be created.
      sql/log.h:
        Added parameter to reset_logs()
      sql/rpl_mi.cc:
        Create Master_info_index::index_file_names once at init
        More DBUG_PRINT
        Give error if Master_info_index::check_duplicate_master_info fails
      sql/rpl_rli.cc:
        If we do a full reset, don't create any new relay log files.
      sql/share/errmsg-utf8.txt:
        Improved error message if connection exists
      sql/sql_parse.cc:
        Fixed memory leak
      sql/sql_repl.cc:
        check_duplicate_master_info() now generates an error
        Added parameter to reset_logs()
      5a4b5869
  21. 13 Sep, 2012 1 commit
    • unknown's avatar
      MDEV-232: Remove one fsync() from commit phase. · 288eeb3a
      unknown authored
      Introduce a new storage engine API method commit_checkpoint_request().
      This is used to replace the fsync() at the end of every storage engine
      commit with a single fsync() when a binlog is rotated.
      
      Binlog rotation is now done during group commit instead of being
      delayed until unlog(), removing some server stall and avoiding an
      expensive lock/unlock of LOCK_log inside unlog().
      288eeb3a
  22. 06 Aug, 2012 1 commit
    • Michael Widenius's avatar
      Fixed compiler warnings · a7123f50
      Michael Widenius authored
      sql/log.h:
        Fixed compiler warnings reported for gcc 2.7.1
      storage/xtradb/handler/ha_innodb.cc:
        Remove not used variables
      a7123f50
  23. 29 Jun, 2012 1 commit
  24. 22 Jun, 2012 1 commit
    • unknown's avatar
      MDEV-181: XID crash recovery across binlog boundaries · 0697ee26
      unknown authored
      Keep track of how many pending XIDs (transactions that are prepared in
      storage engine and written into binlog, but not yet durably committed
      on disk in the engine) there are in each binlog.
      
      When the count of one binlog drops to zero, write a new binlog checkpoint
      event, telling which is the oldest binlog with pending XIDs.
      
      When doing XA recovery after a crash, check the last binlog checkpoint
      event, and scan all binlog files from that point onwards for XIDs that
      must be committed if found in prepared state inside engine.
      
      Remove the code in binlog rotation that waits for all prepared XIDs to
      be committed before writing a new binlog file (this is no longer necessary
      when recovery can scan multiple binlog files).
      0697ee26
  25. 21 Jun, 2012 1 commit
  26. 20 Apr, 2012 1 commit
    • Nuno Carvalho's avatar
      BUG#13979418: SHOW BINLOG EVENTS MAY CRASH THE SERVER · cdaae169
      Nuno Carvalho authored
      The function mysql_show_binlog_events has a local stack variable
      'LOG_INFO linfo;', which is assigned to thd->current_linfo, however
      this variable goes out of scope and is destroyed before clean
      thd->current_linfo.
      
      The problem is solved by moving 'LOG_INFO linfo;' to function scope.
      cdaae169
  27. 24 Nov, 2011 1 commit
    • Luis Soares's avatar
      BUG#11745230: 12133: MASTER.INDEX FILE KEEPS MYSQLD FROM STARTING IF · eec4836a
      Luis Soares authored
                    BIN LOG HAS BEEN MOVED 
      
      When moving the binary/relay log files from one location to
      another and restarting the server with a different log-bin or
      relay-log paths, would cause the startup process to abort. The
      root cause was that the server would not be able to find the log
      files because it would consider old paths for entries in the
      index file instead of the new location.  What's even worse, the
      relative paths would not be considered relative to the path
      provided in log-bin and relay-log, but to mysql_data_dir.
            
      We fix the cases where the server contains relative paths. When
      the server is reading from the index file, it checks whether the
      entry contains relative paths. If it does, we replace it with the
      absolute path set in log-bin/relay-log option. Absolute paths
      remain unchanged and the index must be manually edited to
      consider the new log-bin and/or relay-log path (this should be
      documented). This is a fix for a GA version, that does not break
      behavior (that much).
            
      For development versions, we should go with Zhenxing's approach 
      that removes paths altogether from index files.
      
      mysql-test/include/begin_include_file.inc:
        Added parameter to keep the begin_include_file.inc silent. Useful when 
        including scripts that contain platform dependent parameters, for example:
        
        --let $rpl_server_parameters=--log-bin=$tmpdir/slave-bin --relay-log=$tmpdir/slave-relay-bin
        --let $keep_include_silent=1
        source include/rpl_start_server.inc;
        --let $keep_include_silent=0
        
        We want the paths ($tmpdir/slave-bin and $tmpdir/slave-relay-bin) not to be in the 
        result file.
      mysql-test/suite/rpl/t/rpl_binlog_index.test:
        Test case.
      sql/log.cc:
        When finding the corresponding log entry in the index file, we first 
        normalize the paths before doing the comparison. This will make relative
        paths to be turned into absolute paths (based on the opt_bin_logname or
        opt_relay_logname) and then compared against also, expanded paths entered, 
        through CHANGE MASTER for instance.
      sql/log.h:
        Added normalize_binlog_name, which turns relative paths, into absolute paths
        given the parameter: is_relay_log ? opt_relay_logname : opt_bin_logname .
      sql/mysqld.cc:
        Exposing opt_bin_logname.
      sql/mysqld.h:
        Exposing opt_bin_logname.
      eec4836a
  28. 27 Oct, 2011 1 commit
    • Andrei Elkin's avatar
      Bug#11763573 - 56299: MUTEX DEADLOCK WITH COM_BINLOG_DUMP, BINLOG PURGE, AND PROCESSLIST/KILL · 95fdeb89
      Andrei Elkin authored
      The bug case is similar to one fixed earlier bug_49536.
      Deadlock involving LOCK_log appears to be possible because the purge running thread
      is holding LOCK_log whereas there is no sense of doing that and which fact was
      exploited by the earlier bug fixes.
      
      Fixed with small reengineering of rotate_and_purge(), adding two new methods and
      setting up a policy to execute those instead of the former
      rotate_and_purge(RP_LOCK_LOG_IS_ALREADY_LOCKED).
      The policy for using rotate(), purge() is that if the caller acquires LOCK_log itself,
      it should call rotate(), release the mutex and run purge().
      
      Side effect of this patch is refining error message of bug@11747416 to print
      the whole path.
      
      
      
      mysql-test/suite/rpl/r/rpl_cant_read_event_incident.result:
        the file name printing is changed to a relative path instead of just the file name.
      mysql-test/suite/rpl/r/rpl_log_pos.result:
        the file name printing is changed to a relative path instead of just the file name.
      mysql-test/suite/rpl/r/rpl_manual_change_index_file.result:
        the file name printing is changed to a relative path instead of just the file name.
      mysql-test/suite/rpl/r/rpl_packet.result:
        the file name printing is changed to a relative path instead of just the file name.
      mysql-test/suite/rpl/r/rpl_rotate_purge_deadlock.result:
        new result file is added.
      mysql-test/suite/rpl/t/rpl_cant_read_event_incident.test:
        The test of that bug can't satisfy windows and unix backslash interpretation so windows
        execution is chosen to bypass.
      mysql-test/suite/rpl/t/rpl_rotate_purge_deadlock-master.opt:
        new opt file is added.
      mysql-test/suite/rpl/t/rpl_rotate_purge_deadlock.test:
        regression test is added as well as verification of a 
        possible side effect of the fixes is tried.
      sql/log.cc:
        LOCK_log is never taken during execution of log purging routine.
        The former MYSQL_BIN_LOG::rotate_and_purge is made to necessarily 
        acquiring and releasing LOCK_log. 
        If caller takes the mutex itself it has to use a new rotate(), purge() 
        methods combination and to never let purge() be run with LOCK_log grabbed.
        
        
        
        split apart to allow
        the caller to chose either it
        Simulation of concurrently rotating/purging threads is added.
      sql/log.h:
        new rotate(), purge() methods are added to be used instead of
        the former rotate_and_purge(RP_LOCK_LOG_IS_ALREADY_LOCKED).
        rotate_and_purge() signature is changed. Caller should not call rotate_and_purge()
        but rather {rotate(), purge()} if LOCK_log is acquired by it.
      sql/rpl_injector.cc:
        changes to reflect the new rotate_and_purge() signature.
      sql/sql_class.h:
        unnecessary constants are removed.
      sql/sql_parse.cc:
        changes to reflect the new rotate_and_purge() signature.
      sql/sql_reload.cc:
        changes to reflect the new rotate_and_purge() signature.
      sql/sql_repl.cc:
        followup for bug@11747416: the file name printing is changed to a relative 
        path instead of just the file name.
      95fdeb89
  29. 25 Oct, 2011 1 commit
  30. 02 Nov, 2011 1 commit
  31. 10 Jul, 2011 1 commit
  32. 19 May, 2011 1 commit
  33. 03 May, 2011 1 commit
    • unknown's avatar
      Backport MySQL WL#2540 into MariaDB. · 014b8e7f
      unknown authored
      Patch backported:
      
      bzr diff
      '-rrevid:alfranio.correia@oracle.com-20101121143257-se3vpqus73l4mum0
      ..revid:luis.soares@oracle.com-20101124111752-9b8260bd1qak87hr'
      --old=lp:mysql-server --new=lp:mysql-server
      014b8e7f
  34. 23 Mar, 2011 1 commit
    • unknown's avatar
      MWL#116: group commit · ca5ca4b9
      unknown authored
      Implement binlog_optimize_thread_scheduling option to allow benchmarking the
      effect of running commit_ordered() for multiple transactions all in one
      thread.
      ca5ca4b9
  35. 01 Mar, 2011 1 commit
    • Marc Alff's avatar
      Bug#11766528 PERFORMANCE_SCHEMA TRACKS BOTH BINARY AND RELAY LOGS IN THE SAME EVENTS · 5ee90018
      Marc Alff authored
      Before this fix, all the performance schema instrumentation for both the binary log
      and the relay log would use the following instruments:
      - wait/io/file/sql/binlog
      - wait/io/file/sql/binlog_index
      - wait/synch/mutex/sql/MYSQL_BIN_LOG::LOCK_index
      - wait/synch/cond/sql/MYSQL_BIN_LOG::update_cond
      
      This instrumentation is too general and can be more specific.
      
      With this fix, the binlog instrumentation is identical,
      and the relay log instrumentation is changed to:
      - wait/io/file/sql/relaylog
      - wait/io/file/sql/relaylog_index
      - wait/synch/mutex/sql/MYSQL_RELAY_LOG::LOCK_index
      - wait/synch/cond/sql/MYSQL_RELAY_LOG::update_cond
      
      With this change, the performance instrumentation for the binary log and the relay log,
      which share the same structure but have different uses, is more detailed.
      This is especially important for hosts in the middle of a replication chain,
      that are both masters (binlog) and slaves (relaylog).
      5ee90018
  36. 17 Jan, 2011 1 commit
  37. 10 Jan, 2011 1 commit
  38. 30 Nov, 2010 1 commit
    • Luis Soares's avatar
      BUG#46166: MYSQL_BIN_LOG::new_file_impl is not propagating error · 647c6193
      Luis Soares authored
                 when generating new name.
            
      If find_uniq_filename returns an error, then this error is not
      being propagated upwards, and execution does not report error to
      the user (although a entry in the error log is generated).
                        
      Additionally, some more errors were ignored in new_file_impl:
      - when writing the rotate event
      - when reopening the index and binary log file
                        
      This patch addresses this by propagating the error up in the
      execution stack. Furthermore, when rotation of the binary log
      fails, an incident event is written, because there may be a
      chance that some changes for a given statement, were not properly
      logged. For example, in SBR, LOAD DATA INFILE statement requires
      more than one event to be logged, should rotation fail while
      logging part of the LOAD DATA events, then the logged data would
      become inconsistent with the data in the storage engine.
      
      mysql-test/include/restart_mysqld.inc:
        Refactored restart_mysqld so that it is not hardcoded for
        mysqld.1, but rather for the current server.
      mysql-test/suite/binlog/t/binlog_index.test:
        The error on open of index and binary log on new_file_impl 
        is now caught. Thence the user will get an error message. 
        We need to accomodate this change in the test case for the
        failing FLUSH LOGS.
      mysql-test/suite/rpl/t/rpl_binlog_errors-master.opt:
        Sets max_binlog_size to 4096.
      mysql-test/suite/rpl/t/rpl_binlog_errors.test:
        Added some test cases for asserting that the error is found 
        and reported.
      sql/handler.cc:
        Catching error now returned by unlog (in ha_commit_trans) and 
        returning it.
      sql/log.cc:
        Propagating errors from new_file_impl upwards. The errors that
        new_file_impl catches now are:
        - error on generate_new_name
        - error on writing the rotate event
        - error when opening the index or the binary log file.
      sql/log.h:
        Changing declaration of:
        - rotate_and_purge
        - new_file
        - new_file_without_locking
        - new_file_impl
        - unlog
        They now return int instead of void.
      sql/mysql_priv.h:
        Change signature of reload_acl_and_cache so that write_to_binlog
        is an int instead of bool.
      sql/mysqld.cc:
        Redeclaring not_used var as int instead of bool.
      sql/rpl_injector.cc:
        Changes to catch the return from rotate_and_purge.
      sql/slave.cc:
        Changes to catch the return values for new_file and rotate_relay_log.
      sql/slave.h:
        Changes to rotate_relay_log declaration (now returns int 
        instead of void).
      sql/sql_load.cc:
        In SBR, some logging of LOAD DATA events goes through
        IO_CACHE_CALLBACK invocation at mf_iocache.c:_my_b_get. The
        IO_CACHE implementation is ignoring the return value for from
        these callbacks (pre_read and post_read), so we need to find out
        at the end of the execution if the error is set or not in THD.
      sql/sql_parse.cc:
        Catching the rotate_relay_log and rotate_and_purge return values.
        Semantic change in reload_acl_and_cache so that we report errors
        in binlog interactions through the write_to_binlog output parameter.
        If there was any failure while rotating the binary log, we should
        then report the error to the client when handling SQLCOMM_FLUSH.
      647c6193