1
0
mirror of https://github.com/MariaDB/server.git synced 2025-08-08 11:22:35 +03:00

MDEV-26520 Make innodb_purge_threads dynamic

preallocate max. count of THDs puge might need at startup.
Doing this at any other point of time is difficult, error prone
This commit is contained in:
Vladislav Vaintroub
2021-09-14 19:01:26 +02:00
parent 2255649939
commit 359c286499
5 changed files with 53 additions and 10 deletions

View File

@@ -6,9 +6,27 @@ SELECT COUNT(@@innodb_purge_threads);
COUNT(@@innodb_purge_threads)
1
1 Expected
SET @save_threads = @@GLOBAL.innodb_purge_threads;
SET @@GLOBAL.innodb_purge_threads=-1;
Warnings:
Warning 1292 Truncated incorrect innodb_purge_threads value: '-1'
SELECT @@GLOBAL.innodb_purge_threads;
@@GLOBAL.innodb_purge_threads
1
SET @@GLOBAL.innodb_purge_threads=0;
Warnings:
Warning 1292 Truncated incorrect innodb_purge_threads value: '0'
SELECT @@GLOBAL.innodb_purge_threads;
@@GLOBAL.innodb_purge_threads
1
SET @@GLOBAL.innodb_purge_threads=33;
Warnings:
Warning 1292 Truncated incorrect innodb_purge_threads value: '33'
SELECT @@GLOBAL.innodb_purge_threads;
@@GLOBAL.innodb_purge_threads
32
SET @@GLOBAL.innodb_purge_threads=1;
ERROR HY000: Variable 'innodb_purge_threads' is a read only variable
Expected error 'Read-only variable'
SET @@GLOBAL.innodb_purge_threads=32;
SELECT innodb_purge_threads = @@SESSION.innodb_purge_threads;
ERROR 42S22: Unknown column 'innodb_purge_threads' in 'field list'
Expected error 'Read-only variable'
@@ -38,4 +56,5 @@ SELECT VARIABLE_NAME, VARIABLE_VALUE
FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
WHERE VARIABLE_NAME = 'innodb_purge_threads';
VARIABLE_NAME VARIABLE_VALUE
INNODB_PURGE_THREADS 4
INNODB_PURGE_THREADS 32
SET GLOBAL innodb_purge_threads = @save_threads;