Bug #83970 Unclear error from engines not supporting sql_exec_mode=IDEMPOTENT
Submitted: 25 Nov 2016 21:10 Modified: 5 Dec 2016 16:12
Reporter: Emanuel Calvo (OCA) Email Updates:
Status: Verified Impact on me:
None 
Category:MySQL Server: Replication Severity:S3 (Non-critical)
Version: OS:Any
Assigned to: CPU Architecture:Any
Tags: IDEMPOTENT replication

[25 Nov 2016 21:10] Emanuel Calvo
Description:
Although documentation is clear regarding slave_exec_mode "This should not
be changed; currently, IDEMPOTENT mode is supported **only** by NDB and is
used when replicating NDB **to InnoDB**.", if you try to use IDEMPOTENT
with a MyISAM table, you'll get a not very explicit/detailed error on the
SQL thread:

       Could not execute Write_rows_v1 event on table <ANON>; Got error 175
from storage engine, Error_code: 1030; handler error No Error!;

Is not very clear as the returned error is "No error!".  It could be more useful some sort of post- check on this variable as suggestion or add this to the docs.

How to repeat:

- Add an existing key on the slave on a table using a different engine than InnoDB/NDB. 
- Let the SQL thread fail due to 1062 (Duplicate key error)
- Switch to sql_exec_mode to IDEMPOTENT, restart the SQL thread.
[5 Dec 2016 16:12] MySQL Verification Team
Hi!

I find your request fully justified. For your information, InnoDB also supports IDEMPOTENT RBR  replication.

I am verifying this bug with twofold effect. First, that error message is made more correct and much more verbose. Second, that documentation is more clear on this subject.