[MDEV-6180] Error 1590 is not autoskippable Created: 2014-04-27  Updated: 2014-06-22  Resolved: 2014-06-18

Status: Closed
Project: MariaDB Server
Component/s: None
Affects Version/s: 10.0.10
Fix Version/s: 10.0.13

Type: Bug Priority: Minor
Reporter: Matthias Urlichs Assignee: Kristian Nielsen
Resolution: Fixed Votes: 0
Labels: None
Environment:

standard Linux, using Debian packages from mariadb


Attachments: File mdev6180-bin.000001    

 Description   

Because of a full disk, my master logged a large heap of "LOST" incident messages. I tried to auto-skip them, but that did not work.

MariaDB [(none)]> show variables like '%slave_skip%';
+------------------------+-------+
| Variable_name          | Value |
+------------------------+-------+
| slave_skip_errors      | 1590  |
| sql_slave_skip_counter | 0     |
+------------------------+-------+
2 rows in set (0.00 sec)
MariaDB [(none)]> show slave status\G
            Slave_SQL_Running: No
                   Last_Errno: 1590
                   Last_Error: The incident LOST_EVENTS occured on the master. Message: error writing to the binary log



 Comments   
Comment by Elena Stepanova [ 2014-04-28 ]

Test case to reproduce it without full disk
(the binary log is attached, it was produced by MySQL 5.6 which creates LOST_EVENTS upon this scenario):

On MySQL 5.6, it fails if run in the usual way, and passes if run with --mysqld=--slave-skip-errors=1590. On MariaDB 10.0, it fails either way.

Put the attached log into mysql-test/std_data.
Run with --mysqld=--slave-skip-errors=1590

--source include/master-slave.inc
 
--connection slave
STOP SLAVE;
--source include/wait_for_slave_to_stop.inc
RESET SLAVE;
 
--connection master
RESET MASTER;
--let $datadir = `SELECT @@datadir`
--remove_file $datadir/master-bin.000001
--copy_file $MYSQL_TEST_DIR/std_data/mdev6180-bin.000001 $datadir/master-bin.000001
--save_master_pos
 
--connection slave
START SLAVE;
--let $slave_timeout = 5
--source include/wait_for_slave_to_start.inc
--sync_with_master

Comment by Kristian Nielsen [ 2014-06-18 ]

Here is a MySQL 5.6 patch that fixes this:

revision-id: frazer@mysql.com-20110314170916-ypgin17otj3ucx95
parent: andrei.elkin@oracle.com-20110314135544-xez4ef4e0rynbmy9
committer: Frazer Clement <frazer@mysql.com>
branch nick: mysql-trunk
timestamp: Mon 2011-03-14 17:09:16 +0000
message:
Bug#11799671 NOT POSSIBLE TO SKIP INCIDENT ERRORS

do_apply_event() for the Incident_log_event is enhanced to check whether
the event should be skipped.

Testcase rpl_skip_incident is added.

Comment by Kristian Nielsen [ 2014-06-18 ]

I merged the MySQL 5.6 fix for Bug#11799671 into MariaDB 10.0.13

Generated at Thu Feb 08 07:09:57 UTC 2024 using Jira 8.20.16#820016-sha1:9d11dbea5f4be3d4cc21f03a88dd11d8c8687422.