xb 2.2 single binary fails against ps 5.1and 5.5 if innodb_log_file_size is not specified in server my.cnf

Bug #1257470 reported by George Ormond Lorch III
10
This bug affects 2 people
Affects Status Importance Assigned to Milestone
Percona XtraBackup moved to https://jira.percona.com/projects/PXB
Invalid
Undecided
Unassigned

Bug Description

XtraBackup 2.2 (revno 4909) single binary will fail to backup Percona Server 5.1 (revno 600) and Percona Server 5.5 (revno 599) if the server does not have innodb_log_file_size explicitly set in it my.cnf. It works fine against Percona Server 5.6 (revno 508).

innobackupex stderr:

InnoDB Backup Utility v1.5.1-xtrabackup; Copyright 2003, 2009 Innobase Oy
and Percona LLC and/or its affiliates 2009-2013. All Rights Reserved.

This software is published under
the GNU GENERAL PUBLIC LICENSE Version 2, June 1991.

131203 19:14:44 innobackupex: Connecting to MySQL server with DSN 'dbi:mysql:;mysql_read_default_file=/mnt/xb-2.2-single-binary/var/test-0/mysql.1/my.cnf;mysql_read_default_group=xtrabackup' (using password: NO).
131203 19:14:44 innobackupex: Connected to MySQL server
131203 19:14:44 innobackupex: Executing a version check against the server...
131203 19:14:44 innobackupex: Done.
IMPORTANT: Please check that the backup run completes successfully.
           At the end of a successful backup run innobackupex
           prints "completed OK!".

innobackupex: Using mysql server version 5.1.72

innobackupex: Created backup directory /mnt/xb-2.2-single-binary/test-backup

131203 19:14:44 innobackupex: Starting ibbackup with command: xtrabackup --defaults-file="/mnt/xb-2.2-single-binary/var/test-0/mysql.1/my.cnf" --defaults-group="mysqld" --backup --suspend-at-end --target-dir=/mnt/xb-2.2-single-binary/test-backup --tmpdir=/tmp --extra-lsndir='/tmp'
innobackupex: Waiting for ibbackup (pid=11150) to suspend
innobackupex: Suspend file '/mnt/xb-2.2-single-binary/test-backup/xtrabackup_suspended_2'

xtrabackup version 2.2.0 based on MySQL server 5.6.14 Linux (x86_64) (revision id: )
xtrabackup: uses posix_fadvise().
xtrabackup: cd to /mnt/xb-2.2-single-binary/var/test-0/mysql.1/data
xtrabackup: using the following InnoDB configuration:
xtrabackup: innodb_data_home_dir = ./
xtrabackup: innodb_data_file_path = ibdata1:10M:autoextend
xtrabackup: innodb_log_group_home_dir = ./
xtrabackup: innodb_log_files_in_group = 2
xtrabackup: innodb_log_file_size = 50331648
InnoDB: Error: log file ./ib_logfile0 is of different size 5242880 bytes
InnoDB: than specified in the .cnf file 50331648 bytes!
innobackupex: Error: The xtrabackup child process has died at /mnt/xb-2.2-single-binary/xb-2.2-bin/innobackupex line 2663.

my.cnf:
[client]
port=10000
socket=/mnt/xb-2.2-single-binary/var/test-0/mysql.1/mysql.sock
[mysqld]
basedir=/mnt/xb-2.2-single-binary/ps-5.1-bin
datadir=/mnt/xb-2.2-single-binary/var/test-0/mysql.1/data
tmpdir=/mnt/xb-2.2-single-binary/var/test-0/mysql.1/tmp
port=10000
socket=/mnt/xb-2.2-single-binary/var/test-0/mysql.1/mysql.sock
pid-file=/mnt/xb-2.2-single-binary/var/test-0/mysql.1/mysql.pid
console
user=root
server-id=1
general-log-file=/mnt/xb-2.2-single-binary/var/test-0/mysql.1/query.log
innodb_buffer_pool_size=512M

Explicitly adding innodb_log_file_size=512M to the my.cnf, deleting and recreating the database via mysql_install_db and re-running the same backup succeeds.

summary: - xb 2.2 single binary fails against ps 5.1 if innodb_log_file_size is not
- specified in server my.cnf
+ xb 2.2 single binary fails against ps 5.1and 5.5 if innodb_log_file_size
+ is not specified in server my.cnf
description: updated
Revision history for this message
Alexey Kopytov (akopytov) wrote :

This is similar to other hard-coded defaults in the server, though this one is specific to single binary implementation. For example, if there's no explicit datadir in my.cnf, the server will use a default value that depends on whether it was installed from .tar.gz, or Debian package, or RPM. XtraBackup has no way to guess this default, so it will fail.

It is the same case here: innodb_log_file_size is an essential part of InnoDB configuration for XtraBackup, but if it's not specifiied explicitly, there's no reliable way to guess the default value used by the server. This can be implemented in a reliable way when we merged innobackupex and xtrabackup.

For now, we should document it as a known limitation. Added a note to https://blueprints.launchpad.net/percona-xtrabackup/+spec/document-single-binary

no longer affects: percona-xtrabackup/2.2
Revision history for this message
Shahriyar Rzayev (rzayev-sehriyar) wrote :

Percona now uses JIRA for bug reports so this bug report is migrated to: https://jira.percona.com/browse/PXB-1263

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.