Crash recovery using the separate doublewrite buffer must be tested
Affects | Status | Importance | Assigned to | Milestone | ||
---|---|---|---|---|---|---|
Percona Server moved to https://jira.percona.com/projects/PS | Status tracked in 5.7 | |||||
5.1 |
Won't Fix
|
Low
|
Unassigned | |||
5.5 |
Triaged
|
Low
|
Unassigned | |||
5.6 |
Invalid
|
Undecided
|
Unassigned | |||
5.7 |
Invalid
|
Undecided
|
Unassigned |
Bug Description
The separate doublewrite buffer feature is not tested for the main purpose of the doublewrite buffer: crash recovery. Thus we do not "know" if it's safe to use or if it's working at all.
The testcase would be somewhat laborious:
1) Some data pages need to get to the doublewrite buffer. That can be done by a workload larger than the log capacity.
2) A partial data page write to the data file needs to be simulated, i.e. by DBUG_EXECUTE_IF that writes 16kb of garbage and syncs it.
3) Crash immediately after the simulated write + sync.
4) Restart, recover from the crash, checksum table.
As a bonus, the same testcase could be used to test the stock doublewrite buffer as well, adding to the lacking public InnoDB crash recovery testsuite.
tags: | added: xtradb |
Percona now uses JIRA for bug reports so this bug report is migrated to: https:/ /jira.percona. com/browse/ PS-2830