innobackupex --galera-info incompatible with MGC-10.0 - part 2
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Percona XtraBackup moved to https://jira.percona.com/projects/PXB |
Fix Released
|
High
|
Alexey Kopytov | ||
2.1 |
Won't Fix
|
Undecided
|
Unassigned | ||
2.2 |
Fix Released
|
High
|
Alexey Kopytov |
Bug Description
Fix for lp:1250375 introduced some changes which are incompatible with MariaDB-10.0
(and older versions).
I had reported a similar bug (lp:1306875), but opening a new one, as this requires
an additional patch.
In MariaDB,
a) "SHOW MASTER|SLAVE STATUS" does not contain "Executed_Gtid_Set" field, and
b) there is no log_bin_basename system variable available.
Suggested fix:
nirbhay@
--- innobackupex.orig 2014-06-05 11:49:12.523955742 -0400
+++ innobackupex 2014-06-05 16:19:53.444632655 -0400
@@ -3091,6 +3091,7 @@
my @info_lines = ();
my $state_uuid = '';
my $last_committed = '';
+ my $gtid_exists= 0;
# get binlog position
get_
@@ -3116,9 +3117,16 @@
}
- my $gtid = $con->{
+ # Determine if GTIDs exist.
+ if (defined(
+ $gtid_exists= 1;
+ } elsif (defined(
+ if ($con->
+ $gtid_exists= 1;
+ }
+ }
- if ($gtid) {
+ if ($gtid_exists) {
my $log_bin_dir;
my $log_bin_file;
@@ -3126,7 +3134,13 @@
- $log_bin_dir = File::Basename:
+
+ if (defined(
+ # sysvar.
+ $log_bin_dir = File::Basename:
+ } else { # fallback to datadir
+ $log_bin_dir = $mysql{
+ }
if (!defined(
die "Failed to get master binlog coordinates from SHOW MASTER STATUS";
I have tested this cset with Codership's MySQL Galera server.
Additionally, write_binlog_info & write_slave_info subroutines also try to
extract "Executed_Gtid_Set" value from "SHOW MASTER|SLAVE STATUS".
Related branches
- Alexey Kopytov (community): Approve
-
Diff: 50 lines (+22/-3)1 file modifiedstorage/innobase/xtrabackup/innobackupex.pl (+22/-3)
summary: |
- innobackupex --galera-info incompatible with MGC-10.0 + innobackupex --galera-info incompatible with MGC-10.0 - part 2 |
FYI, the patch submitted for lp:1329539 also addresses this issue.