summaryrefslogtreecommitdiff
path: root/README
diff options
context:
space:
mode:
authorMarko Mäkelä <marko.makela@mariadb.com>2017-07-06 14:18:53 +0300
committerMarko Mäkelä <marko.makela@mariadb.com>2017-07-06 14:18:53 +0300
commit2b5c9bc2c813ea7963959e515da5d60392c35431 (patch)
tree2402b3d6ed96e9307a0d1769be428b24bab7a29a /README
parentec76945daca3ef099ba7f5289b986a8360ede7c5 (diff)
downloadmariadb-git-2b5c9bc2c813ea7963959e515da5d60392c35431.tar.gz
MDEV-13247 innodb_log_compressed_pages=OFF breaks crash recovery of ROW_FORMAT=COMPRESSED tables
The option innodb_log_compressed_pages was contributed by Facebook to MySQL 5.6. It was disabled in the 5.6.10 GA release due to problems that were fixed in 5.6.11, which is when the option was enabled. The option was set to innodb_log_compressed_pages=ON by default (disabling the feature), because safety was considered more important than speed. The option innodb_log_compressed_pages=OFF can *CORRUPT* ROW_FORMAT=COMPRESSED tables on crash recovery if the zlib deflate function is behaving differently (producing a different amount of compressed data) from how it behaved when the redo log records were written (prior to the crash recovery). In MDEV-6935, the default value was changed to innodb_log_compressed_pages=OFF. This is inherently unsafe, because there are very many different environments where MariaDB can be running, using different zlib versions. While zlib can decompress data just fine, there are no guarantees that different versions will always compress the same data to the exactly same size. To avoid problems related to zlib upgrades or version mismatch, we must use a safe default setting. This will reduce the write performance for users of ROW_FORMAT=COMPRESSED tables. If you configure innodb_log_compressed_pages=ON, please make sure that you will always cleanly shut down InnoDB before upgrading the server or zlib.
Diffstat (limited to 'README')
0 files changed, 0 insertions, 0 deletions