Bug #15933 | max_used_connections is wrong after FLUSH STATUS if connections are cached | ||
---|---|---|---|
Submitted: | 22 Dec 2005 10:22 | Modified: | 5 May 2006 22:54 |
Reporter: | J Rabbit | Email Updates: | |
Status: | Closed | Impact on me: | |
Category: | MySQL Server | Severity: | S3 (Non-critical) |
Version: | 5.0.19-BK, 5.0.16, 4.1 | OS: | Linux (Linux, FreeBSD) |
Assigned to: | CPU Architecture: | Any | |
Tags: | bfsm_2007_05_03 |
[22 Dec 2005 10:22]
J Rabbit
[22 Dec 2005 13:50]
Valeriy Kravchuk
Thank you for a problem report. It looks like a (reasonable) feature request for me, because current behaviour of FLUSH STATUS is clearly documented (http://dev.mysql.com/doc/refman/5.0/en/flush.html): "STATUS Resets most status variables to zero. This is something you should use only when debugging a query."
[24 Dec 2005 9:51]
J Rabbit
I classified it as a minor bug rather than a feature request, as it is not the fact it is "reset to zero" by FLUSH STATUS that is the problem, but that given the right circumstances it can inaccurately remain zero afterwards when there are subsequent connections. All the other variables that are reset to zero increment correctly after issuing the flush command.
[27 Dec 2005 16:57]
Valeriy Kravchuk
I argee that this is a misleading behaviour. It should at least be documented in a prominent place. Verified just as described (with 4 connections only) on 5.0.19-BK (ChangeSet@1.2003, 2005-12-24 14:32:50+01:00) on Linux: mysql> show status like 'max%'; +----------------------+-------+ | Variable_name | Value | +----------------------+-------+ | Max_used_connections | 4 | +----------------------+-------+ 1 row in set (0.01 sec) mysql> flush status; Query OK, 0 rows affected (0.00 sec) mysql> show status like 'max%'; +----------------------+-------+ | Variable_name | Value | +----------------------+-------+ | Max_used_connections | 0 | +----------------------+-------+ 1 row in set (0.00 sec) mysql> [2]+ Stopped bin/mysql -uroot test [openxs@Fedora 5.0]$ bin/mysql -uroot test Reading table information for completion of table and column names You can turn off this feature to get a quicker startup with -A Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 7 to server version: 5.0.19 Type 'help;' or '\h' for help. Type '\c' to clear the buffer. mysql> show status like 'max%'; +----------------------+-------+ | Variable_name | Value | +----------------------+-------+ | Max_used_connections | 0 | +----------------------+-------+ 1 row in set (0.00 sec) mysql> [3]+ Stopped bin/mysql -uroot test [openxs@Fedora 5.0]$ bin/mysql -uroot test Reading table information for completion of table and column names You can turn off this feature to get a quicker startup with -A Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 8 to server version: 5.0.19 Type 'help;' or '\h' for help. Type '\c' to clear the buffer. mysql> show status like 'max%'; +----------------------+-------+ | Variable_name | Value | +----------------------+-------+ | Max_used_connections | 0 | +----------------------+-------+ 1 row in set (0.00 sec) mysql> [4]+ Stopped bin/mysql -uroot test [openxs@Fedora 5.0]$ bin/mysql -uroot test Reading table information for completion of table and column names You can turn off this feature to get a quicker startup with -A Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 9 to server version: 5.0.19 Type 'help;' or '\h' for help. Type '\c' to clear the buffer. mysql> show status like 'max%'; +----------------------+-------+ | Variable_name | Value | +----------------------+-------+ | Max_used_connections | 0 | +----------------------+-------+ 1 row in set (0.00 sec) mysql> [5]+ Stopped bin/mysql -uroot test [openxs@Fedora 5.0]$ bin/mysql -uroot test Reading table information for completion of table and column names You can turn off this feature to get a quicker startup with -A Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 10 to server version: 5.0.19 Type 'help;' or '\h' for help. Type '\c' to clear the buffer. mysql> show status like 'max%'; +----------------------+-------+ | Variable_name | Value | +----------------------+-------+ | Max_used_connections | 5 | +----------------------+-------+ 1 row in set (0.00 sec) mysql> show variables like 'thread%'; +-------------------+--------+ | Variable_name | Value | +-------------------+--------+ | thread_cache_size | 10 | | thread_stack | 196608 | +-------------------+--------+ 2 rows in set (0.00 sec)
[5 Apr 2006 20:06]
Bugs System
A patch for this bug has been committed. After review, it may be pushed to the relevant source trees for release in the next version. You can access the patch from: http://lists.mysql.com/commits/4520
[5 Apr 2006 20:24]
Bugs System
A patch for this bug has been committed. After review, it may be pushed to the relevant source trees for release in the next version. You can access the patch from: http://lists.mysql.com/commits/4521
[7 Apr 2006 11:29]
Bugs System
A patch for this bug has been committed. After review, it may be pushed to the relevant source trees for release in the next version. You can access the patch from: http://lists.mysql.com/commits/4629
[12 Apr 2006 13:36]
Bugs System
A patch for this bug has been committed. After review, it may be pushed to the relevant source trees for release in the next version. You can access the patch from: http://lists.mysql.com/commits/4860
[23 Apr 2006 3:52]
Konstantin Osipov
Fixed in 5.0.21, 5.1.10
[5 May 2006 22:54]
Mike Hillyer
Documented in changelog: <listitem> <para> After calling <literal>FLUSH STATUS</literal>, the <literal>max_used_connections</literal> variable did not increment for existing connections and connections which use the thread cache. (Bug #15933) </para> </listitem>