Details
-
Bug
-
Status: Closed (View Workflow)
-
Major
-
Resolution: Fixed
-
10.1.9, 10.1(EOL)
-
None
-
Linux
-
10.1.11, 10.1.12, 10.1.13
Description
When using encrypted XtraDB tables there is a "good" chance to run into checksum errors in recovery when killing mysqld hard after large inserts on a table (e.g. restoring a mysqldump or doing a large INSERT ... SELECT).
How to reproduce:
- enable encryption by default
- insert a lot of data
- "killall -9 mysqld" right afterwards while changed tablespace data is still written back to disk
- in about 1 of 3 cases I got a page checksum error when restarting the server
e.g.:
2016-01-14 16:04:47 139797272356736 [Note] InnoDB: Starting crash recovery.
|
2016-01-14 16:04:47 139797272356736 [Note] InnoDB: Reading tablespace information from the .ibd files...
|
2016-01-14 16:04:47 139797272356736 [Note] InnoDB: Restoring possible half-written data pages
|
2016-01-14 16:04:47 139797272356736 [Note] InnoDB: from the doublewrite buffer...
|
InnoDB: Doing recovery: scanned up to log sequence number 34316812800
|
InnoDB: Doing recovery: scanned up to log sequence number 34322055680
|
InnoDB: Doing recovery: scanned up to log sequence number 34327298560
|
InnoDB: Doing recovery: scanned up to log sequence number 34332541440
|
InnoDB: Doing recovery: scanned up to log sequence number 34337784320
|
InnoDB: Doing recovery: scanned up to log sequence number 34343027200
|
InnoDB: Doing recovery: scanned up to log sequence number 34348270080
|
InnoDB: Doing recovery: scanned up to log sequence number 34353512960
|
BROKEN: block: 67102352 checkpoint: 1119 4d783007 94202545
|
BROKEN: block: 67102352 checkpoint: 1119 4d783007 94202545
|
InnoDB: Log block no 67102352 at lsn 34356403712 has
|
InnoDB: ok header, but checksum field contains 2485134661, should be 1299722247
|
2016-01-14 16:04:48 139797272356736 [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.
|
2016-01-14 16:04:48 139797272356736 [ERROR] Plugin 'InnoDB' init function returned error.
|
2016-01-14 16:04:48 139797272356736 [ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed.
|
2016-01-14 16:04:48 139797272356736 [Note] Plugin 'FEEDBACK' is disabled.
|
2016-01-14 16:04:48 139797272356736 [ERROR] Unknown/unsupported storage engine: InnoDB
|
2016-01-14 16:04:48 139797272356736 [ERROR] Aborting
|
Full dump of crashed instance base- and datadir is in http://php-groupies.de/encryption-crash.tar.gz (~8GB)
Attachments
Issue Links
- causes
-
MDEV-12041 Implement key rotation for innodb_encrypt_log
- Closed
- is part of
-
MDEV-9774 Checksum errors on restart when killing busy instance that uses encrypted XtraDB tables with <10.1.13
- Closed
- relates to
-
MDEV-13044 Do not create a redo log checkpoint at startup
- Closed