Browse Source

MDEV-35941 : galera_bf_abort_lock_table fails with wait for metadata lock

Test fixes only.

Signed-off-by: Julius Goryavsky <julius.goryavsky@mariadb.com>
pull/3814/head
Jan Lindström 9 months ago
committed by Julius Goryavsky
parent
commit
a1d2dfa656
  1. 35
      mysql-test/suite/galera/include/wait_condition_with_debug_and_kill.inc
  2. 1
      mysql-test/suite/galera/r/galera_bf_abort_lock_table.result
  3. 5
      mysql-test/suite/galera/t/galera_bf_abort_lock_table.cnf
  4. 8
      mysql-test/suite/galera/t/galera_bf_abort_lock_table.test
  5. 7
      mysql-test/suite/galera/t/mysql-wsrep#198.cnf
  6. 3
      mysql-test/suite/galera/t/mysql-wsrep#198.test

35
mysql-test/suite/galera/include/wait_condition_with_debug_and_kill.inc

@ -0,0 +1,35 @@
# include/wait_condition_with_debug_and_kill.inc
#
# SUMMARY
#
# Waits until the passed statement returns true, or the operation
# times out. If the operation times out, the additional error
# statement will be executed and server is killed.
#
# USAGE
#
# let $wait_condition=
# SELECT c = 3 FROM t;
# let $wait_condition_on_error_output= select count(*) from t;
# [let $explicit_default_wait_timeout= N] # to override the default reset
# --source include/wait_condition_with_debug_and_kill.inc
#
# OR
#
# let $wait_timeout= 60; # Override default 30 seconds with 60.
# let $wait_condition=
# SELECT c = 3 FROM t;
# let $wait_condition_on_error_output= select count(*) from t;
# --source include/wait_condition_with_debug_and_kill.inc
# --echo Executed the test condition $wait_condition_reps times
#
#
# EXAMPLE
# events_bugs.test, events_time_zone.test
#
--source include/wait_condition_with_debug.inc
if (!$success)
{
--source include/kill_galera.inc
}

1
mysql-test/suite/galera/r/galera_bf_abort_lock_table.result

@ -7,6 +7,7 @@ LOCK TABLE t1 WRITE;
connection node_1;
INSERT INTO t1 VALUES (2);
connection node_2;
SET SESSION wsrep_sync_wait = 0;
UNLOCK TABLES;
COMMIT;
SELECT COUNT(*) = 1 FROM t1;

5
mysql-test/suite/galera/t/galera_bf_abort_lock_table.cnf

@ -0,0 +1,5 @@
!include ../galera_2nodes.cnf
[mysqld.1]
wsrep-debug=1
loose-galera-bf-abort-lock-table=1

8
mysql-test/suite/galera/t/galera_bf_abort_lock_table.test

@ -1,5 +1,6 @@
--source include/galera_cluster.inc
--source include/have_innodb.inc
--source include/force_restart.inc
#
# Test that a local LOCK TABLE will NOT be broken by an incoming remote transaction against that table
@ -16,13 +17,16 @@ LOCK TABLE t1 WRITE;
INSERT INTO t1 VALUES (2);
--connection node_2
SET SESSION wsrep_sync_wait = 0;
--let $wait_condition = SELECT COUNT(*) = 1 FROM INFORMATION_SCHEMA.PROCESSLIST WHERE USER = 'system user' AND STATE = 'Waiting for table metadata lock'
--source include/wait_condition.inc
--let $wait_condition_on_error_output = SELECT * FROM INFORMATION_SCHEMA.PROCESSLIST
--source include/wait_condition_with_debug_and_kill.inc
UNLOCK TABLES;
--let $wait_condition = SELECT COUNT(*) = 0 FROM INFORMATION_SCHEMA.PROCESSLIST WHERE USER = 'system user' AND STATE = 'Waiting for table metadata lock'
--source include/wait_condition.inc
--let $wait_condition_on_error_output = SELECT * FROM INFORMATION_SCHEMA.PROCESSLIST
--source include/wait_condition_with_debug_and_kill.inc
COMMIT;
SELECT COUNT(*) = 1 FROM t1;

7
mysql-test/suite/galera/t/mysql-wsrep#198.cnf

@ -1,9 +1,6 @@
!include ../galera_2nodes.cnf
[mysqld.1]
log-bin
wsrep-debug=1
[mysqld.1]
[mysqld]
log-bin
wsrep-debug=1
loose-mysql-wsrep198=1

3
mysql-test/suite/galera/t/mysql-wsrep#198.test

@ -22,7 +22,8 @@ LOCK TABLE t2 WRITE;
--connection node_2
SET SESSION wsrep_sync_wait = 0;
--let $wait_condition = SELECT COUNT(*) = 1 FROM INFORMATION_SCHEMA.PROCESSLIST WHERE STATE = 'Waiting for table metadata lock'
--source include/wait_condition.inc
--let $wait_condition_on_error_output = SELECT * FROM INFORMATION_SCHEMA.PROCESSLIST
--source include/wait_condition_with_debug_and_kill.inc
--connection node_1
INSERT INTO t2 VALUES (1);

Loading…
Cancel
Save