summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSergey Vojtovich <svoj@mariadb.org>2017-03-02 12:35:31 +0400
committerSergey Vojtovich <svoj@mariadb.org>2017-03-02 12:35:31 +0400
commit71f53bf72d918d99910f4a3e8cadbd5ed98a3021 (patch)
tree10b38a4bf104314f521eccdf5570e5b216daaef5
parentc1c5b7a8d26b446db18c5d16aca523252e97d078 (diff)
downloadmariadb-git-71f53bf72d918d99910f4a3e8cadbd5ed98a3021.tar.gz
MDEV-11221 - main.events_restart failed in bb
This is an addition to original fix. Buildbot revealed another sporadic failure in perfschema.threads_mysql test. Tests relies on data stored in performance_schema.threads, while performing waits on information_schema.processlist. These tables are not updated synchronously. Fixed by performing waits on performance_schema.threads instead.
-rw-r--r--mysql-test/suite/perfschema/include/pfs_no_running_event_scheduler.inc10
-rw-r--r--mysql-test/suite/perfschema/include/pfs_running_event_scheduler.inc10
-rw-r--r--mysql-test/suite/perfschema/t/threads_mysql.test18
3 files changed, 23 insertions, 15 deletions
diff --git a/mysql-test/suite/perfschema/include/pfs_no_running_event_scheduler.inc b/mysql-test/suite/perfschema/include/pfs_no_running_event_scheduler.inc
new file mode 100644
index 00000000000..eff3d7df854
--- /dev/null
+++ b/mysql-test/suite/perfschema/include/pfs_no_running_event_scheduler.inc
@@ -0,0 +1,10 @@
+# threads are removed from:
+# - information_schema.processlist
+# - performance_schema.threads
+# at different times, so we may have to wait a little more
+# for the event_scheduler to shutdown
+#
+let $wait_condition=
+ SELECT COUNT(*) = 0 FROM performance_schema.threads
+ WHERE name like 'thread/sql/event%';
+--source include/wait_condition.inc
diff --git a/mysql-test/suite/perfschema/include/pfs_running_event_scheduler.inc b/mysql-test/suite/perfschema/include/pfs_running_event_scheduler.inc
new file mode 100644
index 00000000000..219a41051fb
--- /dev/null
+++ b/mysql-test/suite/perfschema/include/pfs_running_event_scheduler.inc
@@ -0,0 +1,10 @@
+# threads are removed from:
+# - information_schema.processlist
+# - performance_schema.threads
+# at different times, so we may have to wait a little more
+# for the event_scheduler to shutdown
+#
+let $wait_condition=
+ SELECT COUNT(*) = 1 FROM performance_schema.threads
+ WHERE name like 'thread/sql/event%';
+--source include/wait_condition.inc
diff --git a/mysql-test/suite/perfschema/t/threads_mysql.test b/mysql-test/suite/perfschema/t/threads_mysql.test
index 8576c8767d6..c33f421863e 100644
--- a/mysql-test/suite/perfschema/t/threads_mysql.test
+++ b/mysql-test/suite/perfschema/t/threads_mysql.test
@@ -9,22 +9,10 @@
# Ensure that the event scheduler (started via threads_mysql-master.opt)
# is really running.
---source include/running_event_scheduler.inc
+--source include/pfs_running_event_scheduler.inc
SET GLOBAL event_scheduler = OFF;
---source include/no_running_event_scheduler.inc
-
-# threads are removed from:
-# - information_schema.processlist
-# - performance_schema.threads
-# at different times, so we may have to wait a little more
-# for the event_scheduler to shutdown
-#
-let $wait_timeout= 1;
-let $wait_condition=
- SELECT COUNT(*) = 0 FROM performance_schema.threads
- WHERE name like 'thread/sql/event%';
---source include/wait_condition.inc
+--source include/pfs_no_running_event_scheduler.inc
--vertical_results
@@ -59,7 +47,7 @@ WHERE name LIKE 'thread/sql%';
SET GLOBAL event_scheduler = ON;
---source include/running_event_scheduler.inc
+--source include/pfs_running_event_scheduler.inc
# Show entries belonging to the just started event scheduler
SELECT name, type, processlist_user, processlist_host, processlist_db,