mirror of
https://github.com/MariaDB/server.git
synced 2025-02-13 17:05:35 +01:00
![Sergei Golubchik](/assets/img/avatar_default.png)
1. Special mode to search in error logs: if SEARCH_RANGE is not set, the file is considered an error log and the search is performed since the last CURRENT_TEST: line 2. Number of matches is printed too. "FOUND 5 /foo/ in bar". Use greedy .* at the end of the pattern if number of matches isn't stable. If nothing is found it's still "NOT FOUND", not "FOUND 0". 3. SEARCH_ABORT specifies the prefix of the output. Can be "NOT FOUND" or "FOUND" as before, but also "FOUND 5 " if needed.
85 lines
2.3 KiB
Text
85 lines
2.3 KiB
Text
--source include/have_debug.inc
|
|
--source include/master-slave.inc
|
|
|
|
connection master;
|
|
SET GLOBAL BINLOG_CHECKSUM=NONE;
|
|
connection slave;
|
|
SET GLOBAL BINLOG_CHECKSUM=NONE;
|
|
|
|
--echo *** Test MDEV-6120, output of current GTID when a replication error is logged to the errorlog ***
|
|
--connection master
|
|
CREATE TABLE t1(a INT PRIMARY KEY);
|
|
--sync_slave_with_master
|
|
|
|
--connection slave
|
|
--source include/stop_slave.inc
|
|
CHANGE MASTER TO master_use_gtid=slave_pos;
|
|
|
|
--connection master
|
|
INSERT INTO t1 VALUES (1);
|
|
SET gtid_seq_no=100;
|
|
INSERT INTO t1 VALUES (2);
|
|
INSERT INTO t1 VALUES (3);
|
|
INSERT INTO t1 VALUES (4);
|
|
--save_master_pos
|
|
|
|
--connection slave
|
|
SET sql_log_bin=0;
|
|
INSERT INTO t1 VALUES (2);
|
|
SET sql_log_bin=1;
|
|
|
|
START SLAVE;
|
|
--let $slave_sql_errno=1062
|
|
--source include/wait_for_slave_sql_error.inc
|
|
|
|
--source include/stop_slave.inc
|
|
# Skip the problem event from the master.
|
|
SET GLOBAL gtid_slave_pos= "0-1-100";
|
|
--source include/start_slave.inc
|
|
--sync_with_master
|
|
|
|
SELECT * FROM t1 ORDER BY a;
|
|
|
|
--connection master
|
|
|
|
SET @dbug_save= @@debug_dbug;
|
|
SET debug_dbug= '+d,incident_database_resync_on_replace';
|
|
REPLACE INTO t1 VALUES (5);
|
|
SET debug_dbug= @dbug_save;
|
|
--save_master_pos
|
|
|
|
--connection slave
|
|
--let $slave_sql_errno=1590
|
|
--source include/wait_for_slave_sql_error.inc
|
|
--source include/stop_slave.inc
|
|
SET sql_slave_skip_counter=1;
|
|
--source include/start_slave.inc
|
|
--sync_with_master
|
|
|
|
SELECT * FROM t1 ORDER BY a;
|
|
|
|
|
|
# Check error log for correct messages.
|
|
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;
|
|
}
|
|
--let SEARCH_FILE=$log_error_
|
|
--let SEARCH_PATTERN=Slave SQL: Error 'Duplicate entry .* on query\. .*Query: '.*', Gtid 0-1-100, Internal MariaDB error code:|Slave SQL: Could not execute Write_rows.*table test.t1; Duplicate entry.*, Gtid 0-1-100, Internal MariaDB error
|
|
--source include/search_pattern_in_file.inc
|
|
--let SEARCH_PATTERN=Slave SQL: The incident LOST_EVENTS occurred on the master\. Message: <none>, Internal MariaDB error code: 1590
|
|
--source include/search_pattern_in_file.inc
|
|
|
|
|
|
--connection master
|
|
DROP TABLE t1;
|
|
|
|
connection master;
|
|
SET GLOBAL BINLOG_CHECKSUM=default;
|
|
connection slave;
|
|
SET GLOBAL BINLOG_CHECKSUM=default;
|
|
connection master;
|
|
--source include/rpl_end.inc
|