[MDEV-3193] LP:909537 - Thread pool doesn't recognize threads waiting on row or metadata locks as idle Created: 2011-12-29 Updated: 2014-06-20 Resolved: 2012-10-04 |
|
| Status: | Closed |
| Project: | MariaDB Server |
| Component/s: | None |
| Affects Version/s: | None |
| Fix Version/s: | None |
| Type: | Bug | ||
| Reporter: | Elena Stepanova | Assignee: | Vladislav Vaintroub |
| Resolution: | Fixed | Votes: | 0 |
| Labels: | Launchpad | ||
| Attachments: |
|
| Description |
|
Thread pool does not switch threads which are stuck waiting for a row lock or table metadata lock to 'idle' (or waiting). Consequently, it counts them as active while making a decision whether to create a new one. bzr version-info
--source include/have_innodb.inc SET GLOBAL thread_pool_idle_timeout=1;
--let $id=$count --disable_warnings FLUSH STATUS; --let $id=$count while ($id) --connection default
SHOW PROCESSLIST; --exit
Here the first SHOW GLOBAL STATUS returns and the second one still InnoDB status shows that the transactions are indeed inside InnoDB. |
| Comments |
| Comment by Elena Stepanova [ 2011-12-29 ] |
|
Re: Thread pool doesn't recognize threads waiting on row or metadata locks as idle
--disable_warnings --let $count=8 --let $id=$count --let $id=$count --connection default DROP TABLE t1; --exit
Same output as in the 1st test case – both times Threadpool_idle_threads 3 Process list shows that all threads are "Waiting for table metadata lock". |
| Comment by Elena Stepanova [ 2012-03-18 ] |
|
Re: Thread pool doesn't recognize threads waiting on row or metadata locks as idle |
| Comment by Rasmus Johansson (Inactive) [ 2012-03-18 ] |
|
Launchpad bug id: 909537 |