Uploaded image for project: 'MariaDB Server'
  1. MariaDB Server
  2. MDEV-19813 Aria crash recovery failures
  3. MDEV-17912

Aria with encryption fails upon crash recovery: Redo phase failed, "Got error 192"

    XMLWordPrintable

Details

    Description

      10.4 470e9a9fb6

      2018-12-05 18:38:27 0 [Note] /home/travis/server/10.4/bin/mysqld (mysqld 10.4.1-MariaDB-debug-log) starting as process 21315 ...
      2018-12-05 18:38:27 0 [Note] mysqld: Aria engine: starting recovery
      recovered pages: 0% 10% 9% 19% 29%
      2018-12-05 18:38:33 0 [ERROR] mysqld: failed to decrypt './test/oltp46'  rc: -1  dstlen: 0  size: 8172
       
      Got error 192 when executing record redo_new_row_head
      2018-12-05 18:38:33 0 [ERROR] mysqld: Aria engine: Redo phase failed
      tables to flush: 54 53 52 51 50 49 48 47 46 45 44 43 42 41 40 39 38 37 36 35 34 33 32 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
      2018-12-05 18:38:33 0 [ERROR] mysqld: Aria recovery failed. Please run aria_chk -r on all Aria tables and delete all aria_log.######## files
      2018-12-05 18:38:33 0 [ERROR] Plugin 'Aria' init function returned error.
      2018-12-05 18:38:33 0 [ERROR] Plugin 'Aria' registration as a STORAGE ENGINE failed.
      2018-12-05 18:38:33 0 [Note] InnoDB: Using Linux native AIO
      2018-12-05 18:38:33 0 [Note] InnoDB: !!!!!!!! UNIV_DEBUG switched on !!!!!!!!!
      2018-12-05 18:38:33 0 [Note] InnoDB: Mutexes and rw_locks use GCC atomic builtins
      2018-12-05 18:38:33 0 [Note] InnoDB: Uses event mutexes
      2018-12-05 18:38:33 0 [Note] InnoDB: Compressed tables use zlib 1.2.11
      2018-12-05 18:38:33 0 [Note] InnoDB: Number of pools: 1
      2018-12-05 18:38:33 0 [Note] InnoDB: Using SSE2 crc32 instructions
      2018-12-05 18:38:33 0 [Note] mysqld: O_TMPFILE is not supported on /home/travis/logs/vardir/tmp (disabling future attempts)
      2018-12-05 18:38:33 0 [Note] InnoDB: Initializing buffer pool, total size = 128M, instances = 1, chunk size = 128M
      2018-12-05 18:38:33 0 [Note] InnoDB: Completed initialization of buffer pool
      2018-12-05 18:38:33 0 [Note] InnoDB: If the mysqld execution user is authorized, page cleaner thread priority can be changed. See the man page of setpriority().
      2018-12-05 18:38:33 0 [Note] InnoDB: Starting crash recovery from checkpoint LSN=139812
      2018-12-05 18:38:34 0 [Note] InnoDB: 128 out of 128 rollback segments are active.
      2018-12-05 18:38:34 0 [Note] InnoDB: Removed temporary tablespace data file: "ibtmp1"
      2018-12-05 18:38:34 0 [Note] InnoDB: Creating shared tablespace for temporary tables
      2018-12-05 18:38:34 0 [Note] InnoDB: Setting file './ibtmp1' size to 12 MB. Physically writing the file full; Please wait ...
      2018-12-05 18:38:34 0 [Note] InnoDB: File './ibtmp1' size is now 12 MB.
      2018-12-05 18:38:34 0 [Note] InnoDB: Waiting for purge to start
      2018-12-05 18:38:34 0 [Note] InnoDB: 10.4.1 started; log sequence number 139821; transaction id 21
      2018-12-05 18:38:34 0 [Note] InnoDB: Loading buffer pool(s) from /dev/shm/vardir/data/ib_buffer_pool
      2018-12-05 18:38:34 0 [Note] Plugin 'FEEDBACK' is disabled.
      2018-12-05 18:38:34 0 [ERROR] Could not open mysql.plugin table. Some plugins may be not loaded
      2018-12-05 18:38:34 0 [ERROR] Failed to initialize plugins.
      2018-12-05 18:38:34 0 [ERROR] Aborting
      

      The datadir after the initial crash, before any attempt to recover, is here:
      ftp://ftp.askmonty.org/public/mdev17912-data.tar.gz

      Unpack and start the server with

      --aria-encrypt-tables=1 --plugin-load-add=file_key_management --file-key-management-filename=`pwd`/mysql-test/std_data/keys.txt
      

      Adjust the path to keys.txt if needed.
      The general log for the test flow prior to the initial crash is in mysql.log.


      The test to run the complete flow (might require several trials):

      https://github.com/MariaDB/randgen --branch elenst-jira-refs b1facb0360

      perl ./runall-new.pl  --basedir=/data/bld/10.2 --vardir=/dev/shm/vardir --duration=250 --threads=6  --scenario=CrashUpgrade   --redefine=conf/mariadb/bulk_insert.yy  --engine=Aria --grammar=conf/mariadb/generic-dml.yy --gendata=conf/mariadb/oltp-aria.zz --mysqld=--aria-encrypt-tables=1 --grammar=conf/mariadb/generic-dml.yy --gendata=conf/mariadb/oltp-aria.zz --mysqld=--plugin-load-add=file_key_management --mysqld=--file-key-management-filename=/data/bld/keys.txt
      

      RQG branch and revision are important here, you might not have some of the required files in other branches.
      Adjust the paths to basedir and keys file on the command line.

      Couldn't reproduce on 10.1 with the given test, but possibly there is some difference in the test flow.
      Couldn't reproduce so far without encryption.

      Attachments

        Issue Links

          Activity

            People

              monty Michael Widenius
              elenst Elena Stepanova
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

                Created:
                Updated:

                Git Integration

                  Error rendering 'com.xiplink.jira.git.jira_git_plugin:git-issue-webpanel'. Please contact your Jira administrators.