Uploaded image for project: 'MariaDB Server'
  1. MariaDB Server
  2. MDEV-6935

Change the default value for innodb_log_compressed_pages to false

Details

    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

          Activity

            commit f0a545ccfbde0b7d5cf23968c8a6d3d919bb1455
            Author: Jan Lindström <jan.lindstrom@skysql.com>
            Date: Wed Oct 29 10:42:27 2014 +0200

            MDEV-6935: Change the default value for innodb_log_compressed_pages to false

            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).

            jplindst Jan Lindström (Inactive) added a comment - commit f0a545ccfbde0b7d5cf23968c8a6d3d919bb1455 Author: Jan Lindström <jan.lindstrom@skysql.com> Date: Wed Oct 29 10:42:27 2014 +0200 MDEV-6935 : Change the default value for innodb_log_compressed_pages to false 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).

            People

              jplindst Jan Lindström (Inactive)
              jplindst Jan Lindström (Inactive)
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Git Integration

                  Error rendering 'com.xiplink.jira.git.jira_git_plugin:git-issue-webpanel'. Please contact your Jira administrators.