Merge lp:~akopytov/percona-xtrabackup/bug1175566-2.1 into lp:percona-xtrabackup/2.1

Proposed by Alexey Kopytov on 2013-05-04
Status: Merged
Approved by: Sergei Glushchenko on 2013-05-06
Approved revision: 588
Merged at revision: 594
Proposed branch: lp:~akopytov/percona-xtrabackup/bug1175566-2.1
Merge into: lp:percona-xtrabackup/2.1
Diff against target: 55 lines (+19/-4)
3 files modified
patches/innodb56.patch (+12/-1)
src/innodb_int.h (+5/-1)
src/xtrabackup.cc (+2/-2)
To merge this branch: bzr merge lp:~akopytov/percona-xtrabackup/bug1175566-2.1
Reviewer Review Type Date Requested Status
Sergei Glushchenko g2 2013-05-04 Approve on 2013-05-06
Review via email: mp+162514@code.launchpad.net

Description of the change

    Bug #1175566: Assertion failure in Xtrabackup --stats run on MySQL
    datadir (xtrabackup_56)

    The root cause was http://bugs.mysql.com/bug.php?id=69131 resulting in
    xtrabackup_56 trying to update data files in the read only mode.

    This also fixes a minor issue introduced by the XtraBackup port to
    5.6. In XtraBackup we want to set the initial file format to the minimum
    supported one, rather than the maximum one, to avoid updating the file
    format tag in data files. Currently, that could never lead to any
    user-visible issues, but is still an incorrect thing to do.

http://jenkins.percona.com/view/XtraBackup/job/percona-xtrabackup-2.1-param/296/

To post a comment you must log in.

Approve

review: Approve (g2)

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'patches/innodb56.patch'
2--- patches/innodb56.patch 2013-04-28 18:32:11 +0000
3+++ patches/innodb56.patch 2013-05-04 10:04:32 +0000
4@@ -1028,7 +1028,18 @@
5 if (srv_force_recovery < SRV_FORCE_NO_IBUF_MERGE) {
6 /* The following call is necessary for the insert
7 buffer to work with multiple tablespaces. We must
8-@@ -2647,6 +2661,7 @@
9+@@ -2439,7 +2452,9 @@
10+ value. Important to note that we can do it ONLY after
11+ we have finished the recovery process so that the
12+ image of TRX_SYS_PAGE_NO is not stale. */
13+- trx_sys_file_format_tag_init();
14++ if (!srv_read_only_mode) {
15++ trx_sys_file_format_tag_init();
16++ }
17+ }
18+
19+ if (!create_new_db && sum_of_new_sizes > 0) {
20+@@ -2647,6 +2662,7 @@
21 && srv_auto_extend_last_data_file
22 && sum_of_data_file_sizes < tablespace_size_in_header) {
23
24
25=== modified file 'src/innodb_int.h'
26--- src/innodb_int.h 2013-04-28 18:36:35 +0000
27+++ src/innodb_int.h 2013-05-04 10:04:32 +0000
28@@ -176,7 +176,11 @@
29 fil_rename_tablespace(old_name_in, id, new_name)
30 # define xb_btr_root_block_get(index, mode, mtr) \
31 btr_root_block_get(index, mtr)
32-# define UNIV_FORMAT_MAX DICT_TF_FORMAT_51;
33+# if MYSQL_VERSION_ID < 50500
34+# define UNIV_FORMAT_MIN DICT_TF_FORMAT_51
35+# else
36+# define UNIV_FORMAT_MIN DICT_TF_FORMAT_MIN;
37+# endif
38 # define dict_tf_get_zip_size dict_table_flags_to_zip_size
39 # define os_file_get_size(file) os_file_get_size_as_iblonglong(file)
40 # define xb_os_file_set_size(name, file, size) \
41
42=== modified file 'src/xtrabackup.cc'
43--- src/xtrabackup.cc 2013-05-02 13:07:16 +0000
44+++ src/xtrabackup.cc 2013-05-04 10:04:32 +0000
45@@ -1219,9 +1219,9 @@
46 srv_use_sys_malloc = TRUE;
47 srv_file_format = 1; /* Barracuda */
48 #if (MYSQL_VERSION_ID < 50500)
49- srv_check_file_format_at_startup = UNIV_FORMAT_MAX; /* on */
50+ srv_check_file_format_at_startup = UNIV_FORMAT_MIN; /* on */
51 #else
52- srv_max_file_format_at_startup = UNIV_FORMAT_MAX; /* on */
53+ srv_max_file_format_at_startup = UNIV_FORMAT_MIN; /* on */
54 #endif
55 /* --------------------------------------------------*/
56

Subscribers

People subscribed via source and target branches

to all changes: