1
0
mirror of https://github.com/MariaDB/server.git synced 2025-07-30 16:24:05 +03:00

Bug#15933: max_used_connections is wrong after FLUSH STATUS if connections are cached

After FLUSH STATUS max_used_connections was reset to 0, and haven't
been updated while cached threads were reused, until the moment a new
thread was created.

The first suggested fix from original bug report was implemented:

  a) On flushing the status, set max_used_connections to
  threads_connected, not to 0.

  b) Check if it is necessary to increment max_used_connections when
  taking a thread from the cache as well as when creating new threads


mysql-test/r/status.result:
  Add result for bug#15933.
mysql-test/t/status.test:
  Add test case for bug#15933.
  Fixed typo.
sql/mysql_priv.h:
  Add declaration of refresh_status(), which is now external.
sql/mysqld.cc:
  Remove start_cached_thread() (code moved directly into create_new_thread()).
  Add comment for create_new_thread ().
  In create_new_thread() update max_used_connections when creating new thread
  and when reusing the cached one.
  Move refresh_status() from sql/sql_parse.cc here, on refresh set
  max_used_connections to the current number of connections.
sql/sql_parse.cc:
  refresh_status() moved to sql/mysqld.cc.
This commit is contained in:
unknown
2006-04-07 15:30:40 +04:00
parent 70f4dbaa6e
commit cab73a6009
5 changed files with 142 additions and 39 deletions

View File

@ -23,3 +23,23 @@ select 1;
show status like 'last_query_cost';
Variable_name Value
Last_query_cost 0.000000
FLUSH STATUS;
SHOW STATUS LIKE 'max_used_connections';
Variable_name Value
Max_used_connections 3
SET @save_thread_cache_size=@@thread_cache_size;
SET GLOBAL thread_cache_size=3;
SHOW STATUS LIKE 'max_used_connections';
Variable_name Value
Max_used_connections 5
FLUSH STATUS;
SHOW STATUS LIKE 'max_used_connections';
Variable_name Value
Max_used_connections 4
SHOW STATUS LIKE 'max_used_connections';
Variable_name Value
Max_used_connections 5
SHOW STATUS LIKE 'max_used_connections';
Variable_name Value
Max_used_connections 6
SET GLOBAL thread_cache_size=@save_thread_cache_size;