Bug #98530 | crash when inplace encryption resumes makes tablespace unusable | ||
---|---|---|---|
Submitted: | 10 Feb 2020 9:27 | Modified: | 17 Sep 2020 16:25 |
Reporter: | Satya Bodapati (OCA) | Email Updates: | |
Status: | Closed | Impact on me: | |
Category: | MySQL Server: InnoDB storage engine | Severity: | S2 (Serious) |
Version: | 8.0, 8.0.19 | OS: | Any |
Assigned to: | CPU Architecture: | Any |
[10 Feb 2020 9:27]
Satya Bodapati
[10 Feb 2020 9:28]
Satya Bodapati
mtr testcase
Attachment: tablespace_encrypt_2_crash.test (application/octet-stream, text), 3.48 KiB.
[10 Feb 2020 9:28]
Satya Bodapati
mtr testcase
Attachment: tablespace_encrypt_2_crash.test (application/octet-stream, text), 3.48 KiB.
[10 Feb 2020 9:29]
Satya Bodapati
debug crash point change
Attachment: 98530_code_change.diff (text/x-patch), 539 bytes.
[10 Feb 2020 9:30]
Satya Bodapati
============================================================================= TEST NAME RESULT TIME (ms) COMMENT ------------------------------------------------------------------------------ [100%] innodb.tablespace_encrypt_2_crash [ fail ] Test ended at 2020-02-10 14:50:41 CURRENT_TEST: innodb.tablespace_encrypt_2_crash mysqltest: At line 77: Query 'SELECT * FROM t1 LIMIT 10' failed. ERROR 1812 (HY000): Tablespace is missing for table `test`.`t1`. safe_process[17324]: Child process: 17325, exit: 1
[10 Feb 2020 9:39]
Satya Bodapati
This resume thread exits after it finishes its work. So I couldn't avoid sleeps.. Would ideally avoid sleeps to get deterministic case.. May be a combination of debug_sync and debug_execute_if can avoid that..
[12 Feb 2020 11:28]
MySQL Verification Team
Hello Satya, Thank you for the report and feedback! regards, Umesh
[17 Sep 2020 16:25]
Daniel Price
Posted by developer: Fixed as of the upcoming 8.0.23 release, and here's the proposed changelog entry from the documentation team: An interrupted tablespace encryption operation did not update the encrypt_type table option information in the data dictionary when the operation resume processing after the server was restarted.