diff options
author | Jan Lindström <jan.lindstrom@mariadb.com> | 2020-05-14 09:17:14 +0300 |
---|---|---|
committer | Jan Lindström <jan.lindstrom@mariadb.com> | 2020-05-15 09:04:02 +0300 |
commit | 523d67a272ca37bf6c1972bae09f59d72a78d99c (patch) | |
tree | 080619db9c8cd5266d28540685a241b6068a0c5d /mysql-test/suite/galera/r/galera_bf_lock_wait.result | |
parent | 3bfe305c5cd678a8563f7a76d6ed59095129007e (diff) | |
download | mariadb-git-523d67a272ca37bf6c1972bae09f59d72a78d99c.tar.gz |
MDEV-22494 : Galera assertion lock_sys.mutex.is_owned() at lock_trx_handle_wait_low
Problem was that trx->lock.was_chosen_as_wsrep_victim variable was
not set back to false after it was set true.
wsrep_thd_bf_abort
Add assertions for correct mutex status and take necessary
mutexes before calling thd->awake_no_mutex().
innobase_rollback_trx()
Reset trx->lock.was_chosen_as_wsrep_victim
wsrep_abort_slave_trx()
Removed unused function.
wsrep_innobase_kill_one_trx()
Added function comment, removed unnecessary parameters
and added debug assertions to enforce correct usage. Added
more debug output to help out on error analysis.
wsrep_abort_transaction()
Added debug assertions and removed unused variables.
trx0trx.h
Removed assert_trx_is_free macro and replaced it with
assert_freed() member function.
trx_create()
Use above assert_free() and initialize wsrep variables.
trx_free()
Use assert_free()
trx_t::commit_in_memory()
Reset lock.was_chosen_as_wsrep_victim
trx_rollback_for_mysql()
Reset trx->lock.was_chosen_as_wsrep_victim
Add test case galera_bf_kill
Diffstat (limited to 'mysql-test/suite/galera/r/galera_bf_lock_wait.result')
-rw-r--r-- | mysql-test/suite/galera/r/galera_bf_lock_wait.result | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/mysql-test/suite/galera/r/galera_bf_lock_wait.result b/mysql-test/suite/galera/r/galera_bf_lock_wait.result index f893848a72d..71627d11a4e 100644 --- a/mysql-test/suite/galera/r/galera_bf_lock_wait.result +++ b/mysql-test/suite/galera/r/galera_bf_lock_wait.result @@ -1,5 +1,7 @@ connection node_2; connection node_1; +connection node_1; +call mtr.add_suppression("WSREP: Trying to continue unpaused monitor"); CREATE TABLE t1 ENGINE=InnoDB select 1 as a, 1 as b union select 2, 2; ALTER TABLE t1 add primary key(a); CREATE PROCEDURE p1() @@ -19,7 +21,7 @@ connect node_2_p1, 127.0.0.1, root, , test, $NODE_MYPORT_2; call p1; connect node_2_p2, 127.0.0.1, root, , test, $NODE_MYPORT_2; call p1; -connection default; +connection node_1; checking error log for 'BF lock wait long' message for 10 times every 10 seconds ... drop table t1; drop procedure p1; |