← Back to team overview

maria-developers team mailing list archive

Re: 9ea85a70a75: MDEV-24654 GTID event falsely marked transactional


Sergei Golubchik <serg@xxxxxxxxxxx> 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.

Follow ups