mirror of
https://github.com/MariaDB/server.git
synced 2025-10-27 05:56:07 +03:00
A message used to say "failed to read or decrypt"
but the "or decrypt" part was removed in
commit 0b47c126e3
without adjusting rarely needed error message suppressions in some
encryption tests.
Let us improve the error message so that it mentions the file name,
and adjust all error message suppressions in tests.
Thanks to Oleksandr Byelkin for noticing one test failure.
45 lines
2.0 KiB
Plaintext
45 lines
2.0 KiB
Plaintext
--source include/have_innodb.inc
|
|
# embedded does not support restart
|
|
-- source include/not_embedded.inc
|
|
-- source filekeys_plugin_exists.inc
|
|
#
|
|
# MDEV-8769: Server crash at file btr0btr.ic line 122 when defragmenting encrypted table using incorrect keys
|
|
# MDEV-8768: Server crash at file btr0btr.ic line 122 when checking encrypted table using incorrect keys
|
|
#
|
|
|
|
call mtr.add_suppression("InnoDB: Table `test`\\.`t1` (has an unreadable root page|is corrupted)");
|
|
call mtr.add_suppression("InnoDB: The page \\[page id: space=[1-9][0-9]*, page number=[1-9][0-9]*\\] in file '.*test.t1\\.ibd' cannot be decrypted; key_version=1");
|
|
call mtr.add_suppression("InnoDB: Recovery failed to read page");
|
|
# Suppression for builds where file_key_management plugin is linked statically
|
|
call mtr.add_suppression("Couldn't load plugins from 'file_key_management");
|
|
call mtr.add_suppression("InnoDB: Table `test`\\.`t1` is corrupted");
|
|
# for innodb_checksum_algorithm=full_crc32 only
|
|
call mtr.add_suppression("\\[ERROR\\] InnoDB: Cannot decrypt \\[page id: space=");
|
|
|
|
--let $restart_parameters=--plugin-load-add=file_key_management --file-key-management --file-key-management-filename=$MYSQL_TEST_DIR/std_data/keys2.txt
|
|
--source include/restart_mysqld.inc
|
|
|
|
SET GLOBAL innodb_file_per_table = ON;
|
|
|
|
CREATE TABLE t1 (pk INT PRIMARY KEY, f VARCHAR(8)) ENGINE=InnoDB
|
|
ENCRYPTED=YES ENCRYPTION_KEY_ID=4;
|
|
INSERT INTO t1 VALUES (1,'foo'),(2,'bar');
|
|
|
|
--let $restart_parameters=--plugin-load-add=file_key_management --file-key-management --file-key-management-filename=$MYSQL_TEST_DIR/std_data/keys3.txt
|
|
--source include/restart_mysqld.inc
|
|
|
|
--replace_regex /key_id [1-9][0-9]*/\1 /
|
|
OPTIMIZE TABLE t1;
|
|
--replace_regex /key_id [1-9][0-9]*/\1 /
|
|
SHOW WARNINGS;
|
|
|
|
--replace_regex /key_id [1-9][0-9]*/\1 /
|
|
CHECK TABLE t1;
|
|
--replace_regex /key_id [1-9][0-9]*/\1 /
|
|
SHOW WARNINGS;
|
|
|
|
--let $restart_parameters=--plugin-load-add=file_key_management --file-key-management --file-key-management-filename=$MYSQL_TEST_DIR/std_data/keys2.txt
|
|
--source include/restart_mysqld.inc
|
|
|
|
DROP TABLE t1;
|