lp:~akopytov/percona-xtrabackup/bugs-1177206-and-1187071-2.0

Created by Alexey Kopytov on 2013-06-18 and last modified on 2013-06-18
Get this branch:
bzr branch lp:~akopytov/percona-xtrabackup/bugs-1177206-and-1187071-2.0
Only Alexey Kopytov can upload to this branch. If you are Alexey Kopytov please log in for upload directions.

Branch merges

Related bugs

Related blueprints

Branch information

Recent revisions

561. By Alexey Kopytov on 2013-06-18

Bug #1177206: InnoDB: Assertion failure in thread <nr> in file
              log0recv.c line 1105 InnoDB: Failing assertion: !page
              || (ibool)!!page_is_comp(page) ==
              dict_table_is_comp(index->table)

Bug #1187071: xb 2.1 against ps 5.6 gives Error: Tablespace is not
              sensible during backup"

The problems are related, so fixing in a single revision.

The problem in bug #1187071 was a difference in behavior between InnoDB
5.5- and 5.6 codebases in cases when a newly created tablespace has
uninitialized first page at the time when XtraBackup opens it while
creating a list of tablespaces to backup. 5.1/5.5 InnoDB code would just
complain about tablespace ID being non-sensible and omit it from the
backup. But in 5.6 it fails with an error in such a case.

A related problem in bug #1177206 was that
xb_data_files_init() (i.e. loading tablespaces into fil_system) was
called before log copying was started. This could lead to a race between
the datafiles state in the resulting backup and xtrabackup_logfile: a
tablespace created at a sensitive time would be missing in both the
backup itself and as the corresponding MLOG_FILE_CREATE* log record in
xtrabackup_logfile, so it would not be created on --apply-log
either. This problem has existed since the very first XtraBackup
version.

Fixed by:

1. Ignoring tablespaces with uninitialized pages on xtrabackup startup
for InnoDB 5.6 codebase to match the behavior of InnoDB 5.5-.
2. Moving the call to xb_data_files_init() in xtrabackup_backup_func()
to a later stage so that it is only called after the log copying is
started. This involved a minor code refactoring, since
xb_data_files_init() previously did 2 things: initializing the 'fil'
subsystem (which is also required by the log copying code) and actually
populating fil_system. We now have 2 separate functions:
xb_fil_io_init() (called before log copying is started) and
xb_load_tablespaces() (called after log copying is started).

559. By <email address hidden> on 2013-05-14

Merge lp:~hrvojem/percona-xtrabackup/pxb-128-2.0

556. By <email address hidden> on 2013-05-07

Merge lp:~hrvojem/percona-xtrabackup/bug1177237-2.0

555. By <email address hidden> on 2013-05-06

Merge lp:~hrvojem/percona-xtrabackup/rn-2.0.7-2.0

554. By Sergei Glushchenko on 2013-05-03

Bug 1175860: Orphaned xtrabackup_pid file Breaks Cluster SST
The fix is to remove xtrabackup_pid at startup or bail out if
unlink was not successful.

Branch metadata

Branch format:
Branch format 7
Repository format:
Bazaar repository format 2a (needs bzr 1.16 or later)
Stacked on:
lp:percona-xtrabackup/2.1
This branch contains Public information 
Everyone can see this information.

Subscribers