mariadb/mysql-test/suite/rpl
Kristian Nielsen d90a2b44ad MDEV-33668: More precise dependency tracking of XA XID in parallel replication
Keep track of each recently active XID, recording which worker it was queued
on. If an XID might still be active, choose the same worker to queue event
groups that refer to the same XID to avoid conflicts.

Otherwise, schedule the XID freely in the next round-robin slot.

This way, XA PREPARE can normally be scheduled without restrictions (unless
duplicate XID transactions come close together). This improves scheduling
and parallelism over the old method, where the worker thread to schedule XA
PREPARE on was fixed based on a hash value of the XID.

XA COMMIT will normally be scheduled on the same worker as XA PREPARE, but
can be a different one if the XA PREPARE is far back in the event history.

Testcase and code for trimming dynamic array due to Andrei.

Reviewed-by: Andrei Elkin <andrei.elkin@mariadb.com>
Signed-off-by: Kristian Nielsen <knielsen@knielsen-hq.org>
2024-04-09 11:42:34 +03:00
..
extension mtr: use env for perl 2020-06-23 03:24:46 +02:00
include MDEV-33582 Add more warnings to be able to better diagnose network issues 2024-03-05 20:19:49 +02:00
r MDEV-33668: More precise dependency tracking of XA XID in parallel replication 2024-04-09 11:42:34 +03:00
t MDEV-33668: More precise dependency tracking of XA XID in parallel replication 2024-04-09 11:42:34 +03:00
disabled.def MDEV-17390: re-neable rpl_semi_sync_after_sync test 2022-06-17 19:38:43 +03:00
my.cnf Remove duplicated default client include from replication my.cnf 2023-09-14 12:56:41 +02:00
README
rpl_1slave_base.cnf

How to run.
===========

./mysql-test-run.pl --suite=rpl --mysqld=--binlog-format=mixed