Below is the list of changes that have just been committed into a local
5.1 repository of tomash. When tomash does a push these changes will
be propagated to the main repository and, within 24 hours after the
push, to the public repository.
For information on how to access the public repository
see http://dev.mysql.com/doc/mysql/en/installing-source-tree.html
ChangeSet@stripped, 2007-01-16 14:47:03+03:00, kroki@stripped +2 -0
BUG#25211: events_bugs.test fails on sapsrv1
The problem was that the events_bugs test could randomly fail due to
unavoidable races in the test case.
Since we have a number of tests that have races that are impossible
to fix, rather than removing such tests the decision was made to
create a separate test suite for "unstable" tests. The tests in this
suite may be run with
mysql-test-run.pl --suite=unstable
Even though the unstable tests may fail randomly, it is still
valuable to have and to run them because:
- they provide a test case code for corresponding bug fixes, and
thus may be used for better understanding of the problem and the
fix, and as a base ground if the need arise to revise the fix
that is suspected to be incorrect.
- occasional test failures may be ignored, but constant failures
will likely signify the real problem, and should be investigated.
Care should be taken in writing such unstable tests:
- if the test can possibly be implemented in a deterministic way,
the effort should be taken. The test should be made unstable
only if that is unavoidable.
- the effort should be taken to minimize the non-determinism.
Since most unavoidable races are managed by some sort of delays,
such delays should be carefully chosen to provide test passing
in most circumstances (especially the test should be made to
confidently pass with the real (slow) disk I/O, as opposite to
RAM disk I/O).
- because the unstable tests are special, and (should be) few in
number, the delays may be further increased to some "sure" values
if the sporadic failures are too often.
mysql-test/suite/unstable/r/events_bugs.result@stripped, 2007-01-16 13:57:25+03:00, kroki@stripped +0 -0
Rename: mysql-test/r/events_bugs.result -> mysql-test/suite/unstable/r/events_bugs.result
mysql-test/suite/unstable/t/events_bugs.test@stripped, 2007-01-16 14:46:59+03:00, kroki@stripped +5 -5
The races in the test are unavoidable, but let's at least increase
the delays to give more chance for test passing.
mysql-test/suite/unstable/t/events_bugs.test@stripped, 2007-01-16 13:57:36+03:00, kroki@stripped +0 -0
Rename: mysql-test/t/events_bugs.test -> mysql-test/suite/unstable/t/events_bugs.test
# This is a BitKeeper patch. What follows are the unified diffs for the
# set of deltas contained in the patch. The rest of the patch, the part
# that BitKeeper cares about, is below these diffs.
# User: kroki
# Host: moonlight.home
# Root: /home/tomash/src/mysql_ab/mysql-5.1-bug25211
--- 1.22/mysql-test/t/events_bugs.test 2007-01-16 14:47:13 +03:00
+++ 1.24/mysql-test/suite/unstable/t/events_bugs.test 2007-01-16 14:47:13 +03:00
@@ -78,7 +78,7 @@ begin
drop table "hashed_num";
end|
delimiter ;|
---sleep 0.8
+--sleep 2
--echo "Now if everything is fine the event has compiled and is locked
select /*1*/ user, host, db, info from information_schema.processlist where command!='Daemon' and (info is null or info not like '%processlist%') order by info;
select release_lock('test_bug16407');
@@ -127,10 +127,10 @@ begin
end|
delimiter ;|
select event_schema, event_name, sql_mode from information_schema.events order by event_schema, event_name;
---sleep 1
+--sleep 2
select /*2*/ user, host, db, info from information_schema.processlist where (command!='Daemon' || user='event_scheduler') and (info is null or info not like '%processlist%') order by info;
select release_lock('ee_16407_2');
---sleep 1.2
+--sleep 2
select /*3*/ user, host, db, info from information_schema.processlist where (command!='Daemon' || user='event_scheduler') and (info is null or info not like '%processlist%') order by info;
set global event_scheduler= off;
select * from events_smode_test order by ev_name, a;
@@ -165,11 +165,11 @@ begin
call events_test.ee_16407_6_pendant();
end|
delimiter ;|
---sleep 1
+--sleep 2
--echo "Should have 2 locked processes"
select /*4*/ user, host, db, info from information_schema.processlist where (command!='Daemon' || user='event_scheduler') and (info is null or info not like '%processlist%') order by info;
select release_lock('ee_16407_5');
---sleep 1.3
+--sleep 2
--echo "Should have 0 processes locked"
select /*5*/ user, host, db, info from information_schema.processlist where (command!='Daemon' || user='event_scheduler') and (info is null or info not like '%processlist%') order by info;
select * from events_smode_test order by ev_name, a;
| Thread |
|---|
| • bk commit into 5.1 tree (kroki:1.2377) BUG#25211 | kroki | 16 Jan |