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

Proposed by Alexey Kopytov
Status: Merged
Approved by: Sergei Glushchenko
Approved revision: no longer in the source branch.
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 (community) g2 Approve
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.
Revision history for this message
Sergei Glushchenko (sergei.glushchenko) wrote :

Approve

review: Approve (g2)

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
=== modified file 'patches/innodb56.patch'
--- patches/innodb56.patch 2013-04-28 18:32:11 +0000
+++ patches/innodb56.patch 2013-05-04 10:04:32 +0000
@@ -1028,7 +1028,18 @@
1028 if (srv_force_recovery < SRV_FORCE_NO_IBUF_MERGE) {1028 if (srv_force_recovery < SRV_FORCE_NO_IBUF_MERGE) {
1029 /* The following call is necessary for the insert1029 /* The following call is necessary for the insert
1030 buffer to work with multiple tablespaces. We must1030 buffer to work with multiple tablespaces. We must
1031@@ -2647,6 +2661,7 @@1031@@ -2439,7 +2452,9 @@
1032 value. Important to note that we can do it ONLY after
1033 we have finished the recovery process so that the
1034 image of TRX_SYS_PAGE_NO is not stale. */
1035- trx_sys_file_format_tag_init();
1036+ if (!srv_read_only_mode) {
1037+ trx_sys_file_format_tag_init();
1038+ }
1039 }
1040
1041 if (!create_new_db && sum_of_new_sizes > 0) {
1042@@ -2647,6 +2662,7 @@
1032 && srv_auto_extend_last_data_file1043 && srv_auto_extend_last_data_file
1033 && sum_of_data_file_sizes < tablespace_size_in_header) {1044 && sum_of_data_file_sizes < tablespace_size_in_header) {
1034 1045
10351046
=== modified file 'src/innodb_int.h'
--- src/innodb_int.h 2013-04-28 18:36:35 +0000
+++ src/innodb_int.h 2013-05-04 10:04:32 +0000
@@ -176,7 +176,11 @@
176 fil_rename_tablespace(old_name_in, id, new_name)176 fil_rename_tablespace(old_name_in, id, new_name)
177# define xb_btr_root_block_get(index, mode, mtr) \177# define xb_btr_root_block_get(index, mode, mtr) \
178 btr_root_block_get(index, mtr)178 btr_root_block_get(index, mtr)
179# define UNIV_FORMAT_MAX DICT_TF_FORMAT_51;179# if MYSQL_VERSION_ID < 50500
180# define UNIV_FORMAT_MIN DICT_TF_FORMAT_51
181# else
182# define UNIV_FORMAT_MIN DICT_TF_FORMAT_MIN;
183# endif
180# define dict_tf_get_zip_size dict_table_flags_to_zip_size184# define dict_tf_get_zip_size dict_table_flags_to_zip_size
181# define os_file_get_size(file) os_file_get_size_as_iblonglong(file)185# define os_file_get_size(file) os_file_get_size_as_iblonglong(file)
182# define xb_os_file_set_size(name, file, size) \186# define xb_os_file_set_size(name, file, size) \
183187
=== modified file 'src/xtrabackup.cc'
--- src/xtrabackup.cc 2013-05-02 13:07:16 +0000
+++ src/xtrabackup.cc 2013-05-04 10:04:32 +0000
@@ -1219,9 +1219,9 @@
1219 srv_use_sys_malloc = TRUE;1219 srv_use_sys_malloc = TRUE;
1220 srv_file_format = 1; /* Barracuda */1220 srv_file_format = 1; /* Barracuda */
1221#if (MYSQL_VERSION_ID < 50500)1221#if (MYSQL_VERSION_ID < 50500)
1222 srv_check_file_format_at_startup = UNIV_FORMAT_MAX; /* on */1222 srv_check_file_format_at_startup = UNIV_FORMAT_MIN; /* on */
1223#else1223#else
1224 srv_max_file_format_at_startup = UNIV_FORMAT_MAX; /* on */1224 srv_max_file_format_at_startup = UNIV_FORMAT_MIN; /* on */
1225#endif1225#endif
1226 /* --------------------------------------------------*/1226 /* --------------------------------------------------*/
12271227

Subscribers

People subscribed via source and target branches

to all changes: