• Thirunarayanan Balathandayuthapani's avatar
    MDEV-14180 Automatically disable key rotation checks for file_key_managment plugin · 8c7d8b71
    Thirunarayanan Balathandayuthapani authored
    Problem:
    =======
    - InnoDB iterates the fil_system space list to encrypt the
    tablespace in case of key rotation. But it is not
    necessary for any encryption plugin which doesn't do
    key version rotation.
    
    Solution:
    =========
    - Introduce a new variable called srv_encrypt_rotate to
    indicate whether encryption plugin does key rotation
    
    fil_space_crypt_t::key_get_latest_version(): Enable the
    srv_encrypt_rotate only once if current key version is
    higher than innodb_encyrption_rotate_key_age
    
    fil_crypt_must_default_encrypt(): Default encryption tables
    should be added to default_encryp_tables list if
    innodb_encyrption_rotate_key_age is zero and encryption
    plugin doesn't do key version rotation
    
    fil_space_create(): Add the newly created space to
    default_encrypt_tables list if
    fil_crypt_must_default_encrypt() returns true
    
    Removed the nondeterministic select from
    innodb-key-rotation-disable test. By default,
    InnoDB adds the tablespace to the rotation list and
    background crypt thread does encryption of tablespace.
    So these select doesn't give reliable results.
    8c7d8b71
innodb-key-rotation-disable.result 2.53 KB