Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

MDEV-36304 InnoDB: Missing FILE_CREATE, FILE_DELETE or FILE_MODIFY error during mariabackup --prepare #3908

Open
wants to merge 1 commit into
base: 11.4
Choose a base branch
from

Conversation

Thirunarayanan
Copy link
Member

  • The Jira issue number for this PR is: MDEV-36304

Description

Problem:

  • During --prepare of partial backup, if InnoDB encounters the redo log for the excluded tablespace then InnoDB stores the space id in dirty tablespace list during recovery, anticipates that it may encounter FILE_* redo log records in the future. Even though we encounter FILE_* record for the partial excluded tablespace then we fail to replace the name in dirty tablespace list. This lead to missing of FILE_* redo log records error.

Fix:

srv_prepare_partial_backup: Variable for the server to indicate whether the redo log has been applied on partial backup

xtrabackup_read_backup_info_file(): Reads the mariabackup_info file from target directory and sets srv_prepare_partial_backup value based on partial information exist in file.

fil_name_process(): Rename the file name from "" to name encountered during FILE_* records during prepare on partial backup directory

How can this PR be tested?

./mtr mariabackup.partial_backup_prepare

Basing the PR against the correct MariaDB version

  • This is a new feature or a refactoring, and the PR is based against the main branch.
  • This is a bug fix, and the PR is based against the earliest maintained branch in which the bug can be reproduced.

PR quality check

  • I checked the CODING_STANDARDS.md file and my PR conforms to this where appropriate.
  • For any trivial modifications to the PR, I am ok with the reviewer making the changes themselves.

@CLAassistant
Copy link

CLA assistant check
Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.
You have signed the CLA already but the status is still pending? Let us recheck it.

…ror during mariabackup --prepare

Problem:
=======
- During --prepare of partial backup, if InnoDB encounters the redo
log for the excluded tablespace then InnoDB stores the space id in
dirty tablespace list during recovery, anticipates that it may
encounter FILE_* redo log records in the future. Even though
we encounter FILE_* record for the partial excluded tablespace
then we fail to replace the name in dirty tablespace list.
This lead to missing of FILE_* redo log records error.

Fix:
===
srv_prepare_partial_backup: Variable for the server to indicate
whether the redo log has been applied on partial backup

xtrabackup_read_backup_info_file(): Reads the mariabackup_info file
from target directory and sets srv_prepare_partial_backup value
based on partial information exist in file.

fil_name_process(): Rename the file name from "" to name encountered
during FILE_* records during prepare on partial backup directory
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Development

Successfully merging this pull request may close these issues.

2 participants