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.