Bug #64794 slave-skip-errors does not work when using ROW based replication REDUX

Submitted: 28 Mar 2012 23:00 Modified: 16 Nov 2017 10:09
Reporter: Matthew Montgomery Email Updates:
Status: Closed Impact on me:
None 
Category:MySQL Server: Row Based Replication ( RBR ) Severity:S3 (Non-critical)
Version:5.1.56 OS:Any
Assigned to: MySQL Verification Team CPU Architecture:Any

[28 Mar 2012 23:00] Matthew Montgomery
Description:
Ref Bug#39393, corrects this problem for some but not ALL errors.

How to repeat:
** MASTER ** 

mysql> create table t1 (a int primary key) engine=innodb; 
Query OK, 0 rows affected (0.15 sec)

mysql> set binlog_format=ROW; 
Query OK, 0 rows affected (0.00 sec)

** SLAVE ** 

mysql> drop table t1;
Query OK, 0 rows affected (0.05 sec)

** MASTER ** 

mysql> insert into t1 values(1);
Query OK, 1 row affected (0.07 sec)

** SLAVE ** 

mysql> show variables like 'slave_skip_errors';
+-------------------+-------+
| Variable_name     | Value |
+-------------------+-------+
| slave_skip_errors | 1146  |
+-------------------+-------+
1 row in set (0.00 sec)

mysql> show slave status\G
*************************** 1. row ***************************
               Slave_IO_State: Waiting for master to send event
                  Master_Host: 127.0.0.1
                  Master_User: repl
                  Master_Port: 3371
                Connect_Retry: 60
              Master_Log_File: silo-bin.000014
          Read_Master_Log_Pos: 2666
               Relay_Log_File: memontgo-vmOEL6-relay-bin.000036
                Relay_Log_Pos: 968
        Relay_Master_Log_File: silo-bin.000014
             Slave_IO_Running: Yes
            Slave_SQL_Running: No
              Replicate_Do_DB: 
          Replicate_Ignore_DB: 
           Replicate_Do_Table: 
       Replicate_Ignore_Table: 
      Replicate_Wild_Do_Table: 
  Replicate_Wild_Ignore_Table: 
                   Last_Errno: 1146
                   Last_Error: Error 'Table 'test.t1' doesn't exist' on opening tables
                 Skip_Counter: 0
          Exec_Master_Log_Pos: 2496
              Relay_Log_Space: 1309
              Until_Condition: None
               Until_Log_File: 
                Until_Log_Pos: 0
           Master_SSL_Allowed: No
           Master_SSL_CA_File: 
           Master_SSL_CA_Path: 
              Master_SSL_Cert: 
            Master_SSL_Cipher: 
               Master_SSL_Key: 
        Seconds_Behind_Master: NULL
Master_SSL_Verify_Server_Cert: No
                Last_IO_Errno: 0
                Last_IO_Error: 
               Last_SQL_Errno: 1146
               Last_SQL_Error: Error 'Table 'test.t1' doesn't exist' on opening tables
                  Master_Bind: 
  Replicate_Ignore_Server_Ids: 
             Master_Server_Id: 1
1 row in set (0.00 sec)

Workaround exists for this particular case as --replicate-ignore-table.
[30 Mar 2012 20:31] Kolbe Kegel
It appears that error #1677 (Column %d of table '%s.%s' cannot be converted from type '%s' to type '%s') from a row-based event also stops replication even with slave_skip_errors=all set.
[7 Aug 2013 17:02] Andrew McGill
This error persists in version 5.6.13, where I am battling stacks of 1677 errors saying "(fieldname) cannot be converted from type 'timestamp' to type 'timestamp'"
[19 Feb 2014 16:14] Carlos Vazquez
This is also occurring to me in 5.6.15 Community edition Linux RPM on CentOS 6.4.

It happens with both
slave_skip_errors = 1677
and
slave_skip_errors = all
[13 Jan 2015 15:12] Stefan Hinz
Closed by mistake, sorry. Reopened. -Stefan
[15 Feb 2016 21:35] Rick Dale
Still having this issue in 5.6.28-enterprise. Any updates?
[16 Nov 2017 10:09] Erlend Dahl
Fixed in 5.6.32 and up under the heading of Bug#17653275.

Portions of this website are copyright © 2001, 2002 The PHP Group

Page generated in 0.056 sec. using MySQL 8.4.7-u6-cloud

Timestamp references displayed by the system are UTC.
Content reproduced on this site is the property of the respective copyright holders.
It is not reviewed in advance by Oracle and does not necessarily represent the opinion of Oracle or any other party.