Bug #83335 replication filters fail if engine unavailable on slave, breaking replication
Submitted: 11 Oct 2016 14:40 Modified: 12 Oct 2016 9:09
Reporter: Riccardo Pizzi Email Updates:
Status: Verified Impact on me:
None 
Category:MySQL Server: Replication Severity:S1 (Critical)
Version:5.6.33 OS:CentOS
Assigned to: CPU Architecture:Any
Tags: filters, replication

[11 Oct 2016 14:40] Riccardo Pizzi
Description:
When replicating from a master to a slave, where an engine  has been disabled or not compiled in,  the check on unavailable engine is done before the replication filters are applied, breaking replication even if the table with unsupported engine was not supposed to be replicated on slave.

How to repeat:
Configure the slave with:

default_storage_engine=MyISAM
default_tmp_storage_engine=MyISAM
skip-innodb
replicate-wild-do-table		= test.replicate_only_this_table

Set up replication.

On master, execute the following:

create table test.crashtheslave  (id int not null primary key) engine=InnoDB;

Suggested fix:
Check availability of engines on slave after replication filters.
[12 Oct 2016 9:09] MySQL Verification Team
Hello Riccardo,

Thank you for the report.
Observed this with 5.6.33 build.

Thanks,
Umesh
[12 Oct 2016 9:10] MySQL Verification Team
test results

Attachment: 83335.results (application/octet-stream, text), 17.21 KiB.