Comment 4 for bug 1088400

Revision history for this message
Seppo Jaakola (seppo-jaakola) wrote :

This test is using statement replication (binlog_format=STATEMENT), and this is not fully supported in Galera replication. However, a crash is not a good response for configuration problem, so this bug must be fixed to give a proper warning etc... for end user.

Joep, you should be able to run your test, if you configure your application to use the row based replication, i.e. write in your my.cnf file:

binlog_format = ROW

The problem anatomy is as follows:
1. a non effective DML processes and generates a query log binlog event
2. the DML does not interact with Galera because no rows were affected, so Galera transaxctio ID remains uninitialized
3. at commit time, the query log event is packed in write set, and replicated with the uninitialized trx ID
This is not fatal per se, but if several such transactions replicate at same time, they will use same uninitialized transaction ID, and this can cause problem in Galera replication.

As a fix, replication should be skipped if no valid transaction ID has been assigned.