SST on IPv6 fails for xtrabackup-v2
Affects | Status | Importance | Assigned to | Milestone | ||
---|---|---|---|---|---|---|
Percona XtraDB Cluster moved to https://jira.percona.com/projects/PXC | Status tracked in 5.6 | |||||
5.5 |
Confirmed
|
Undecided
|
Unassigned | |||
5.6 |
Fix Released
|
Undecided
|
Unassigned | |||
percona-cluster (Juju Charms Collection) |
Fix Released
|
Undecided
|
Unassigned | |||
percona-xtradb-cluster-5.5 (Ubuntu) |
Invalid
|
Medium
|
Unassigned |
Bug Description
I have three nodes configured on a ipv4+ipv6 mixed network. Both of my nodes have ipv4 and ipv6 addresses, however I have configured percona to use only ipv6. I am able to connect to 3306 port from/to each of the machines using only ipv6.
Due to issues with having IPv6 addresses in the configuration file I added the hostnames of the participating nodes in /etc/hosts file, with accompanying IPv6 addresses so that I'm sure that all the traffic goes over IPv6.
However, joiners can't receive data from donor because 'socat' on joiner is only listeninig on ipv4:
mysql 20553 20394 0 18:17 pts/1 00:00:00 socat -u TCP-LISTEN:
If, using the hostname, I try to connect, from donnor node to joiner node, I can't connect:
root@machine-
Trying 2001:db8:
telnet: Unable to connect to remote host: Connection refused
When I use ipv4 address, all is good:
root@machine-
machine-
root@machine-
Trying 10.5.19.139...
Connected to 10.5.19.139.
Escape character is '^]'.
Of course, when I force socat to use TCP6-LISTEN (by hacking into the /usr/bin/
(As a workaround, when using rsync as a wsrep_sst_method, I am able to complete the SST, regardless of the issue mentioned in bug #1315528).
description: | updated |
Changed in percona-xtradb-cluster-5.5 (Ubuntu): | |
importance: | Undecided → Medium |
Changed in percona-cluster (Juju Charms Collection): | |
status: | New → Fix Released |
Changed in percona-xtradb-cluster-5.5 (Ubuntu): | |
status: | Confirmed → Invalid |
As a better workaround I created a new SST plugin - called it xtrabackup-v2-ipv6. I merely copied /usr/bin/ wsrep_sst_ xtrabackup- v2 to /usr/bin/ wsrep_sst_ xtrabackup- v2-ipv6, and altered it so that socat always uses TCP6-LISTEN. When that new plugin is deployed across all the cluster members I have SST using xtrabackup over IPv6 working.