mariadb/storage
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
..
archive Merge branch '11.8' into main 2025-04-18 17:11:01 +02:00
blackhole Merge 11.4 into 11.7 2024-12-02 17:51:17 +02:00
columnstore Merge branch '10.6' into 10.11 2025-01-30 11:55:13 +01:00
connect Fix typos in mysql-test/ 2025-04-29 13:53:16 +10:00
csv Fix remaining typos 2025-04-29 11:18:00 +10:00
example Tag push_warning_printf with ATTRIBUTE_FORMAT 2025-02-12 10:17:44 +01:00
federated Fix remaining typos 2025-04-29 11:18:00 +10:00
federatedx Merge 11.4 into 11.8 2025-03-05 20:39:47 +02:00
heap Fix typos in C comments inside storage/ 2025-03-26 16:56:50 +04:00
innobase MDEV-31949 III. Innodb flush_log_later for XA commit,rollback 2025-05-21 15:45:06 +03:00
maria Fix remaining typos 2025-04-29 11:18:00 +10:00
mroonga Fix remaining typos 2025-04-29 11:18:00 +10:00
myisam Fix remaining typos 2025-04-29 11:18:00 +10:00
myisammrg Fix typos in C comments inside storage/ 2025-03-26 16:56:50 +04:00
oqgraph Fix typos in C comments inside storage/ 2025-03-26 16:56:50 +04:00
perfschema remove features that were deprecated in 10.5 2025-04-29 16:53:02 +02:00
rocksdb Fix typos in mysql-test/ 2025-04-29 13:53:16 +10:00
sequence cleanup: extract transaction-related part of handlerton 2024-11-05 14:00:50 -08:00
sphinx Merge 11.4 into 11.7 2024-12-02 17:51:17 +02:00
spider Merge branch '11.8' into main 2025-04-18 17:11:01 +02:00
test_sql_discovery MDEV-19123 Change default charset from latin1 to utf8mb4 2024-07-11 10:21:07 +04:00