innochecksum5.7.5 gets crc32 checksum 0 and passes test
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Percona Server moved to https://jira.percona.com/projects/PS |
Incomplete
|
Undecided
|
Unassigned |
Bug Description
In one customer case, #50574, it showed that, in the case that stored page checksum is 0, the calculated crc32 checksum could also get 0, and innochecksum5.7.5 would then pass the check.
The .ibd is compressed with page size = 8192 bytes
Server version 5.6.21. Checksum algorithm is innodb.
mysql> show global variables like 'innodb_
+------
| Variable_name | Value |
+------
| innodb_
x. ran against the whole .ibd file, showed no error
$ time /tmp/innochecks
Variables (--variable-
and boolean options {FALSE|TRUE} Value (after reading options)
-------
verbose TRUE
count FALSE
start-page 0
end-page 0
page 0
strict-check crc32
no-check FALSE
allow-mismatches 0
write crc32
page-type-summary FALSE
page-type-dump (No default value)
log (No default value)
real 2m27.199s
user 1m8.654s
sys 0m28.290s
x. ran against one page with debug, it showed stored page checksum 0, the calculated crc32 checksum is 0
$ /tmp/innochecks
$ cat /tmp/ScData_
Filename = ./DatastoreV152
Innochecksum: checking pages in range 1672213 to 1672213 page::1672213; innodb checksum: calculated = 2975031374; recorded = 0
page::1672213: crc32 checksum: calculated = 0; recorded = 0
page::1672213: none checksum: calculated = 3735928559; recorded = 0
Upstream? See also http:// bugs.mysql. com/bug. php?id= 73689