mariadb/mysql-test/suite/rpl
Kristian Nielsen 4c8af2007d MDEV-36934: semi sync makes the master unresponsive when a replica is stopped
Ensure that a pending semi-sync transaction can only be signalled on its THD
while it is waiting in commit_trx(); not if the wait in commit_trx() is
skipped for some reason.

There was a bug that if no semi-sync slaves were connected and
rpl_semi_sync_master_wait_no_slave was off, the THD pointer could be left in
the list of pending transactions after THD was deleted, and an invalid
THD/condition variable could be signalled, causing hang or other corruption.

Testcase based on work by Brandon Nesterenko <brandon.nesterenko@mariadb.com>.

Reviewed-by: Brandon Nesterenko <brandon.nesterenko@mariadb.com>
Signed-off-by: Kristian Nielsen <knielsen@knielsen-hq.org>
2025-07-08 16:41:12 +02:00
..
extension mtr: use env for perl 2020-06-23 03:24:46 +02:00
include Merge 10.5 -> 10.6 2024-12-05 09:20:36 +01:00
r MDEV-36934: semi sync makes the master unresponsive when a replica is stopped 2025-07-08 16:41:12 +02:00
t MDEV-36934: semi sync makes the master unresponsive when a replica is stopped 2025-07-08 16:41:12 +02: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