Thanks for the reply, but I am afraid I don't fully understand.
Here is a simple test case with mySQL 5.6.17:
1)
You need all those in configuration [mysqld) section
log-bin
log-slave-updates
gtid_mode = ON
enforce_gtid_consistency = ON
2)
Then this small script will reproduce:
DROP DATABASE IF EXISTS `gtid_test`;
CREATE DATABASE `gtid_test`;
USE `gtid_test`;
CREATE TABLE `tab1` (
`a` INT DEFAULT NULL
) ENGINE=MYISAM ;
CREATE TABLE `tab2` (
`b` INT
) ENGINE=INNODB;
--start a transaction
SET autocommit=0;
INSERT INTO `tab1` VALUES (1);
INSERT INTO `tab2` VALUES (1);
-- now the first UPDATE to the MyISAM table in the transaction triggers this error:
UPDATE `tab1` SET `a` = 5 WHERE `a` = 1;
-- and you'll get:
--
-- Error Code: 1785
-- When @@GLOBAL.ENFORCE_GTID_CONSISTENCY = 1, updates to non-transactional tables can only be done in either autocommitted statements or single-statement transactions, and never in the same statement as updates to transactional tables.