mirror of
https://github.com/MariaDB/server.git
synced 2025-11-27 05:41:41 +03:00
Fix rpl_skip_error test. We cant reset Slave_skipped_errors(even with FLUSH STATUS), So instead of absolute slave_skipped_errors we look for delta of slave_skipped_errors Fix rpl.rpl_binlog_errors and binlog_encryption.rpl_binlog_errors We create the $load_file and $load_file2 but we never remove them. Fix rpl_000011.test Instead of real value use delta value , Since flush status wont flush LONGLONG variable. Fix rpl_row_find_row_debug Instead of searching whole log_error_ file we will use search_pattern_in_file which runs pattern search only on latest test run , instead of full file. Fix rpl_ip_mix rpl_ip_mix2 We should call reset slave all because we also want to reset master_host otherwise show slave status wont be empty and making repeat N a failure. Fix rpl_rotate_logs First we have to remove master.info file (cleanup) and second we have to call reset slave all because if we do not call reset slave all then we wont read master.info file beacuse we already have master config in memory. And this makes start slave to pass , which shoud fail becuase its permision is 000 Fix circular_serverid0 test The reason is that ++dbug_rows_event_count == 2 in queue_event does not take --repeat into account. So I have reseted the dbug_rows_event_count in if body.
58 lines
1.8 KiB
Plaintext
58 lines
1.8 KiB
Plaintext
#
|
|
# Bug#11760927: 53375: RBR + NO PK => HIGH LOAD ON SLAVE (TABLE SCAN/CPU) => SLAVE FAILURE
|
|
#
|
|
--source include/have_binlog_format_row.inc
|
|
--source include/have_debug.inc
|
|
--source include/master-slave.inc
|
|
|
|
# SETUP
|
|
# - setup log_warnings and debug
|
|
--connection slave
|
|
--source include/stop_slave.inc
|
|
--let $debug_save= `SELECT @@GLOBAL.debug_dbug`
|
|
--let $log_warnings_save= `SELECT @@GLOBAL.log_warnings`
|
|
|
|
SET GLOBAL log_warnings = 2;
|
|
|
|
let $log_error_= `SELECT @@GLOBAL.log_error`;
|
|
if(!$log_error_)
|
|
{
|
|
# MySQL Server on windows is started with --console and thus
|
|
# does not know the location of its .err log, use default location
|
|
let $log_error_ = $MYSQLTEST_VARDIR/log/mysqld.2.err;
|
|
}
|
|
|
|
# Assign env variable LOG_ERROR
|
|
let LOG_ERROR=$log_error_;
|
|
|
|
# force printing the notes to the error log
|
|
SET GLOBAL debug_dbug="d,inject_long_find_row_note";
|
|
--source include/start_slave.inc
|
|
|
|
# test
|
|
--connection master
|
|
CREATE TABLE t1 (c1 INT);
|
|
--sync_slave_with_master
|
|
--connection master
|
|
|
|
INSERT INTO t1 VALUES (1), (2);
|
|
UPDATE t1 SET c1= 1000 WHERE c1=2;
|
|
DELETE FROM t1;
|
|
DROP TABLE t1;
|
|
--sync_slave_with_master
|
|
|
|
--echo # Check if any note related to long DELETE_ROWS and UPDATE_ROWS appears in the error log
|
|
--let SEARCH_FILE=$log_error_
|
|
--let SEARCH_PATTERN=The slave is applying a ROW event on behalf of an UPDATE statement on table t1 and is currently taking a considerable amount
|
|
--source include/search_pattern_in_file.inc
|
|
--let SEARCH_PATTERN=The slave is applying a ROW event on behalf of a DELETE statement on table t1 and is currently taking a considerable amount
|
|
--source include/search_pattern_in_file.inc
|
|
|
|
# cleanup
|
|
--source include/stop_slave.inc
|
|
--eval SET GLOBAL debug_dbug = '$debug_save'
|
|
--eval SET GLOBAL log_warnings = $log_warnings_save
|
|
--source include/start_slave.inc
|
|
|
|
--source include/rpl_end.inc
|