1
0
mirror of https://github.com/MariaDB/server.git synced 2025-08-08 11:22:35 +03:00

Fixes to streaming replication BF aborts

The InnoDB DeadlockChecker::check_and_resolve() was missing a
call to wsrep_handle_SR_rollback() in the case when the
transaction running deadlock detection was chosen as victim.

Refined wsrep_handle_SR_rollback() to skip store_globals() calls
if the transaction was BF aborting itself.

Made mysql-wsrep-features#165 more deterministic by waiting until
the update is in progress before sending next update.
This commit is contained in:
Teemu Ollakka
2019-02-19 14:08:29 +02:00
committed by Jan Lindström
parent 31b65d3dd2
commit 6edfeb82fd
5 changed files with 314 additions and 4 deletions

View File

@@ -53,6 +53,10 @@ SELECT * FROM t1;
--connection node_1a
--send UPDATE t1 SET f2 = 'a' WHERE f1 = 2
--connection node_1
--let $wait_condition = SELECT COUNT(*) = 1 FROM INFORMATION_SCHEMA.PROCESSLIST WHERE USER != 'system user' AND STATE = 'Updating';
--source include/wait_condition.inc
# Will deadlock
--connection node_1b
SET DEBUG_SYNC = 'wsrep_before_SR_rollback SIGNAL wait WAIT_FOR continue';
@@ -101,4 +105,5 @@ SELECT * FROM t1;
SELECT * FROM t1;
--connection node_1
SET DEBUG_SYNC = 'RESET';
DROP TABLE t1;