[MDEV-19543] Deprecate and ignore innodb_log_checksums Created: 2019-05-22 Updated: 2020-08-18 Resolved: 2019-05-23 |
|
| Status: | Closed |
| Project: | MariaDB Server |
| Component/s: | Storage Engine - InnoDB |
| Fix Version/s: | 10.5.0 |
| Type: | Task | Priority: | Major |
| Reporter: | Marko Mäkelä | Assignee: | Marko Mäkelä |
| Resolution: | Fixed | Votes: | 0 |
| Labels: | corruption | ||
| Issue Links: |
|
||||||||
| Description |
|
The parameter innodb_log_checksums that was introduced in MariaDB 10.2.2 via MySQL 5.7.9 does not make much sense. The original motivation of introducing this parameter (initially called innodb_log_checksum_algorithm) was that the InnoDB redo log used the slow and insecure innodb algorithm. With hardware or SIMD assisted CRC-32C computation being available, there should be no reason to allow checksums to be disabled on the redo log. The parameter innodb_encrypt_log already implies innodb_log_checksums=ON. Let us deprecate the parameter innodb_log_checksums and always compute redo log checksums, even if innodb_log_checksums=OFF is specified. |
| Comments |
| Comment by Marko Mäkelä [ 2019-05-22 ] |
|
An upgrade from MariaDB 10.2.2 or later will only be possible after using the default value innodb_log_checksums=ON. If the non-default value innodb_log_checksums=OFF was in effect when the server was shut down, a log block checksum mismatch will be reported and the upgraded server will fail to start up. |