Details
-
Bug
-
Status: Done
-
Medium
-
Resolution: Fixed
-
3.0.12
-
None
Description
Parameter innodb_temp_data_file_path isn't handled correctly, when the 'max' parameter is used.
Without the max parameter in the config file, the output is as expected :
pt-config-diff /etc/mysql/my.cnf h=localhost 1 config difference Variable /etc/mysql/my.cnf <hostname> ========================= ===================== ===================== innodb_temp_data_file_... ibtmp1:14M:autoextend ibtmp1:12M:autoextend grep innodb_temp_data_file_path /etc/mysql/my.cnf innodb_temp_data_file_path = ibtmp1:14M:autoextend mysql -B -e "show variables like 'innodb_temp_data_file_path';" Variable_name Value innodb_temp_data_file_path ibtmp1:12M:autoextend
When the max parameter is added in the config, without restart of the server, the value in the config is mentioned as a number, not a string :
pt-config-diff /etc/mysql/my.cnf h=localhost 1 config difference Variable /etc/mysql/my.cnf <hostname> ========================= ================= ===================== innodb_temp_data_file_... 5368709120 ibtmp1:12M:autoextend grep innodb_temp_data_file_path /etc/mysql/my.cnf innodb_temp_data_file_path = ibtmp1:12M:autoextend:max:5G mysql -B -e "show variables like 'innodb_temp_data_file_path';" Variable_name Value innodb_temp_data_file_path ibtmp1:12M:autoextend
After restart of the server, the config value is mentioned correctly for the server, but is still faulty for the config file :
pt-config-diff /etc/mysql/my.cnf h=localhost 1 config difference Variable /etc/mysql/my.cnf gpmysql1 ========================= ================= ============================ innodb_temp_data_file_... 5368709120 ibtmp1:12M:autoextend:max:5G grep innodb_temp_data_file_path /etc/mysql/my.cnf innodb_temp_data_file_path = ibtmp1:12M:autoextend:max:5G mysql -B -e "show variables like 'innodb_temp_data_file_path';" Variable_name Value innodb_temp_data_file_path ibtmp1:12M:autoextend:max:5G
For reference, when changing the parameter again the config file, without restart of the server, the result from pt-config-diff is as expected. It shows the value of the configfile and the server correctly :
pt-config-diff /etc/mysql/my.cnf h=localhost 1 config difference Variable /etc/mysql/my.cnf gpmysql1 ========================= ===================== ============================ innodb_temp_data_file_... ibtmp1:12M:autoextend ibtmp1:12M:autoextend:max:5G grep innodb_temp_data_file_path /etc/mysql/my.cnf innodb_temp_data_file_path = ibtmp1:12M:autoextend mysql -B -e "show variables like 'innodb_temp_data_file_path';" Variable_name Value innodb_temp_data_file_path ibtmp1:12M:autoextend:max:5G
Version of pt-config-diff : pt-config-diff 3.0.12
Version of MySQL server : Server version: 5.7.23-23-log Percona Server (GPL), Release '23', Revision '500fcf5'