Sergei Golubchik <serg@mariadb.org> writes:
To the question of the usage of trX cache by non-trX let me answer broadly to mention @@binlog_direct_non_transactional_update = false leads to aggregation of mixed, say innodb + myisam, events in trx cache.
That's different. The bug summary is "GTID event falsely marked transactional", meaning, the group of events is not transactional and it's falsely marked as transactional. If you have an innodb/myisam mix, it is correctly marked transactional.
Jumping into a disucssion here, so apologies if I misunderstood, but... The point of the "transactional" mark in GTID is to inform parallel replication that the entire event group is safe for optimistic parallel replication - basically that it can be rolled back. So if a event group contains innodb/myisam mix, and is marked as "transactional", that is not correct. This would allow parallel replication to speculatively execute and roll back the mix, and the myisam changes would remain and cause replication to break. Hope this helps, - Kristian.