Below is the list of changes that have just been committed into a local
5.1 repository of alik. When alik 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-10-29 16:56:25+03:00, anozdrin@station. +2 -0
Fix for a BUG#31649: events.test fails: NULL "state" field of
SHOW PROCESSLIST.
The problem here was a race condition: 20 seconds is not a big
time interval on a heavy-loaded machine. If the created event
executed in 20 seconds (timeout on getting the lock in the event),
the thread state can be NULL for a while (it is reset in sp_head).
The fix is to significantly increase timeout of getting the lock
in the event.
mysql-test/r/events.result@stripped, 2007-10-29 16:56:23+03:00, anozdrin@station. +3 -3
Update result file.
mysql-test/t/events.test@stripped, 2007-10-29 16:56:23+03:00, anozdrin@station. +1 -1
Increase timeout in order to remove race condition from events.test.
diff -Nrup a/mysql-test/r/events.result b/mysql-test/r/events.result
--- a/mysql-test/r/events.result 2007-08-31 18:49:39 +04:00
+++ b/mysql-test/r/events.result 2007-10-29 16:56:23 +03:00
@@ -492,7 +492,7 @@ set global event_scheduler=1;
select get_lock("test_lock2_1", 20);
get_lock("test_lock2_1", 20)
1
-create event закачка21 on schedule every 10 hour do select get_lock("test_lock2_1", 20);
+create event закачка21 on schedule every 10 hour do select get_lock("test_lock2_1", 2000);
"Should have only 2 processes: the scheduler and the locked event"
select /*3*/ user, host, db, command, state, info
from information_schema.processlist
@@ -500,7 +500,7 @@ where (info like "select get_lock%" OR u
order by info;
user host db command state info
event_scheduler localhost NULL Daemon Waiting for next activation NULL
-root localhost events_test Connect User lock select get_lock("test_lock2_1", 20)
+root localhost events_test Connect User lock select get_lock("test_lock2_1", 2000)
set global event_scheduler=off;
"Should have only our process now:"
select /*4*/ user, host, db, command, state, info
@@ -508,7 +508,7 @@ from information_schema.processlist
where (info like "select get_lock%" OR user='event_scheduler')
order by info;
user host db command state info
-root localhost events_test Connect User lock select get_lock("test_lock2_1", 20)
+root localhost events_test Connect User lock select get_lock("test_lock2_1", 2000)
select release_lock("test_lock2_1");
release_lock("test_lock2_1")
1
diff -Nrup a/mysql-test/t/events.test b/mysql-test/t/events.test
--- a/mysql-test/t/events.test 2007-09-06 15:57:32 +04:00
+++ b/mysql-test/t/events.test 2007-10-29 16:56:23 +03:00
@@ -482,7 +482,7 @@ let $wait_condition= select count(*) = 0
## 7. release the lock and sleep, both scheduler and child should end
set global event_scheduler=1;
select get_lock("test_lock2_1", 20);
-create event закачка21 on schedule every 10 hour do select get_lock("test_lock2_1", 20);
+create event закачка21 on schedule every 10 hour do select get_lock("test_lock2_1", 2000);
--echo "Should have only 2 processes: the scheduler and the locked event"
let $wait_condition= select count(*) = 2 from information_schema.processlist
| Thread |
|---|
| • bk commit into 5.1 tree (anozdrin:1.2600) BUG#31649 | Alexander Nozdrin | 29 Oct |