diff options
author | Monty <monty@mariadb.org> | 2017-10-26 17:20:20 +0300 |
---|---|---|
committer | Monty <monty@mariadb.org> | 2017-12-18 13:43:37 +0200 |
commit | 13770edbcb181f06315dab659b592edf6355efc6 (patch) | |
tree | e8396cf9215200b50b88a08530f6c7e64dd6dce3 /sql/sql_repl.cc | |
parent | ea37c129f968593e48170e489788cc481fe9a2bd (diff) | |
download | mariadb-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/sql_repl.cc')
-rw-r--r-- | sql/sql_repl.cc | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/sql/sql_repl.cc b/sql/sql_repl.cc index d85d984606d..fcbf0ce1bd0 100644 --- a/sql/sql_repl.cc +++ b/sql/sql_repl.cc @@ -2437,7 +2437,7 @@ static int wait_new_events(binlog_send_info *info, /* in */ PSI_stage_info old_stage; mysql_bin_log.lock_binlog_end_pos(); - info->thd->ENTER_COND(mysql_bin_log.get_log_cond(), + info->thd->ENTER_COND(mysql_bin_log.get_bin_log_cond(), mysql_bin_log.get_binlog_end_pos_lock(), &stage_master_has_sent_all_binlog_to_slave, &old_stage); |