[MDEV-6847] query timeout, executing kill only if we got a lock contention Created: 2014-10-07 Updated: 2015-11-17 |
|
| Status: | Open |
| Project: | MariaDB Server |
| Component/s: | OTHER |
| Fix Version/s: | None |
| Type: | Task | Priority: | Major |
| Reporter: | roberto spadim | Assignee: | Unassigned |
| Resolution: | Unresolved | Votes: | 0 |
| Labels: | None | ||
| Issue Links: |
|
||||||||
| Description |
|
now with query timeouts being implemented at a high level (show processlist) we can know if a thread is blocking or not other query checking the tables being used (maybe mdl?) but sometimes with innodb it's difficult to find since we have row level locks the idea is create a method to check others process when the current query is timed out, if no other connection have a lock contention don't allow the kill command, if we found a lock contention allow the kill command and kill the current query in others words when thread receive a kill_timeout, we check if we could return false/true and update the process information with (killing or timedout) |
| Comments |
| Comment by Sergei Golubchik [ 2015-01-27 ] | ||||||
|
but there are lock timeouts, they should apply here. query timeout limits the total query duration, locks or not. that would be illogical if it will only kill during lock waits. | ||||||
| Comment by roberto spadim [ 2015-01-27 ] | ||||||
|
Hi sergei!, check the idea...
the idea is not limit the SELECT time, the idea is limit the SELECT time that block others queries (update/delete/insert/replace/alter/etc) |