mirror of
https://github.com/MariaDB/server.git
synced 2025-07-29 05:21:33 +03:00
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
This commit is contained in:
@ -62,7 +62,9 @@ where event_name like "%MYSQL_BIN_LOG%"
|
||||
and event_name not like "%MYSQL_BIN_LOG::COND_xid_list"
|
||||
order by event_name;
|
||||
EVENT_NAME COUNT_STAR
|
||||
wait/synch/cond/sql/MYSQL_BIN_LOG::COND_bin_log_updated MANY
|
||||
wait/synch/cond/sql/MYSQL_BIN_LOG::COND_queue_busy NONE
|
||||
wait/synch/cond/sql/MYSQL_BIN_LOG::COND_relay_log_updated NONE
|
||||
wait/synch/mutex/sql/MYSQL_BIN_LOG::LOCK_binlog_background_thread MANY
|
||||
wait/synch/mutex/sql/MYSQL_BIN_LOG::LOCK_binlog_end_pos MANY
|
||||
wait/synch/mutex/sql/MYSQL_BIN_LOG::LOCK_index MANY
|
||||
@ -81,7 +83,9 @@ where event_name like "%MYSQL_RELAY_LOG%"
|
||||
and event_name not like "%MYSQL_RELAY_LOG::update_cond"
|
||||
order by event_name;
|
||||
EVENT_NAME COUNT_STAR SUM_TIMER_WAIT MIN_TIMER_WAIT AVG_TIMER_WAIT MAX_TIMER_WAIT
|
||||
wait/synch/cond/sql/MYSQL_RELAY_LOG::COND_bin_log_updated 0 0 0 0 0
|
||||
wait/synch/cond/sql/MYSQL_RELAY_LOG::COND_queue_busy 0 0 0 0 0
|
||||
wait/synch/cond/sql/MYSQL_RELAY_LOG::COND_relay_log_updated 0 0 0 0 0
|
||||
wait/synch/mutex/sql/MYSQL_RELAY_LOG::LOCK_index 0 0 0 0 0
|
||||
connection slave;
|
||||
"============ Performance schema on slave ============"
|
||||
@ -142,7 +146,9 @@ where event_name like "%MYSQL_BIN_LOG%"
|
||||
and event_name not like "%MYSQL_BIN_LOG::COND_xid_list"
|
||||
order by event_name;
|
||||
EVENT_NAME COUNT_STAR
|
||||
wait/synch/cond/sql/MYSQL_BIN_LOG::COND_bin_log_updated NONE
|
||||
wait/synch/cond/sql/MYSQL_BIN_LOG::COND_queue_busy NONE
|
||||
wait/synch/cond/sql/MYSQL_BIN_LOG::COND_relay_log_updated NONE
|
||||
wait/synch/mutex/sql/MYSQL_BIN_LOG::LOCK_binlog_background_thread MANY
|
||||
wait/synch/mutex/sql/MYSQL_BIN_LOG::LOCK_binlog_end_pos MANY
|
||||
wait/synch/mutex/sql/MYSQL_BIN_LOG::LOCK_index MANY
|
||||
@ -184,6 +190,8 @@ where event_name like "%MYSQL_RELAY_LOG%"
|
||||
and event_name not like "%MYSQL_RELAY_LOG::update_cond"
|
||||
order by event_name;
|
||||
EVENT_NAME COUNT_STAR
|
||||
wait/synch/cond/sql/MYSQL_RELAY_LOG::COND_bin_log_updated NONE
|
||||
wait/synch/cond/sql/MYSQL_RELAY_LOG::COND_queue_busy NONE
|
||||
wait/synch/cond/sql/MYSQL_RELAY_LOG::COND_relay_log_updated MANY
|
||||
wait/synch/mutex/sql/MYSQL_RELAY_LOG::LOCK_index MANY
|
||||
include/stop_slave.inc
|
||||
|
Reference in New Issue
Block a user