mirror of
https://github.com/MariaDB/server.git
synced 2025-01-28 01:34:17 +01:00
1ef22e28ad
The reason for the MDEV reported failures is that the tests are enabling encryption for Aria but not providing any encryption keys. Fixed by checking if encryption keys exists before creating the table. Other things: - maria.encrypt_wrong-key changed as we now get the error on CREATE instead during insert.
55 lines
1.7 KiB
Text
55 lines
1.7 KiB
Text
#
|
|
# MDEV-18496 Crash when Aria encryption is enabled but plugin not available
|
|
#
|
|
call mtr.add_suppression("Initialization of encryption failed.*");
|
|
|
|
set global aria_encrypt_tables= 1;
|
|
--error HA_ERR_NO_ENCRYPTION
|
|
create table t1 (pk int primary key, a int, key(a)) engine=aria transactional=1;
|
|
set global aria_encrypt_tables= default;
|
|
|
|
--echo #
|
|
--echo # MDEV-26258 Various crashes/asserts/corruptions when Aria encryption is
|
|
--echo # enabled/used, but the encryption plugin is not loaded
|
|
--echo #
|
|
|
|
SET GLOBAL aria_encrypt_tables=ON;
|
|
|
|
--write_file $MYSQLTEST_VARDIR/keys1.txt
|
|
1;770A8A65DA156D24EE2A093277530142
|
|
EOF
|
|
|
|
--replace_result \\ /
|
|
--error HA_ERR_NO_ENCRYPTION
|
|
CREATE TABLE t1 (a INT KEY,b INT,KEY(b)) ENGINE=Aria;
|
|
|
|
--echo # Restart with encryption enabled
|
|
|
|
--exec echo "wait" > $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
|
|
--shutdown_server
|
|
--source include/wait_until_disconnected.inc
|
|
--exec echo "restart:--aria-encrypt-tables=1 --plugin-load-add=file_key_management --file-key-management --file-key-management-filename=$MYSQLTEST_VARDIR/keys1.txt" > $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
|
|
--enable_reconnect
|
|
--source include/wait_until_connected_again.inc
|
|
|
|
CREATE TABLE t1 (a INT KEY,b INT,KEY(b)) ENGINE=Aria;
|
|
INSERT INTO t1 VALUES (4,0);
|
|
LOAD INDEX INTO CACHE t1 IGNORE LEAVES;
|
|
LOAD INDEX INTO CACHE t1;
|
|
|
|
# Restart without encryption. Above table should be unreadable
|
|
|
|
--exec echo "wait" > $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
|
|
--shutdown_server
|
|
--source include/wait_until_disconnected.inc
|
|
--exec echo "restart:--aria-encrypt-tables=0" > $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
|
|
--enable_reconnect
|
|
--source include/wait_until_connected_again.inc
|
|
|
|
--replace_result \\ /
|
|
--error HA_ERR_NO_ENCRYPTION
|
|
SELECT * FROM t1;
|
|
DROP TABLE t1;
|
|
|
|
--echo Cleanup
|
|
--remove_file $MYSQLTEST_VARDIR/keys1.txt
|