Uploaded image for project: 'Percona Server for MySQL'
  1. Percona Server for MySQL
  2. PS-5485

exposing undo log tablespace encryption status through innodb_tablespaces

Details

    • Improvement
    • Status: Done
    • Medium
    • Resolution: Fixed
    • 8.0.15-5, Not 5.6.x, Not 5.7.x
    • 8.0.15-6
    • None

    Description

      • Currently, if I start the server with innodb_undo_log_encrypt=1 then even though the server error log suggests that undo logs are encrypted same is not reflected through an innodb_tablespaces table.
      • This could create a confusing data for end-user who may consult the said table to find out if the server is operating with encrypted tablespaces for undo.
      • But that the same time, given that the option is dynamic is user turn it off then the semantics of what should be reflected in innodb_tablespaces needs to be defined.

      (as discussed with Satya, encryption of undo log happens as part of the background thread so the status is not updated to the innodb_tablespaces).

       

      ---------------- original message

      I am trying to start mysqld (PS/PXC/MySQL all have same behavior so looks upstream problem) with innodb_undo_log_encrypt = 1
      I see confirmation in error log that says encryption enabled

      2019-03-14T05:12:12.643932Z 0 [Note] [MY-012880] [InnoDB] Encryption is enabled for undo tablespace 'innodb_undo_001'.
      2019-03-14T05:12:12.644049Z 0 [Note] [MY-012880] [InnoDB] Encryption is enabled for undo tablespace 'innodb_undo_002'.

      but when I check the innodb_tablepsaces the value is still set to N

       
      
      
      mysql> select @@innodb_undo_log_encrypt;
       +---------------------------+
      |@@innodb_undo_log_encrypt|
      
      +---------------------------+
      |1|
      
      +---------------------------+
       1 row in set (0.00 sec)
      
      mysql> select space, name, encryption from information_schema.innodb_tablespaces;
       +-------------+-----------------++------------
      |space|name|encryption|
      
      +-------------+-----------------++------------
      |4294967294|mysql|N|
      |4294967293|innodb_temporary|N|
      |4294967279|innodb_undo_001|N|
      |4294967278|innodb_undo_002|N|
      |1|sys/sys_config|N|
      
      +-------------+-----------------++------------
       5 rows in set (0.00 sec)
      {code:java}
       

      =======================
      I also tried to create seed-database with innodb_undo_log_encrypt=1 and thought it would now set encryption = Y ..
      but it continued to set it to N
      =======================

      Attachments

        Activity

          People

            satya.bodapati Satya Bodapati
            krunal.bauskar Krunal Bauskar (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Time Tracking

                Estimated:
                Original Estimate - Not Specified
                Not Specified
                Remaining:
                Remaining Estimate - Not Specified
                Not Specified
                Logged:
                Time Spent - 4 hours, 30 minutes
                4h 30m

                Smart Checklist