log_block_checksum_is_ok_or_old_format() uses page not log block checksum algorithm

Bug #1250148 reported by Laurynas Biveinis
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Percona Server moved to https://jira.percona.com/projects/PS
Fix Released
Medium
Alexey Kopytov
5.1
Invalid
Undecided
Unassigned
5.5
Invalid
Undecided
Unassigned
5.6
Fix Released
Medium
Alexey Kopytov

Bug Description

log_block_checksum_is_ok_or_old_format uses srv_checksum_algorithm instead of srv_log_checksum_algorithm everywhere except the 1st use:

log_block_checksum_is_ok_or_old_format(...)
{
 if (UNIV_LIKELY(srv_log_checksum_algorithm ==
   SRV_CHECKSUM_ALGORITHM_NONE ||
   log_block_calc_checksum(block) == block_checksum)) {
...
 if (srv_checksum_algorithm == SRV_CHECKSUM_ALGORITHM_STRICT_CRC32 ||
     srv_checksum_algorithm == SRV_CHECKSUM_ALGORITHM_STRICT_INNODB ||
     srv_checksum_algorithm == SRV_CHECKSUM_ALGORITHM_STRICT_NONE) {
...
 ut_ad(srv_checksum_algorithm == SRV_CHECKSUM_ALGORITHM_CRC32 ||
       srv_checksum_algorithm == SRV_CHECKSUM_ALGORITHM_INNODB);

Effectively meaning that this function will diagnose log block algorithms mismatch using the data page algorithm instead of log block algorithm.

Related branches

tags: added: low-hanging-fruit xtradb
Revision history for this message
Shahriyar Rzayev (rzayev-sehriyar) wrote :

Percona now uses JIRA for bug reports so this bug report is migrated to: https://jira.percona.com/browse/PS-1447

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.