Handle Corrupted Tables

Instead of crashing the server as they used to do, corrupted InnoDB tables are simply disabled, so that the database remains available while the corruption is being fixed.

This feature adds a new system variable.

Version Specific Information

System Variables

variable innodb_pass_corrupt_table
Version Info:
Command Line:

Yes

Config File:

Yes

Scope:

Global

Dynamic:

Yes

Variable Type:

ULONG

Default Value:

0

Range:

0 - 1

Return error 1194 (ER_CRASHED_ON_USAGE) instead of crashing with an assertion failure, when used with innodb_file_per_table. Once corruption is detected, access to the corrupted tablespace is disabled. The only allowed operation on a corrupted tablespace is DROP TABLE. The only exception to this rule is when the option value is salvage (see below). This variable was renamed to innodb_corrupt_table_action, beginning in release 5.5.10-20.1. The option name was innodb_pass_corrupt_table in versions prior to that.

variable innodb_corrupt_table_action
Version Info:
Command Line:

Yes

Config File:

Yes

Scope:

Global

Dynamic:

Yes

Variable Type:

ENUM

Default Value:

assert

Range:

assert, warn, salvage

  • With the default value XtraDB will intentionally crash the server with an assertion failure as it would normally do when detecting corrupted data in a single-table tablespace.
  • If the warn value is used it will pass corruption of the table as corrupt table instead of crashing itself. For this to work innodb_file_per_table should be enabled. All file I/O for the datafile after detected as corrupt is disabled, except for the deletion.
  • When the option value is salvage, XtraDB allows read access to a corrupted tablespace, but ignores corrupted pages”.

This variable was added in release 5.5.10-20.1. Prior to that, it was named innodb_pass_corrupt_table, which still exists in earlier versions.

Percona Server
Call Us
+1-888-316-9775 (USA - Sales)
+1-208-473-2904 (USA - Sales)
+44-208-133-0309 (UK - Sales)
0-800-051-8984 (UK - Sales)
0-800-181-0665 (GER - Sales)
+1-877-862-4316 (Emergency)
+1-855-55TRAIN (Training)
+1-925-271-5054 (Training)

Table Of Contents

Previous topic

Error Code Compatibility

Next topic

Lock-Free SHOW SLAVE STATUS

This Page



© Copyright Percona LLC and/or its affiliates 2009-2014.
Except where otherwise noted, this documentation is licensed under the following license:
CC Attribution-ShareAlike 2.0 Generic
Created using Sphinx 1.1.3.
This documentation is developed in Launchpad as part of the Percona Server source code.
If you spotted innacuracies, errors, don't understood it or you think something is missing or should be improved, please file a bug.
]]>