• Jan Lindström's avatar
    MDEV-6935: Change the default value for innodb_log_compressed_pages to false · 58888e2c
    Jan Lindström authored
    Merge Facebook commit ca40b4417fd224a68de6636b58c92f133703fc68
    authored by Steaphan Greene from https://github.com/facebook/mysql-5.6
    Change the default value for innodb_log_compressed_pages to false
    
    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).
    58888e2c
ha_innodb.cc 601 KB