Implement automatic query kill functionality
Bug #671227 reported by
Peter Zaitsev
This bug affects 2 people
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Percona Server moved to https://jira.percona.com/projects/PS |
Invalid
|
Wishlist
|
Unassigned |
Bug Description
Implement some functionality to limit query execution time, it could be
SELECT ... SQL_TIMEOUT=60 .... in which query will be killed in 60 seconds.
It would be also helpful to have max_query_time or similar variable so queries can be killed automatically.
This can be set as per session for interactive web sessions which know they should not be doing long queries.
We may consider implementing this as user privilege to so we can restrict users from doing very long queries,
this would be good for hosting providers which have to prevent users from running very long queries and killing
system.
Related branches
lp:~vlad-lesin/percona-server/5.6-sql_timeout
- Alexey Kopytov (community): Needs Fixing
-
Diff: 3089 lines (+857/-266)61 files modifiedPercona-Server/mysql-test/r/mysqld--help-notwin.result (+2/-0)
Percona-Server/mysql-test/r/percona_sql_timeout.result (+120/-0)
Percona-Server/mysql-test/suite/sys_vars/r/sql_timeout_basic.result (+151/-0)
Percona-Server/mysql-test/suite/sys_vars/t/sql_timeout_basic.test (+194/-0)
Percona-Server/mysql-test/t/percona_sql_timeout.test (+82/-0)
Percona-Server/sql/binlog.cc (+3/-3)
Percona-Server/sql/debug_sync.cc (+12/-12)
Percona-Server/sql/event_queue.cc (+3/-3)
Percona-Server/sql/event_scheduler.cc (+1/-1)
Percona-Server/sql/filesort.cc (+4/-7)
Percona-Server/sql/ha_ndbcluster.cc (+12/-12)
Percona-Server/sql/ha_ndbcluster_binlog.cc (+14/-14)
Percona-Server/sql/handler.cc (+5/-5)
Percona-Server/sql/item_func.cc (+10/-5)
Percona-Server/sql/item_subselect.cc (+1/-1)
Percona-Server/sql/lock.cc (+2/-2)
Percona-Server/sql/log.cc (+2/-2)
Percona-Server/sql/log_event.cc (+1/-1)
Percona-Server/sql/mysqld.cc (+2/-2)
Percona-Server/sql/opt_range.cc (+1/-1)
Percona-Server/sql/records.cc (+3/-3)
Percona-Server/sql/rpl_gtid_execution.cc (+2/-2)
Percona-Server/sql/rpl_gtid_state.cc (+1/-1)
Percona-Server/sql/rpl_master.cc (+2/-2)
Percona-Server/sql/rpl_rli.cc (+5/-5)
Percona-Server/sql/rpl_rli_pdb.cc (+9/-9)
Percona-Server/sql/rpl_slave.cc (+9/-9)
Percona-Server/sql/signal_handler.cc (+1/-1)
Percona-Server/sql/sp.cc (+2/-2)
Percona-Server/sql/sp_head.cc (+6/-6)
Percona-Server/sql/sp_instr.cc (+1/-1)
Percona-Server/sql/sp_rcontext.cc (+1/-1)
Percona-Server/sql/sql_admin.cc (+1/-1)
Percona-Server/sql/sql_base.cc (+5/-5)
Percona-Server/sql/sql_cache.cc (+2/-2)
Percona-Server/sql/sql_class.cc (+15/-14)
Percona-Server/sql/sql_class.h (+31/-4)
Percona-Server/sql/sql_connect.cc (+4/-4)
Percona-Server/sql/sql_db.cc (+5/-5)
Percona-Server/sql/sql_delete.cc (+8/-8)
Percona-Server/sql/sql_executor.cc (+12/-12)
Percona-Server/sql/sql_insert.cc (+27/-27)
Percona-Server/sql/sql_join_buffer.cc (+4/-4)
Percona-Server/sql/sql_load.cc (+9/-9)
Percona-Server/sql/sql_optimizer.cc (+2/-2)
Percona-Server/sql/sql_parse.cc (+20/-12)
Percona-Server/sql/sql_planner.cc (+2/-2)
Percona-Server/sql/sql_prepare.cc (+1/-1)
Percona-Server/sql/sql_reload.cc (+2/-2)
Percona-Server/sql/sql_servers.cc (+3/-3)
Percona-Server/sql/sql_show.cc (+5/-5)
Percona-Server/sql/sql_table.cc (+3/-3)
Percona-Server/sql/sql_update.cc (+8/-8)
Percona-Server/sql/sys_vars.cc (+6/-0)
Percona-Server/sql/table.cc (+1/-1)
Percona-Server/storage/innobase/row/row0mysql.cc (+1/-1)
Percona-Server/storage/myisam/ha_myisam.cc (+6/-6)
Percona-Server/storage/myisam/mi_check.c (+5/-5)
Percona-Server/storage/myisam/myisamchk.c (+2/-4)
Percona-Server/storage/myisam/myisamdef.h (+1/-1)
Percona-Server/storage/myisam/sort.c (+2/-2)
Changed in percona-server: | |
status: | New → Confirmed |
importance: | Undecided → Wishlist |
Changed in percona-server: | |
status: | Confirmed → Triaged |
Changed in percona-server: | |
status: | Triaged → Confirmed |
Changed in percona-server: | |
status: | Confirmed → Triaged |
To post a comment you must log in.
On Thu, Nov 4, 2010 at 6:51 PM, Peter Zaitsev <email address hidden> wrote:
> Public bug reported:
>
> Implement some functionality to limit query execution time, it could be
>
> SELECT ... SQL_TIMEOUT=60 .... in which query will be killed in 60
> seconds.
>
> It would be also helpful to have max_query_time or similar variable so queries can be killed automatically.
> This can be set as per session for interactive web sessions which know they should not be doing long queries.
>
> We may consider implementing this as user privilege to so we can restrict users from doing very long queries,
> this would be good for hosting providers which have to prevent users from running very long queries and killing
> system.
Peter:
Is there any benefit to SELECT ... SQL_TIMEOUT vs SET max_query_time
60 ; SELECT ; SET max_query_time = 0 ?
If we skip SQL_TIMEOUT=60 we avoid have to maintain a parser patch.