-
Notifications
You must be signed in to change notification settings - Fork 340
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
PXB-3079 : Prepare skips rollback on encrypted tables and completes s… #1480
PXB-3079 : Prepare skips rollback on encrypted tables and completes s… #1480
Conversation
https://jira.percona.com/browse/PXB-3059 Added an option to set innodb_redo_log_archive_dirs. xtrabackup only sets the option if the server innodb_redo_log_archive_dirs is currently set to NULL. We always restore it back to NULL in the end of the backup. Thanks wangbincmss for the patch.
Implemented PXB-3059 - Add an option to set innodb_redo_log archive.
@satya-bodapati, what about single table backups? |
No marce, for the IBDs that are missing, we will not see them. so no issues. |
@satya-bodapati Do you have an example of an xtrabackup output exploring the new code path? I would like to have a look on the output. |
Although fil_open_for_xtrabackup() is used by backup and prepare, only the prepare caller aborts. |
|
@satya-bodapati As per slack conversation, we should try to only abort the backup if undo entries belong to missing encryption tables. |
@satya-bodapati, please also change the target branch to be the release branch if you want this on 8.0.34 |
@satya-bodapati FYI: clang format is broken on your commit |
Yes @altmannmarcelo , I fixed it locally. Will push it along with other changes |
78b673b
to
5ff4c13
Compare
@altmannmarcelo updated the patch and added new testcase |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for re-working it to only abort if we have rollback on the said tablespace.
Few minor comments. Since we basically re-worked a good part of the logic, can we have another Jenkins run?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM. Please get the last round of jenkins and squash the commits
@satya-bodapati Don't forget to target this PR to RB. |
Yeah, will rebase to release branch |
Will squash and submit to Jenkins |
1f74ac7
to
44eaeba
Compare
…uccessfully if keyring plugin is not loaded https://jira.percona.com/browse/PXB-3079 Problem: -------- If backup contains encrypted table and xtrabackup is not configured correctly, i.e. either keyring_file plugin is not passed to xtrabackup or the keyring_file_data is not pointing to valid keyring file, xtrabackup doesnt abort. If there is a rollback on such encryped tables, it skips rollback. the table is considered as dropped because it was not loaded to cache. Encryption errors are ignored when tablespace are loaded into cache. Fix: ---- If there is a rollback on an encrypted table and it cannot be loaded, abort with an error If the backup contains encrypted table but there is no redo or rollback on the table, and no keyring configuration is passed to xtrbackup, it will continue to prepare successfully.
44eaeba
to
d96af07
Compare
…uccessfully if keyring plugin is not loaded
https://jira.percona.com/browse/PXB-3079
Problem:
If the backup contains an encrypted table and xtrabackup during prepare is not configured correctly, i.e. either keyring_file plugin is not passed to xtrabackup, or the keyring_file_data is not pointing to a valid keyring file, xtrabackup doesn't abort.
If there is a rollback on such encrypted tables, it skips rollback. The table is considered as dropped because it was not loaded to the cache. Encryption errors are ignored when the tablespace is loaded into the cache.
Fix:
If xtrabackup cannot load an encrypted tablespace during prepare, abort with an error.