[MDEV-14543] incremental prepare doesn't complain about incorrect lsn Created: 2017-11-30 Updated: 2018-01-08 Resolved: 2018-01-08 |
|
| Status: | Closed |
| Project: | MariaDB Server |
| Component/s: | Backup |
| Affects Version/s: | 10.1, 10.2, 10.3 |
| Fix Version/s: | N/A |
| Type: | Bug | Priority: | Critical |
| Reporter: | Andrii Nikitin (Inactive) | Assignee: | Marko Mäkelä |
| Resolution: | Won't Fix | Votes: | 0 |
| Labels: | upstream | ||
| Sprint: | 10.2.12 |
| Description |
|
Currently mariabackup 10.2 doesn't complain when user attempts to apply incremental backup to incorrect base backup, (probably corrupting data). Test below succeeds in 10.1 (meaning that mariabackup correctly shows error), while fails in 10.2
|
| Comments |
| Comment by Marko Mäkelä [ 2018-01-08 ] | ||||||||||
|
Both Mariabackup 10.1 and 10.2 would seem to corrupt the files, but not entirely without complaining:
| ||||||||||
| Comment by Marko Mäkelä [ 2018-01-08 ] | ||||||||||
|
I cannot reproduce the issue with the attached test case. There would only be logically empty .delta files in the backup, consisting only of a 16KiB end-of-file marker page. Also, in each xtrabackup_info file, the innodb_to_lsn would be the same (very strange; there were changes to the table between the backups). I think that two things could be done:
I believe that in the posted test, it is highly unlikely to get a redo log checkpoint (or a data page flush) between the INSERT statements. The lack of page writes explains why the .delta files are logically empty. Some sleeps could help to reproduce the problem. All this said, I am not sure if this problem is worth fixing, or if it is possible to detect all mismatches between the full backup and the incremental backup. Upstream xtrabackup seems to be suffering from the same problem. | ||||||||||
| Comment by Marko Mäkelä [ 2018-01-08 ] | ||||||||||
|
I would not fix this unless and until a customer complains. I think that long term, we should have a streaming-capable BACKUP statement inside the server and avoid any log file processing altogether. |