mariadb/mysql-test/suite/binlog
Andrei 674c9b0261 MDEV-31949 III. Innodb flush_log_later for XA commit,rollback
This commit carries changes to Innodb for the user XA's binlog-coordinated
 ordered commit. It's the part III of the series aimed at
improving on parallel slave performance and providing crash-recovery.

As the part I has unified binlog coordinated completion (commit and
rollback) of the XA transactions with the normal ones a remained
task is to optimize flush to disk call away from the XA completion execution
in engine like it's done to the normal transaction.
Namely innobase_{rollback,commit}_by_xid()^\footnote{Unlike the normal
transaction case, XA-rollback also needs a similar addressing} now
raise a flag blocking the flush before innobase_commit_low().
The flag is restored upon that, which of course what the normal
transaction does in its execution path past the low-commit.

Tests demonstrate the changes are effectual, e.g
binlog_xa_prepared_disconnect.test " failed ", to require it to
adapted to possible loss of the commit/rollback upon crash.
Binlog recovery in such scenarios is going to be recovered in the part
IV of MDEV-33168. The feasibility of successful recovery of
XA-"COMPLETE" is based on a plain observation, that in order to decide
whether to commit an XA or not it's sufficient to follow
the normal transaction recovery rule: when xid is found in binlog
the transaction gets completed (committed in the normal transaction case).
2025-05-21 15:45:06 +03:00
..
include MDEV-31949 III. Innodb flush_log_later for XA commit,rollback 2025-05-21 15:45:06 +03:00
r MDEV-31949 III. Innodb flush_log_later for XA commit,rollback 2025-05-21 15:45:06 +03:00
std_data MDEV-30128 remove support for 5.1- replication events 2023-02-05 22:02:30 +01:00
t MDEV-31949 III. Innodb flush_log_later for XA commit,rollback 2025-05-21 15:45:06 +03:00
combinations WL#4350 Options in my.cnf style config file should not start with -- 2008-09-05 15:31:09 +02:00
disabled.def MDEV-30940: Revert "binlog.innodb_rc_insert_before_delete is disabled with MDEV-30490" 2023-01-30 21:28:21 +01:00
my.cnf MDEV-31404 Implement binlog_space_limit 2024-02-14 15:02:21 +01:00