[MDEV-23971] add the ability to fix corrupted pages on --prepare Created: 2020-10-16  Updated: 2020-11-09  Resolved: 2020-11-09

Status: Closed
Project: MariaDB Server
Component/s: Backup
Fix Version/s: N/A

Type: Task Priority: Major
Reporter: Vladislav Lesin Assignee: Vladislav Lesin
Resolution: Duplicate Votes: 0
Labels: None

Issue Links:
Relates
relates to MDEV-12699 Improve crash recovery of corrupted d... Closed
relates to MDEV-21109 Table corruption not detected with CH... Closed
relates to MDEV-22929 MariaBackup option to report and/or c... Closed

 Description   

In the general case, we cannot know if innodb dataset is corrupted until applying the log.

Particularly, in MDEV-21109 there are pages which do not pass corruption test, but they are in free tablespace list, so it does not matter of they pass the test or not. We can't detect if they are allocated or not during backup, but we can do this during --prepare.

So we could log such allegedly corrupted pages during backup, and then try to fix them during --prepare. Particularly we could zero out pages which are in tablespace free list.

We should also think how to log such allegedly corrupted pages to make older mariabackup versions to refuse --prepare on dataset with the log.

We should also change documentation to reflect the fact that backup can be treated as non corrupted one if it is not prepared. We could stream backup, and some external tool can be used to upload it in some cloud. So the uploaded backup can not be safe until it is prepared.



 Comments   
Comment by Vladislav Lesin [ 2020-11-09 ]

During wide discussion in slack we decided to join this task with MDEV-22929, as, in fact, this is one task came from the same client. See also this comment: https://jira.mariadb.org/browse/MDEV-22929?focusedCommentId=170383&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-170383 .

Generated at Thu Feb 08 09:26:28 UTC 2024 using Jira 8.20.16#820016-sha1:9d11dbea5f4be3d4cc21f03a88dd11d8c8687422.