[MDEV-9315] Xid is only shown for RBR events Created: 2015-12-22 Updated: 2017-11-05 Resolved: 2017-11-05 |
|
| Status: | Closed |
| Project: | MariaDB Server |
| Component/s: | Galera, Replication, Scripts & Clients |
| Affects Version/s: | 10.0.23 |
| Fix Version/s: | N/A |
| Type: | Bug | Priority: | Major |
| Reporter: | Michaël de groot | Assignee: | Sachin Setiya (Inactive) |
| Resolution: | Won't Fix | Votes: | 0 |
| Labels: | galera | ||
| Issue Links: |
|
||||||||
| Description |
|
We use Xid to failover a asynchronous slave to a different Galera master. Some users have automated scripts to do this as well. With RBR events the Xid is shown at the bottom of a transaction. With SBR events it it is not shown. Please change this so Xid is always shown in mysqlbinlog output.
|
| Comments |
| Comment by Elena Stepanova [ 2015-12-26 ] |
|
It is not about STATEMENT vs ROW format, it is about being transactional vs non-transactional. Why do you need it for DDL, how do you use it for failover? |
| Comment by Michaël de groot [ 2015-12-27 ] |
|
Aha that explains! It does not remove the issue though. For asynchronous slave to galera cluster failover the easiest way (it does not require SSH access) to automate the failover is: If there are frequent DDL statements going on in the system, this means the script would find the Xid before the DDL statement. For example a INDEX creation is already executed on the slave. When failing over to a galera master, it will find the position of that Xid. This, the CREATE INDEX will be executed again and fail the replication. Is this something in mysqlbinlog or in Galera? If it's in Galera: How does the galera cluster itself know if the DDL has already been executed in case of a failing node doing IST? |
| Comment by Elena Stepanova [ 2015-12-29 ] |
|
The above algorithm does not sound either easy or reliable to me. |
| Comment by Michaël de groot [ 2015-12-29 ] |
|
I never said it was pretty If MariaDB GTID was kept in sync in the galera cluster this would not be needed by the way. |
| Comment by Michaël de groot [ 2017-04-18 ] |
|
This issue is a work-around for the issue that |
| Comment by Michaël de groot [ 2017-11-05 ] |
|
In my opinion, this change does not need to be implemented. The xid refers to xa transactions and ddl is not transactional in mariadb. The underlying reason of requesting this work around has been fixed in the related issue |