Skip to content
/ server Public

MDEV-37886 PAGE_COMPRESSED ALTER TABLE operations inconsistent with innodb_file_per_table setting#4646

Open
Thirunarayanan wants to merge 1 commit into10.6from
MDEV-37886
Open

MDEV-37886 PAGE_COMPRESSED ALTER TABLE operations inconsistent with innodb_file_per_table setting#4646
Thirunarayanan wants to merge 1 commit into10.6from
MDEV-37886

Conversation

@Thirunarayanan
Copy link
Member

Problem:

InnoDB DDL does ALTER TABLE PAGE_COMPRESSED=1 because:

  1. check_if_supported_inplace_alter() reads srv_file_per_table during precheck and does allow INSTANT operation.
  2. User does change innodb_file_per_table later. But prepare phase read srv_file_per_table again during execution.
  3. If the global variable changed between these phases, causes server abort for page_compressed tables.

Solution:

  • Add a file_per_table member to Alter_inplace_info to capture the innodb_file_per_table value during the precheck phase and use that consistent value throughout the entire ALTER TABLE operation.

@CLAassistant
Copy link

CLA assistant check
Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.
You have signed the CLA already but the status is still pending? Let us recheck it.

…nnodb_file_per_table setting

Problem:
=======
InnoDB DDL does ALTER TABLE PAGE_COMPRESSED=1 because:
1. check_if_supported_inplace_alter() reads srv_file_per_table
during precheck and does allow INSTANT operation.
2. User does change innodb_file_per_table later.
But prepare phase read srv_file_per_table again during execution.
3. If the global variable changed between these phases, causes
server abort for page_compressed tables.

Solution:
=========
- Add a file_per_table member to Alter_inplace_info to
capture the innodb_file_per_table value during the
precheck phase and use that consistent value throughout
the entire ALTER TABLE operation.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Development

Successfully merging this pull request may close these issues.

2 participants