Uploaded image for project: 'MariaDB Server'
  1. MariaDB Server
  2. MDEV-16866

InnoDB fails to start upon crash recovery with "[ERROR] InnoDB: Redo log crypto: failed to decrypt log block"

    Details

      Description

      The initial test flow was this:

      • start 10.1.34 server with the following options:

        `
        --no-defaults --file-key-management --file-key-management-filename=keys.txt --plugin-load-add=file_key_management.so --innodb-encrypt-tables --innodb-encrypt-log --innodb-encryption-threads=4 --aria-encrypt-tables=1 --encrypt-tmp-disk-tables=1 --encrypt-binlog --innodb-page-size=8K --innodb-compression-algorithm=none --loose-innodb-file-format=Barracuda --loose-innodb-file-per-table=1 --loose-max-statement-time=20 --loose-lock-wait-timeout=20 --loose-innodb-lock-wait-timeout=10 --loose-innodb_log_compressed_pages=on --loose-innodb-change-buffering=none
        

      • run a mix of DDL/DML on the server for a few minutes;
      • SIGKILL the server;
      • start the same server with the exact same options and additionally --innodb-force-recovery=3

      InnoDB doesn't start:

      10.1.34

      2018-07-31 16:08:31 140279075214848 [Note] InnoDB:  innodb-page-size has been changed from the default value 16384 to 8192 .
      2018-07-31 16:08:31 140279075214848 [Note] InnoDB: Using mutexes to ref count buffer pool pages
      2018-07-31 16:08:31 140279075214848 [Note] InnoDB: The InnoDB memory heap is disabled
      2018-07-31 16:08:31 140279075214848 [Note] InnoDB: Mutexes and rw_locks use GCC atomic builtins
      2018-07-31 16:08:31 140279075214848 [Note] InnoDB: GCC builtin __atomic_thread_fence() is used for memory barrier
      2018-07-31 16:08:31 140279075214848 [Note] InnoDB: Compressed tables use zlib 1.2.3
      2018-07-31 16:08:31 140279075214848 [Note] InnoDB: Using Linux native AIO
      2018-07-31 16:08:31 140279075214848 [Note] InnoDB: Using SSE crc32 instructions
      2018-07-31 16:08:31 140279075214848 [Note] InnoDB: Initializing buffer pool, size = 128.0M
      2018-07-31 16:08:31 140279075214848 [Note] InnoDB: Completed initialization of buffer pool
      2018-07-31 16:08:31 140279075214848 [Note] InnoDB: Highest supported file format is Barracuda.
      2018-07-31 16:08:31 140279075214848 [Note] InnoDB: Starting crash recovery from checkpoint LSN=23790689
      2018-07-31 16:08:31 140279075214848 [Note] InnoDB: Restoring possible half-written data pages from the doublewrite buffer...
      InnoDB: redo log checkpoint: 0 [ chk key ]: [ 4 1 ] 
      2018-07-31 16:08:32 140279075214848 [ERROR] InnoDB: Redo log crypto: failed to decrypt log block. Reason could be that requested key version is not found, required encryption key management plugin is not found or configured encryption algorithm and/or method does not match.
      2018-07-31 16:08:32 140279075214848 [ERROR] Plugin 'InnoDB' init function returned error.
      2018-07-31 16:08:32 140279075214848 [ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed.
      2018-07-31 16:08:32 140279075214848 [Note] Plugin 'FEEDBACK' is disabled.
      2018-07-31 16:08:32 140279075214848 [ERROR] Unknown/unsupported storage engine: InnoDB
      2018-07-31 16:08:32 140279075214848 [ERROR] Aborting
       
      Error in my_thread_global_end(): 1 threads didn't exit
      

      The key file is present and is the same for both starts.

      The datadir and the key file are available, nothing is confidential, the datadir just doesn't fit into JIRA.

        Attachments

          Activity

            People

            • Assignee:
              thiru Thirunarayanan Balathandayuthapani
              Reporter:
              elenst Elena Stepanova
            • Votes:
              1 Vote for this issue
              Watchers:
              5 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: