mirror of
https://github.com/MariaDB/server.git
synced 2025-07-13 06:48:13 +02:00
![]() There were two issues with the test: 1. A race between a race_condition.inc and status variable, where the status variable Rpl_semi_sync_master_status could be ON before the semi-sync connection finished establishing, resulting in Rpl_semi_sync_master_clients showing 0 (instead of 1). To fix this, we simply instead wait for Rpl_semi_sync_master_clients to be 1 before proceeding. 2. Another race between a race_condition.inc and status variable, where the wait_condition waited on a process_list command of 'BINLOG DUMP' to disappear to infer the binlog dump thread was killed, to where we then verified semi-sync state was correct using status variables. However, the 'BINLOG DUMP' command is overridden with a killed status before the semi-sync tear-down happens, and thereby we could see invalid values. The fix for this is to change the wait_condition to instead wait for the connection with the replication user is gone, because that stays through the binlog dump thread tear-down life-cycle |
||
---|---|---|
.. | ||
extension | ||
include | ||
r | ||
t | ||
disabled.def | ||
my.cnf | ||
README | ||
rpl_1slave_base.cnf |
How to run. =========== ./mysql-test-run.pl --suite=rpl --mysqld=--binlog-format=mixed