summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThirunarayanan Balathandayuthapani <thiru@mariadb.com>2018-04-03 16:43:36 +0530
committerThirunarayanan Balathandayuthapani <thiru@mariadb.com>2018-04-03 16:43:36 +0530
commitd9c5a4667840137c2e366ba3f579e1f6aa904062 (patch)
tree159fae362c3ce3757cdd9827563351765d792c54
parent6223f1dd98c81b6c53bf15595ae6fb32f3a3c54c (diff)
downloadmariadb-git-d9c5a4667840137c2e366ba3f579e1f6aa904062.tar.gz
MDEV-15737 assertion in mariabackup.exe!recv_calc_lsn_on_data_add()
- recovered_lsn shouldn't be initialized during xtrabackup_copy_logfile(). If partial redo log read during the end of xtrabackup_copy_logfile() then recovered_lsn will be different from scanned_lsn. Re-initialization of recovered_lsn could lead to partial read again. It is a regression of MDEV-14545
-rw-r--r--extra/mariabackup/xtrabackup.cc3
1 files changed, 2 insertions, 1 deletions
diff --git a/extra/mariabackup/xtrabackup.cc b/extra/mariabackup/xtrabackup.cc
index 11f485e003f..67ffc7b6843 100644
--- a/extra/mariabackup/xtrabackup.cc
+++ b/extra/mariabackup/xtrabackup.cc
@@ -2555,7 +2555,6 @@ xtrabackup_copy_logfile(copy_logfile copy)
recv_sys->parse_start_lsn = log_copy_scanned_lsn;
recv_sys->scanned_lsn = log_copy_scanned_lsn;
- recv_sys->recovered_lsn = log_copy_scanned_lsn;
start_lsn = ut_uint64_align_down(log_copy_scanned_lsn,
OS_FILE_LOG_BLOCK_SIZE);
@@ -4082,6 +4081,8 @@ reread_log_header:
/* copy log file by current position */
log_copy_scanned_lsn = checkpoint_lsn_start;
+ recv_sys->recovered_lsn = log_copy_scanned_lsn;
+
if (xtrabackup_copy_logfile(COPY_FIRST))
goto fail;