lp:~akopytov/percona-xtrabackup/bug1170806-2.0

Created by Alexey Kopytov on 2013-04-24 and last modified on 2013-04-24
Get this branch:
bzr branch lp:~akopytov/percona-xtrabackup/bug1170806-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

538. By Alexey Kopytov on 2013-04-24

Bug #1170806: innobackupex continuing with FTWRL even when xtrabackup
              failed

The problem was that when the log copying thread failed, it did not
terminate the xtrabackup process immediately. Instead only the log
copying thread was terminated. The main xtrabackup thread would later
check if the 'log_copying_succeed' flag is FALSE, and terminated the
process, but that happened later, after xtrabackup was done with copying
InnoDB files and signaled innobackupex to lock tables and proceed with
copying non-InnoDB files.

The fix is to terminate the entire xtrabackup process immediately on log
copying failure. There is no reasons to delay checking its status
and fail much later.

534. By Alexey Kopytov on 2013-04-23

Implementation of
https://blueprints.launchpad.net/percona-xtrabackup/+spec/support-56-innodb-page-size

innodb_page_size was only handled by XtraDB-based binaries, but ignored
by xtrabackup_56, since it is not XtraDB-based.

This revision also removes innodb_file_per_table from --print-param,
since it was not used by anything and is not required on any backup
stage.

533. By Alexey Kopytov on 2013-04-22

Implementation of
https://blueprints.launchpad.net/percona-xtrabackup/+spec/support-separate-undo-tablespace

In order to backup separate undo tablespaces they must be added in the
fil_system list of tablespaces on the backup stage. This is implemented
in srv_undo_tablespaces_init(), which needs some modifications for
XtraBackup. First, create_new_db is always FALSE in XtraBackup. We also
need another argument to check if we can read the number of currently
used undo tablespaces from the trx header. We can't do that on the
backup stage, so we just do what srv_undo_tablespaces_init() would do in
'create_new_db == TRUE' mode, i.e. just assume the number of available
undo tablespaces is the number of used tablespaces.

We also have to restore undo tablespaces on --copy-back (unlike
e.g. separate doublewrite tablespace in PS). The reasons are that:

1) the server would refuse to start if the number of available undo
tablespaces is less than the number of configured ones.

2) we can prepare the backup with --redo-only (i.e. let the server
rollback uncommitted transactions)

There were also some tweaks to the test suite required to create a test
case. Previously my.cnf was only used by xtrabackup, but not the server
itself (one had to pass arguments to start_server and then add the same
arguments to my.cnf for xtrabackup to "see" them). Now my.cnf is used by
both server and xtrabackup, and it is possible to add custom entries to
my.cnf using the MYSQLD_EXTRA_MY_CNF_OPTS variable.

This patch also fixes bug #1169971: "Lost InnoDB messages in
xtrabackup_56".

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