summaryrefslogtreecommitdiff
path: root/sql/rpl_rli.cc
diff options
context:
space:
mode:
authorMonty <monty@mariadb.org>2017-10-26 17:20:20 +0300
committerMonty <monty@mariadb.org>2017-12-18 13:43:37 +0200
commit13770edbcb181f06315dab659b592edf6355efc6 (patch)
treee8396cf9215200b50b88a08530f6c7e64dd6dce3 /sql/rpl_rli.cc
parentea37c129f968593e48170e489788cc481fe9a2bd (diff)
downloadmariadb-git-13770edbcb181f06315dab659b592edf6355efc6.tar.gz
Changed from using LOCK_log to LOCK_binlog_end_pos for binary log
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
Diffstat (limited to 'sql/rpl_rli.cc')
-rw-r--r--sql/rpl_rli.cc3
1 files changed, 2 insertions, 1 deletions
diff --git a/sql/rpl_rli.cc b/sql/rpl_rli.cc
index 28835118fdd..6e8b6edb44c 100644
--- a/sql/rpl_rli.cc
+++ b/sql/rpl_rli.cc
@@ -70,7 +70,8 @@ Relay_log_info::Relay_log_info(bool is_slave_recovery)
relay_log_state.init();
#ifdef HAVE_PSI_INTERFACE
relay_log.set_psi_keys(key_RELAYLOG_LOCK_index,
- key_RELAYLOG_update_cond,
+ key_RELAYLOG_COND_relay_log_updated,
+ key_RELAYLOG_COND_bin_log_updated,
key_file_relaylog,
key_file_relaylog_index,
key_RELAYLOG_COND_queue_busy);