It is impossible to drop COMPRESSION_DICTIONARY if server is killed during alter statement

Bug #1628824 reported by Shahriyar Rzayev
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Percona Server moved to https://jira.percona.com/projects/PS
Status tracked in 5.7
5.5
Invalid
Undecided
Unassigned
5.6
Invalid
High
Yura Sorokin
5.7
Invalid
High
Yura Sorokin

Bug Description

Simple scenario:

Killing server while altering:

master [localhost] {msandbox} (dbtest) > alter table t1 modify `a` blob COLUMN_FORMAT COMPRESSED WITH COMPRESSION_DICTIONARY `names`;
ERROR 2013 (HY000): Lost connection to MySQL server during query

Result for table:

master [localhost] {msandbox} (dbtest) > show create table t1\G
*************************** 1. row ***************************
       Table: t1
Create Table: CREATE TABLE `t1` (
  `id` int(11) DEFAULT NULL,
  `a` blob /*!50631 COLUMN_FORMAT COMPRESSED */
) ENGINE=InnoDB DEFAULT CHARSET=utf8 ROW_FORMAT=COMPRESSED COMMENT='New table comment'
1 row in set (0.00 sec)

Now if you want to drop dictionary:

master [localhost] {msandbox} (dbtest) > drop COMPRESSION_DICTIONARY `names`;
ERROR 1894 (HY000): Compression dictionary 'names' is in use

Result for scenario:
Abandoned compression_dictionary which can't be dropped.

If it is possible, the workaround must be provided.

Changed in percona-server:
status: Confirmed → Triaged
Revision history for this message
Shahriyar Rzayev (rzayev-sehriyar) wrote :

Percona now uses JIRA for bug reports so this bug report is migrated to: https://jira.percona.com/browse/PS-1014

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.