diff options
author | Vladislav Vaintroub <wlad@mariadb.com> | 2019-01-09 22:28:31 +0100 |
---|---|---|
committer | Vladislav Vaintroub <wlad@mariadb.com> | 2019-01-09 22:28:31 +0100 |
commit | 4a872ae1e725b8d17f8266a9ca33a2aca4285c00 (patch) | |
tree | da2429b62b315b8943fc2fa6c4ddbaff9c90dac3 /extra | |
parent | 9edadc29b191d4861e397b1fb9f4f944a279e150 (diff) | |
download | mariadb-git-4a872ae1e725b8d17f8266a9ca33a2aca4285c00.tar.gz |
MDEV-18185 - mariabackup - fix specific case of table rename handing in prepare.
If, during backup
1) Innodb table is dropped (after being copied to backup) and then
2) Before backup finished, another Innodb table is renamed, and new name
is the name of the dropped table in 1)
then, --prepare fails with assertion, as DDL fixup code in prepare
did not handle this specific case.
The fix is to process drops before renames, in prepare DDL-"redo" phase.
Diffstat (limited to 'extra')
-rw-r--r-- | extra/mariabackup/xtrabackup.cc | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/extra/mariabackup/xtrabackup.cc b/extra/mariabackup/xtrabackup.cc index 1b5e28bb257..e0013979901 100644 --- a/extra/mariabackup/xtrabackup.cc +++ b/extra/mariabackup/xtrabackup.cc @@ -5510,10 +5510,10 @@ xtrabackup_prepare_func(char** argv) else { xb_process_datadir(".", ".new", prepare_handle_new_files); } - xb_process_datadir(xtrabackup_incremental_dir? xtrabackup_incremental_dir:".", - ".ren", prepare_handle_ren_files); xb_process_datadir(xtrabackup_incremental_dir ? xtrabackup_incremental_dir : ".", ".del", prepare_handle_del_files); + xb_process_datadir(xtrabackup_incremental_dir? xtrabackup_incremental_dir:".", + ".ren", prepare_handle_ren_files); int argc; for (argc = 0; argv[argc]; argc++) {} |