mirror of
https://github.com/MariaDB/server.git
synced 2025-01-16 12:02:42 +01:00
MDEV-8021 "InnoDB: Tablespace id 4 encrypted but encryption service not available. Can't continue opening tablespace" on server restart when there are encrypted tables
key id was written in the wrong place on the tablespace first page (thus its value could not be read back later)
This commit is contained in:
parent
d259376fd8
commit
5fdb14542a
5 changed files with 39 additions and 2 deletions
5
mysql-test/suite/innodb/r/encryption_first_page.result
Normal file
5
mysql-test/suite/innodb/r/encryption_first_page.result
Normal file
|
@ -0,0 +1,5 @@
|
|||
call mtr.add_suppression("InnoDB: New log files created, LSN");
|
||||
call mtr.add_suppression("InnoDB: Creating foreign key constraint system tables");
|
||||
shutdown;
|
||||
create table t1 (a int);
|
||||
drop table t1;
|
2
mysql-test/suite/innodb/t/encryption_first_page.opt
Normal file
2
mysql-test/suite/innodb/t/encryption_first_page.opt
Normal file
|
@ -0,0 +1,2 @@
|
|||
--innodb-encrypt-tables
|
||||
--innodb-encrypt-log
|
30
mysql-test/suite/innodb/t/encryption_first_page.test
Normal file
30
mysql-test/suite/innodb/t/encryption_first_page.test
Normal file
|
@ -0,0 +1,30 @@
|
|||
#
|
||||
# MDEV-8021 "InnoDB: Tablespace id 4 encrypted but encryption service not available. Can't continue opening tablespace" on server restart when there are encrypted tables
|
||||
#
|
||||
|
||||
--source include/have_innodb.inc
|
||||
--source include/have_file_key_management_plugin.inc
|
||||
|
||||
call mtr.add_suppression("InnoDB: New log files created, LSN");
|
||||
call mtr.add_suppression("InnoDB: Creating foreign key constraint system tables");
|
||||
|
||||
let datadir=`select @@datadir`;
|
||||
|
||||
--exec echo wait > $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
|
||||
|
||||
shutdown;
|
||||
|
||||
--remove_file $datadir/ib_logfile0
|
||||
--remove_file $datadir/ib_logfile1
|
||||
--remove_file $datadir/ibdata1
|
||||
|
||||
--exec echo restart > $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
|
||||
|
||||
--enable_reconnect
|
||||
--source include/wait_until_connected_again.inc
|
||||
|
||||
create table t1 (a int);
|
||||
|
||||
--source include/restart_mysqld.inc
|
||||
|
||||
drop table t1;
|
|
@ -444,7 +444,7 @@ fil_space_write_crypt_data_low(
|
|||
mtr);
|
||||
mlog_write_ulint(page + offset + MAGIC_SZ + 2 + len, min_key_version,
|
||||
MLOG_4BYTES, mtr);
|
||||
mlog_write_ulint(page + offset + MAGIC_SZ + 2 + len, key_id,
|
||||
mlog_write_ulint(page + offset + MAGIC_SZ + 2 + len + 4, key_id,
|
||||
MLOG_4BYTES, mtr);
|
||||
mlog_write_ulint(page + offset + MAGIC_SZ + 2 + len + 8, encryption,
|
||||
MLOG_1BYTE, mtr);
|
||||
|
|
|
@ -444,7 +444,7 @@ fil_space_write_crypt_data_low(
|
|||
mtr);
|
||||
mlog_write_ulint(page + offset + MAGIC_SZ + 2 + len, min_key_version,
|
||||
MLOG_4BYTES, mtr);
|
||||
mlog_write_ulint(page + offset + MAGIC_SZ + 2 + len, key_id,
|
||||
mlog_write_ulint(page + offset + MAGIC_SZ + 2 + len + 4, key_id,
|
||||
MLOG_4BYTES, mtr);
|
||||
mlog_write_ulint(page + offset + MAGIC_SZ + 2 + len + 8, encryption,
|
||||
MLOG_1BYTE, mtr);
|
||||
|
|
Loading…
Reference in a new issue