innobackupex uses SHOW MASTER STATUS to obtain binlog file and position

Reported by George Ormond Lorch III on 2013-04-12
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Percona XtraBackup
High
Alexey Kopytov
2.0
Undecided
Unassigned
2.1
High
Alexey Kopytov

Bug Description

Tests performed against Percona Server 5.5 (revno 499).

In 2.0 (revno 528), innobackupex is calling SHOW MASTER STATUS in order to obtain the binlog filename and position. The server is not a master or a slave but a standalone that is not utilizing binary logs and as such returns an empty set for this command.

In 2.1 (revno 534), using DBD and "use warnings FATAL => 'all'" causes a Perl error in write_binlog_info after calling and assigning:
get_mysql_master_status($con); # calls SHOW MASTER STATUS
my $filename = $con->{master_status}->{File};
my $position = $con->{master_status}->{Position};

then attempting to use $filename:
Use of uninitialized value $filename in concatenation (.) or string at /data/bin/xb-2.1-PLMCE/innobackupex line 1338.

This causes innobackupex to terminate and leaves the xtrabackup process running (https://bugs.launchpad.net/bugs/1135441).

Related branches

description: updated
Alexey Kopytov (akopytov) wrote :

The problem is benign in 2.0, because $filename and $position are initialized to empty strings. So in the case when the server is not a master we just create an empty xtrabackup_binlog_info. I think we can keep that behavior for 2.0 (thus marking the bug report as Invalid). And for 2.1 we can change it to not create xtrabackup_binlog_info when binlog info is not available.

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

Other bug subscribers