mirror of
https://github.com/MariaDB/server.git
synced 2025-01-18 04:53:01 +01:00
cab73a6009
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.
45 lines
1.1 KiB
Text
45 lines
1.1 KiB
Text
flush status;
|
|
show status like 'Table_lock%';
|
|
Variable_name Value
|
|
Table_locks_immediate 0
|
|
Table_locks_waited 0
|
|
SET SQL_LOG_BIN=0;
|
|
drop table if exists t1;
|
|
create table t1(n int) engine=myisam;
|
|
insert into t1 values(1);
|
|
lock tables t1 read;
|
|
unlock tables;
|
|
lock tables t1 read;
|
|
update t1 set n = 3;
|
|
unlock tables;
|
|
show status like 'Table_lock%';
|
|
Variable_name Value
|
|
Table_locks_immediate 3
|
|
Table_locks_waited 1
|
|
drop table t1;
|
|
select 1;
|
|
1
|
|
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;
|