mirror of
https://github.com/MariaDB/server.git
synced 2025-12-24 11:21:21 +03:00
MDEV-8588: Assertion failure in file ha_innodb.cc line 21140 if at least one encrypted table exists and encryption service is not available
Analysis: Problem was that in fil_read_first_page we do find that table has encryption information and that encryption service or used key_id is not available. But, then we just printed fatal error message that causes above assertion. Fix: When we open single table tablespace if it has encryption information (crypt_data) store this crypt data to the table structure. When we open a table and we find out that tablespace is not available, check has table a encryption information and from there is encryption service or used key_id is not available. If it is, add additional warning for SQL-layer.
This commit is contained in:
@@ -4435,6 +4435,20 @@ sub extract_warning_lines ($$) {
|
||||
qr|SSL error: Failed to set ciphers to use|,
|
||||
qr/Plugin 'InnoDB' will be forced to shutdown/,
|
||||
qr|Could not increase number of max_open_files to more than|,
|
||||
qr/InnoDB: Error table encrypted but encryption service not available.*/,
|
||||
qr/InnoDB: Could not find a valid tablespace file for*/,
|
||||
qr/InnoDB: Tablespace open failed for*/,
|
||||
qr/InnoDB: Failed to find tablespace for table*/,
|
||||
qr/InnoDB: Space */,
|
||||
qr|InnoDB: You may have to recover from a backup|,
|
||||
qr|InnoDB: It is also possible that your operatingsystem has corrupted its own file cache|,
|
||||
qr|InnoDB: and rebooting your computer removes the error|,
|
||||
qr|InnoDB: If the corrupt page is an index page you can also try to|,
|
||||
qr|nnoDB: fix the corruption by dumping, dropping, and reimporting|,
|
||||
qr|InnoDB: the corrupt table. You can use CHECK|,
|
||||
qr|InnoDB: TABLE to scan your table for corruption|,
|
||||
qr/InnoDB: See also */
|
||||
|
||||
);
|
||||
|
||||
my $matched_lines= [];
|
||||
|
||||
Reference in New Issue
Block a user