Description:
Just some examples which illustrate the issue:
----------------------------------------------
./mysql-test-run --check-testcases events_restart_phase1
=======================================================
TEST RESULT TIME (ms)
-------------------------------------------------------
--- var/tmp/check-master0.result
+++ var/tmp/check-master0.reject
@@ -251,6 +251,7 @@
show databases;
Database
information_schema
+events_test
mysql
test
@@ -335,7 +336,7 @@
CREATE TABLE `event` (
`db` char(64) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL DEFAULT '',
`name` char(64) NOT NULL DEFAULT '',
- `body` longblob NOT NULL,
+ `body` longtext CHARACTER SET utf8 COLLATE utf8_bin,
`definer` char(77) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL DEFAULT '',
`execute_at` datetime DEFAULT NULL,
`interval_value` int(11) DEFAULT NULL,
--- var/tmp/check-master0.result
+++ var/tmp/check-master0.reject
@@ -251,6 +251,7 @@
show databases;
Database
information_schema
+events_test
mysql
test
@@ -335,7 +336,7 @@
CREATE TABLE `event` (
`db` char(64) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL DEFAULT '',
`name` char(64) NOT NULL DEFAULT '',
- `body` longblob NOT NULL,
+ `body` longtext CHARACTER SET utf8 COLLATE utf8_bin,
`definer` char(77) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL DEFAULT '',
`execute_at` datetime DEFAULT NULL,
`interval_value` int(11) DEFAULT NULL
./mysql-test-run events_restart_phase2
...
=======================================================
TEST RESULT TIME (ms)
-------------------------------------------------------
main.events_restart_phase2 [ fail ]
mysqltest: At line 4: query 'use events_test' failed: 1049: Unknown database 'events_test'
This bug in testcase architecture has in the moment
most probably nearly no impact on the outcome of
Pushbuild.
But significant problems will come up
- extreme likely if MTR runs with the option
"--reorder"
"--reorder" accelerates the execution of testsuites
- likely if someone defines its own sequence of tests
and this sequence contains events_bugs
How to repeat:
See above
Suggested fix:
We have here a situation where a fixed order of
test execution
main.events_restart_phase1
main.events_restart_phase2
main.events_restart_phase3
is required.
This is an uncomfortable architecture if somebody
has to fix one of these tests. But there are some
checks where we cannot avoid such an architecture
because of the limited capabilities of our tools
(Example: Upgrade/Downgrade testsuite in
mysql-test-extra-<version trees).
The main failure here is to mix such tests into
a huge testsuite ("main") where
- IMHO > 90% of all tests do not have such dependencies
(nobody expects them)
- sooner or later runs of MTR will/should contain
the option "--reorder"
-> Reorder the tests so that server restarts
can be optimized away
Suggested fix:
Either
- put these tests into their own testsuite and
document that MTR runs with "--reorder" might
cause failures because there are dependencies
between the tests
- try to remove the dependencies between these tests