From 187cbfca7cb75ed809d809450152d2c92779f35e Mon Sep 17 00:00:00 2001 From: Sergei Golubchik Date: Wed, 15 Nov 2023 14:17:26 +0100 Subject: [PATCH] MDEV-32810 events.events_1 fails in 11.1 and above fix test cases like ... prepare the test, create a table or a user create event ... on schedule every 1 second ... do something ... ... verify that something was done ... cleanup drop event, table or user here the event scheduler can manage to start the worker for the second execution of the event, then cleanup happens and the worker realizes that it cannot change the security context (as the user is dropped) or cannot insert (as the table is dropped). followup for 279b0db8c60 (that removed suppression of /Event Schedule/) --- mysql-test/suite/events/events_1.result | 4 ---- mysql-test/suite/events/events_1.test | 10 ++++------ mysql-test/suite/rpl/r/rpl_invoked_features.result | 1 + mysql-test/suite/rpl/t/rpl_invoked_features.test | 1 + 4 files changed, 6 insertions(+), 10 deletions(-) diff --git a/mysql-test/suite/events/events_1.result b/mysql-test/suite/events/events_1.result index 24f3aa35b56..2db478ad040 100644 --- a/mysql-test/suite/events/events_1.result +++ b/mysql-test/suite/events/events_1.result @@ -2,10 +2,6 @@ set sql_mode=""; call mtr.add_suppression("Column count of mysql.event is wrong. Expected .*, found .*\. The table is probably corrupted"); call mtr.add_suppression("Incorrect definition of table mysql.event:.*"); call mtr.add_suppression("Event Scheduler: .* DROP command denied to user"); -drop database if exists events_test; -drop database if exists db_x; -drop database if exists mysqltest_db2; -drop database if exists mysqltest_no_such_database; create database events_test; use events_test; CREATE USER pauline@localhost; diff --git a/mysql-test/suite/events/events_1.test b/mysql-test/suite/events/events_1.test index 63b0c50909f..cace9eb349d 100644 --- a/mysql-test/suite/events/events_1.test +++ b/mysql-test/suite/events/events_1.test @@ -11,12 +11,6 @@ call mtr.add_suppression("Column count of mysql.event is wrong. Expected .*, fou call mtr.add_suppression("Incorrect definition of table mysql.event:.*"); call mtr.add_suppression("Event Scheduler: .* DROP command denied to user"); ---disable_warnings -drop database if exists events_test; -drop database if exists db_x; -drop database if exists mysqltest_db2; -drop database if exists mysqltest_no_such_database; ---enable_warnings create database events_test; use events_test; @@ -44,6 +38,8 @@ DROP EVENT e_x1; DROP EVENT e_x2; disconnect priv_conn; connection default; +let $wait_condition= SELECT count(*)=1 from information_schema.processlist; +--source include/wait_condition.inc DROP DATABASE db_x; DROP USER pauline@localhost; USE events_test; @@ -103,6 +99,8 @@ delimiter ;| set global event_scheduler = on; let $wait_condition= SELECT count(*)>0 from mysql.event where name='e_43' and interval_value= 5; --source include/wait_condition.inc +let $wait_condition= SELECT count(*)=2 from information_schema.processlist; +--source include/wait_condition.inc select db, name, body, status, interval_field, interval_value from mysql.event; drop event e_43; drop table test_nested; diff --git a/mysql-test/suite/rpl/r/rpl_invoked_features.result b/mysql-test/suite/rpl/r/rpl_invoked_features.result index 7f632844976..2835ecb3df7 100644 --- a/mysql-test/suite/rpl/r/rpl_invoked_features.result +++ b/mysql-test/suite/rpl/r/rpl_invoked_features.result @@ -1,6 +1,7 @@ include/master-slave.inc [connection master] call mtr.add_suppression("Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT"); +call mtr.add_suppression("Event Scheduler: .* Duplicate entry '10' for key 'a'"); # Create tables CREATE TABLE t1 (a INT NOT NULL PRIMARY KEY, b INT, c VARCHAR(64)) ENGINE=myisam; INSERT INTO t1 VALUES (1,1,'1'); diff --git a/mysql-test/suite/rpl/t/rpl_invoked_features.test b/mysql-test/suite/rpl/t/rpl_invoked_features.test index 8c04e6fae68..514329a566d 100644 --- a/mysql-test/suite/rpl/t/rpl_invoked_features.test +++ b/mysql-test/suite/rpl/t/rpl_invoked_features.test @@ -9,6 +9,7 @@ --source include/master-slave.inc call mtr.add_suppression("Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT"); +call mtr.add_suppression("Event Scheduler: .* Duplicate entry '10' for key 'a'"); # --disable_warnings/--enable_warnings added before/after query # if one uses UUID() function because we need to avoid warnings