Uploaded image for project: 'Percona Toolkit'
  1. Percona Toolkit
  2. PT-1633

pt-config-diff doesn't handle innodb_temp_data_file_path correctly

Details

    • Bug
    • Status: Done
    • Medium
    • Resolution: Fixed
    • 3.0.12
    • 3.1.0
    • 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'

       

      Attachments

        Activity

          People

            carlos.salguero Carlos Salguero (Inactive)
            unixhelp@ugent.be DICT Systemen - Universiteit Gent
            Votes:
            0 Vote for this issue
            Watchers:
            5 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Smart Checklist