1
0
mirror of https://github.com/MariaDB/server.git synced 2026-01-06 05:22:24 +03:00
Files
mariadb/sql
Sven Sandberg 7ecb869b6e BUG#54729: sleep() capped to 5 seconds when executed in the sql thread or in an event
Symptom:
When the sql function SLEEP() was executed in the slave SQL thread or from an event (as in
CREATE EVENT, not binlog event), then the timeout was capped to 5 seconds.

Background:
This bug was introduced in the fix of BUG#10374, in the function interruptible_wait() in
item_func.cc.
The function interruptible_wait(), called from item_func_sleep::val_int(), splits the
sleep into 5 seconds units. After each unit, it checks if thd->is_connected() is true: if
not, it stops sleeping. The purpose is to not use system resources to sleep when a client
disconnects.
However, thd->is_connected() returns false for the slave SQL thread and for the event
worker thread, because they don't connect to the server the same way as client threads
do.

Fix:
Make thd->is_connected() return true for all system threads.


sql/sql_class.h:
  Made THD::is_connected() return true for all system threads.
2010-07-13 11:13:06 +02:00
..
2010-06-18 17:04:15 +02:00
2010-04-19 16:09:44 +04:00
2010-04-12 17:17:37 +04:00
2010-05-24 14:51:59 +02:00
2010-05-24 14:51:59 +02:00
2010-05-28 19:53:26 -03:00
2010-03-31 16:05:33 +02:00
2010-06-08 10:47:23 +04:00
2010-04-13 19:04:45 +04:00
2010-03-31 16:05:33 +02:00
2010-02-20 12:40:21 +03:00
2010-06-06 13:19:29 +02:00
2010-05-28 09:47:58 +04:00
2010-06-11 10:15:55 +02:00
2010-06-04 17:10:22 +03:00
2010-06-04 17:10:22 +03:00
2010-04-13 19:04:45 +04:00
2010-03-31 16:05:33 +02:00
2010-05-28 09:47:58 +04:00
2010-04-07 13:58:40 +02:00
2009-12-25 16:49:21 +01:00
2010-05-24 14:51:59 +02:00
2009-12-03 21:37:38 +03:00
2010-03-15 14:57:20 +01:00