mirror of
https://github.com/MariaDB/server.git
synced 2025-07-30 16:24:05 +03:00
MDEV-8750: Server crashes in page_cur_is_after_last on altering table using a wrong encryption key
Analysis: Server tried to continue reading tablespace using a cursor after we had resolved that pages in the tablespace can't be decrypted. Fixed by addind check is tablespace still encrypted.
This commit is contained in:
15
mysql-test/suite/encryption/r/innodb-bad-key-change2.result
Normal file
15
mysql-test/suite/encryption/r/innodb-bad-key-change2.result
Normal file
@ -0,0 +1,15 @@
|
||||
call mtr.add_suppression("InnoDB: Block in space_id .* in file test/.* encrypted");
|
||||
call mtr.add_suppression("InnoDB: However key management plugin or used key_id 1 is not found or used encryption algorithm or method does not match.");
|
||||
call mtr.add_suppression("InnoDB: Marking tablespace as missing. You may drop this table or install correct key management plugin and key file.");
|
||||
call mtr.add_suppression(".*InnoDB: Cannot open table test/.* from the internal data dictionary of InnoDB though the .frm file for the table exists. See .* for how you can resolve the problem.");
|
||||
call mtr.add_suppression("InnoDB: .ibd file is missing for table test/.*");
|
||||
CREATE TABLE t1 (pk INT PRIMARY KEY, f VARCHAR(8)) ENGINE=InnoDB ENCRYPTION_KEY_ID=4;
|
||||
INSERT INTO t1 VALUES (1,'foo'),(2,'bar');
|
||||
select * from t1;
|
||||
alter table t1 discard tablespace;
|
||||
alter table t1 engine=InnoDB;
|
||||
ERROR 42S02: Table 'test.t1' doesn't exist in engine
|
||||
show warnings;
|
||||
Level Code Message
|
||||
Warning 155 Table test/t1 is encrypted but encryption service or used key_id is not available. Can't continue reading table.
|
||||
Error 1932 Table 'test.t1' doesn't exist in engine
|
Reference in New Issue
Block a user