Bug #37773 main.events_2 fails randomly
Submitted: 1 Jul 2008 15:38 Modified: 21 May 2009 13:50
Reporter: Alexander Nozdrin Email Updates:
Status: Duplicate Impact on me:
None 
Category:MySQL Server: General Severity:S3 (Non-critical)
Version:6.0-BK OS:Any
Assigned to: Assigned Account CPU Architecture:Any
Tags: pushbuild, sporadic, test failure

[1 Jul 2008 15:38] Alexander Nozdrin
Description:
Symptom 1:
------------------------------------------------------------------
main.events_2                  [ fail ]

mysqltest: At line 121: query 'select release_lock("test_lock2_1")' failed: 2013: Lost connection to MySQL server during query

The result from queries just before the failure was:
< snip >
get_lock("test_lock2_1", 20)
1
create event закачка21 on schedule every 10 hour do select get_lock("test_lock2_1", 20);
"Should have only 2 processes: the scheduler and the locked event"
select /*3*/ user, host, db, command, state, info
from information_schema.processlist
where (info like "select get_lock%" OR user='event_scheduler')
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)
set global event_scheduler=off;
"Should have only our process now:"
select /*4*/ user, host, db, command, state, info
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)
select release_lock("test_lock2_1");
------------------------------------------------------------------

Symptom 2:
------------------------------------------------------------------
main.events_2                  [ fail ]

CURRENT_TEST: main.events_2
mysqltest: At line 76: query 'select release_lock("test_lock2")' failed: 2013: Lost connection to MySQL server during query

The result from queries just before the failure was:
< snip >
select count(*) from mysql.event;
count(*)
0
"ENABLE the scheduler and get a lock"
set global event_scheduler=on;
select get_lock("test_lock2", 20);
get_lock("test_lock2", 20)
1
"Create an event which tries to acquire a mutex. The event locks on the mutex"
create event закачка on schedule every 10 hour do select get_lock("test_lock2", 20);
"Should have only 2 processes: the scheduler and the locked event"
select /*2*/ user, host, db, command, state, info
from information_schema.processlist
where (info like "select get_lock%" OR user='event_scheduler')
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", 20)
"Release the mutex, the event worker should finish."
select release_lock("test_lock2");
------------------------------------------------------------------

How to repeat:
https://intranet.mysql.com/secure/pushbuild/xref.pl?testname=main.events_2
[21 May 2009 13:50] Alexey Botchkov
Fix for the 37774 fixes this one also