• Monty's avatar
    Changed from using LOCK_log to LOCK_binlog_end_pos for binary log · 13770edb
    Monty authored
    Part of MDEV-13073 AliSQL Optimize performance of semisync
    
    The idea it to use a dedicated lock detecting if there is new data in
    the master's binary log instead of the overused LOCK_log.
    
    Changes:
    - Use dedicated COND variables for the relay and binary log signaling.
      This was needed as we where the old 'update_cond' variable was used
      with different mutex's, which could cause deadlocks.
       - Relay log uses now COND_relay_log_updated and LOCK_log
       - Binary log uses now COND_bin_log_updated and LOCK_binlog_end_pos
    - Renamed signal_cnt to relay_signal_cnt (as we now have two signals)
    - Added some missing error handling in MYSQL_BIN_LOG::new_file_impl()
    - Reformatted some comments with old style
    - Renamed m_key_LOCK_binlog_end_pos to key_LOCK_binlog_end_pos
    - Changed 'signal_update()' to update_binlog_end_pos() which works for
      both relay and binary log
    13770edb
rpl_rli.cc 81.2 KB