Details
-
Task
-
Status: Closed (View Workflow)
-
Trivial
-
Resolution: Fixed
Description
https://github.com/facebook/mysql-5.6
commit ca40b4417fd224a68de6636b58c92f133703fc68
Change the default value for innodb_log_compressed_pages to false
Summary:
Feature: 2012 InnoDB Compression
Logging these pages is a waste. We don't want this to be enabled.
One caution here: If the zlib version used by innodb is changed, but
the running version is still the previous version, and the running
version crashes, it is possible crash recovery could fail.
When crash recovery uses a zlib version at all different than the
version used by the crashed instance, it is possible that a redone
compression could fail, where the original did not, because the new
zlib version compresses the same data to a slightly larger size.
Because of the nature of compression, this is even possible when
upgrading to a version of zlib which actually peforms overall better
compression than the previous version.
If this happens, mysql will fail to recover, since a page split can
not be safely triggered during crash recovery.
So, either the exact zlib version must be controlled between builds,
or these rare recovery failures must be accepted. The cost of
logging these pages is quite high, so we consider this limitation to
be worthwhile.
This failure scenario can not happen if there was a clean shutdown.
This is only relevant to restarting crashed instances, or starting an
instance built via a hot backup too (XtraBackup).
Attachments
Issue Links
- causes
-
MDEV-13247 innodb_log_compressed_pages=OFF breaks crash recovery of ROW_FORMAT=COMPRESSED tables
- Closed
- is part of
-
MDEV-6039 WebScaleSQL patches
- Closed
- relates to
-
MDEV-13272 Document default change on parameter innodb_log_compressed_pages=ON
- Closed