Commit 47d17e5d authored by unknown's avatar unknown

Fix for a BUG#31649: events.test fails: NULL "state" field of

SHOW PROCESSLIST.

The problem was a race condition: if the Event Scheduler was not
quick enough, the following scenario happens:
  - The Event Scheduler picks up the created event;
  - The event is executed;
  - event_scheduler_thread->proc_info is set to NULL;
  - The client issues SELECT FROM I_S.

The fix is to wait for the Event Scheduler to reach 'Waiting
for next activation' state. 


mysql-test/t/events.test:
  Wait for the Event Scheduler to start waiting for the activation.
parent 77c8c76f
...@@ -454,7 +454,8 @@ create event закачка on schedule every 10 hour do select get_lock("test_l ...@@ -454,7 +454,8 @@ create event закачка on schedule every 10 hour do select get_lock("test_l
--echo "Should have only 2 processes: the scheduler and the locked event" --echo "Should have only 2 processes: the scheduler and the locked event"
let $wait_condition= select count(*) = 2 from information_schema.processlist let $wait_condition= select count(*) = 2 from information_schema.processlist
where ( (state like 'User lock%' AND info like 'select get_lock%') where ( (state like 'User lock%' AND info like 'select get_lock%')
OR (command='Daemon' AND user='event_scheduler')); OR (command='Daemon' AND user='event_scheduler' AND
state = 'Waiting for next activation'));
--source include/wait_condition.inc --source include/wait_condition.inc
select /*2*/ user, host, db, command, state, info select /*2*/ user, host, db, command, state, info
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment