1. 23 Oct, 2009 1 commit
    • 's avatar
      BUG #13963 · eddd5403
      authored
      Postfix
      eddd5403
  2. 20 Oct, 2009 1 commit
    • 's avatar
      Bug#13963 SHOW SLAVE HOSTS is unreliable · d17245e7
      authored
            
            Before the patch, slaves only appear in the output of SHOW SLAVE HOSTS 
            when report-host option is set. If an expected slave does not appear in  
            the list, nobody knows whether the slave does not connect or has started
            without the "report-host" option. The output also contains a strange  
            field "Rpl_recovery_rank" which has never been implemented and the manual 
            of MySQL5.4 declares that the field has been removed from MySQL5.4.
                                              
            This patch is done with these,
            According to the manual of MySQL5.4, "Rpl_recovery_rank" is removed.
            Slaves will register themselves to master no matter if report_host option is set
            or not. When slaves are registering themselves, their Server_ids, report_host
            and other information are together sent to master. Sever_ids are never null 
            and is unique in one replication group. Slaves always can be identified with  
            different Server_ids no matter if report_host exists.
      d17245e7
  3. 14 Oct, 2009 1 commit
  4. 13 Oct, 2009 1 commit
  5. 12 Oct, 2009 5 commits
    • He Zhenxing's avatar
      Backport post fix for semisync · dab1162b
      He Zhenxing authored
      Remove functions that no longer needed
      Fix warning suppressions
      dab1162b
    • He Zhenxing's avatar
      Backport BUG#47298 Semisync: always wait until timeout if no semi-sync slave available · b92ec529
      He Zhenxing authored
      Add an option to control whether the master should keep waiting
      until timeout when it detected that there is no semi-sync slave
      available.
      
      The bool option 'rpl_semi_sync_master_wait_no_slave' is 1 by
      defalt, and will keep waiting until timeout. When set to 0, the
      master will switch to asynchronous replication immediately when
      no semi-sync slave is available.
      b92ec529
    • He Zhenxing's avatar
      BUG#45674 FLUSH STATUS does not reset semisynchronous counters · 64fc766c
      He Zhenxing authored
      Semi-sync status were not reset by FLUSH STATUS, this was because
      all semi-sync status variables are defined as SHOW_FUNC and FLUSH
      STATUS could only reset SHOW_LONG type variables.
      
      This problem is fixed by change all status variables that should
      be reset by FLUSH STATUS from SHOW_FUNC to SHOW_LONG.
      
      After the fix, the following status variables will be reset by
      FLUSH STATUS:
        Rpl_semi_sync_master_yes_tx
        Rpl_semi_sync_master_no_tx
      
      Note: normally, FLUSH STATUS itself will be written into binlog
      and be replicated, so after FLUSH STATS, one of
        Rpl_semi_sync_master_yes_tx
        Rpl_semi_sync_master_no_tx
      can be 1 dependent on the semi-sync status. So it's recommended
      to use FLUSH NO_WRITE_TO_BINLOG STATUS to avoid this.
      64fc766c
    • He Zhenxing's avatar
      Backport Bug#45852 Semisynch: Last_IO_Error: Fatal error: Failed to run 'after_queue_event' hook · 7d3d0fc3
      He Zhenxing authored
      Errors when send reply to master should never cause the IO thread
      to stop, because master can fall back to async replication if it
      does not get reply from slave.
      
      The problem is fixed by deliberately ignoring the return value of
      slaveReply.
      7d3d0fc3
    • He Zhenxing's avatar
      Backport BUG#45848 Semisynchronous replication internals are visible in SHOW PROCESSLIST and logs · 55842061
      He Zhenxing authored
      Semi-sync uses an extra connection from slave to master to send
      replies, this is a normal client connection, and used a normal
      SET query to set the reply information on master, which is visible
      to user and may cause some confusion and complaining.
      
      This problem is fixed by using the method of sending reply by
      using the same connection that is used by master dump thread to
      send binlog to slave. Since now the semi-sync plugins are integrated
      with the server code, it is not a problem to use the internal net
      interfaces to do this.
      
      The master dump thread will mark the event requires a reply and
      wait for the reply when the event just sent is the last event
      of a transaction and semi-sync status is ON; And the slave will
      send a reply to master when it received such an event that requires
      a reply.
      55842061
  6. 10 Oct, 2009 1 commit
  7. 09 Oct, 2009 1 commit
  8. 07 Oct, 2009 2 commits
  9. 06 Oct, 2009 1 commit
  10. 03 Oct, 2009 5 commits
  11. 02 Oct, 2009 13 commits
  12. 01 Oct, 2009 2 commits
  13. 30 Sep, 2009 6 commits
    • Luis Soares's avatar
      Partial backport for BUG#41399, more precisely, the changes to · 266d53b5
      Luis Soares authored
      wait_until_disconnected.inc.
      266d53b5
    • Alfranio Correia's avatar
      BUG#43075 rpl.rpl_sync fails sporadically on pushbuild · 9682ff8a
      Alfranio Correia authored
      NOTE: Backporting the patch to next-mr.
            
      The slave was crashing while failing to execute the init_slave() function.
            
      The issue stems from two different reasons:
            
      1 - A failure while allocating the master info structure generated a
          segfault due to a NULL pointer.
            
      2 - A failure while recovering generated a segfault due to a non-initialized
          relay log file. In other words, the mi->init and rli->init were both set to true
          before executing the recovery process thus creating an inconsistent state as the
          relay log file was not initialized.
            
      To circumvent such problems, we refactored the recovery process which is now executed
      while initializing the relay log. It is ensured that the master info structure is
      created before accessing it and any error is propagated thus avoiding to set mi->init
      and rli->init to true when for instance the relay log is not initialized or the relay
      info is not flushed.
            
      The changes related to the refactory are described below:
            
      1 - Removed call to init_recovery from init_slave.
            
      2 - Changed the signature of the function init_recovery.
            
      3 - Removed flushes. They are called while initializing the relay log and master
          info.
            
      4 - Made sure that if the relay info is not flushed the mi-init and rli-init are not
          set to true.
            
      In this patch, we also replaced the exit(1) in the fault injection by DBUG_ABORT()
      to make it compliant with the code guidelines.
      9682ff8a
    • Luis Soares's avatar
      BUG#47749: rpl_slave_skip fails sporadically on PB2 (mysql-5.1-rep+2 tree). · 9581d628
      Luis Soares authored
      rpl_slave_skip fails randomly on PB2. This patch fixes the failure by
      setting explicit wait for SQL thread to stop, instead of the 
      wait_for_slave_to_stop mysqltest command, after a start until command 
      is executed.
      9581d628
    • Alfranio Correia's avatar
      BUG#47741 rpl_ndb_extraCol fails in next-mr (mysql-5.1-rep+2) in RBR · 2108eea5
      Alfranio Correia authored
      This is a temporary fix.
      
      NOTE: Backporting the patch to next-mr.
      2108eea5
    • Alfranio Correia's avatar
      Post-fix for BUG#43789 · 47599b5d
      Alfranio Correia authored
      NOTE: Backporting the patch to next-mr.
      47599b5d
    • Luis Soares's avatar