diff options
author | Vladislav Vaintroub <wlad@mariadb.com> | 2018-12-18 17:31:52 +0100 |
---|---|---|
committer | Vladislav Vaintroub <wlad@mariadb.com> | 2018-12-18 17:33:42 +0100 |
commit | 74659e55b7dffcdbb7f8b2cac4ccea92dacebd70 (patch) | |
tree | df07aed150ff89e3558d3cd790add12f3b136c14 /extra | |
parent | 560df4792696a61d2ad7a191c1ea45dff11915e9 (diff) | |
download | mariadb-git-74659e55b7dffcdbb7f8b2cac4ccea92dacebd70.tar.gz |
MDEV-16268 : sporadic checksum mismatch when opening system tablespace in backup
Attempt to fix by retrying srv_sys_space.open_or_create() if it reports
corruption.
Diffstat (limited to 'extra')
-rw-r--r-- | extra/mariabackup/xtrabackup.cc | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/extra/mariabackup/xtrabackup.cc b/extra/mariabackup/xtrabackup.cc index fe768696170..cbd5a72aa34 100644 --- a/extra/mariabackup/xtrabackup.cc +++ b/extra/mariabackup/xtrabackup.cc @@ -3362,8 +3362,15 @@ xb_load_tablespaces() return(DB_ERROR); } - err = srv_sys_space.open_or_create(false, false, &sum_of_new_sizes, - &flush_lsn); + for (int i= 0; i < 10; i++) { + err = srv_sys_space.open_or_create(false, false, &sum_of_new_sizes, + &flush_lsn); + if (err == DB_PAGE_CORRUPTED || err == DB_CORRUPTION) { + my_sleep(1000); + } + else + break; + } if (err != DB_SUCCESS) { msg("mariabackup: Could not open data files.\n"); |