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:
@ -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;
|
||||
|
Reference in New Issue
Block a user