Uploaded image for project: 'Percona XtraDB Cluster'
  1. Percona XtraDB Cluster
  2. PXC-3767

IPv6 support in PXC (wsrep_sst_xtrabackup-v2)

Details

    • Bug
    • Status: Done
    • Medium
    • Resolution: Fixed
    • 8.0.23-14 (Q1 2021), 5.7.34-31.51 (Q2 2021)
    • 8.0.27-18 (Q4 2021)
    • Documentation
    • Yes

    Description

      Galera is supporting ipv6 and with the correct configuration it seems that also PXC can successfully run if correctly configured. But then it fails when another node joins in doing the SST. 

      If I use this config:

      wsrep-cluster-address                                       = gcomm://[2001:db8:0:f101::5]:4567,[2001:db8:0:f101::21]:4567,[2001:db8:0:f101::31]:4567
      wsrep-node-address                                          = [2001:db8:0:f101::31]:4567
      wsrep-node-incoming-address                                 = [2001:db8:0:f101::31]:3306
      wsrep-node-name                                             = node3
      #wsrep-notify-cmd                                             
      wsrep-on                                                    = TRUE
      wsrep-provider                                              = /opt/mysql_templates/PXC8P/lib/libgalera_smm.so
      wsrep-provider-options                                      = "gmcast.listen_addr=tcp://[::]:4567"
      

      nodes can correctly start and start the process but then it fails:

      2021-10-14T12:58:07.947605Z 1 [Note] [MY-000000] [WSREP] DONOR thread signaled with 0
      2021-10-14T12:59:13.712001Z 0 [Note] [MY-000000] [WSREP-SST] 2021/10/14 08:59:13 socat[21845] E connect(6, AF=10 [2001:0db8:0000:f101:0000:0000:0000:0031]:4444, 28): Connection refused
      2021-10-14T12:59:13.922335Z 0 [ERROR] [MY-000000] [WSREP-SST] ******************* FATAL ERROR ********************** 
      2021-10-14T12:59:13.922471Z 0 [ERROR] [MY-000000] [WSREP-SST] Error while sending data to joiner node:  exit codes: 0 1
      2021-10-14T12:59:13.922511Z 0 [ERROR] [MY-000000] [WSREP-SST] Line 1356
      2021-10-14T12:59:13.922607Z 0 [ERROR] [MY-000000] [WSREP-SST] ****************************************************** 
      2021-10-14T12:59:13.922962Z 0 [ERROR] [MY-000000] [WSREP-SST] Cleanup after exit with status:32
      2021-10-14T12:59:15.110407Z 0 [ERROR] [MY-000000] [WSREP] Process completed with error: wsrep_sst_xtrabackup-v2 --role 'donor' --address '[2001:db8:0:f101::31]:4444/xtrabackup_sst//1' --socket '/opt/mysql_instances/pxc8/mysql.sock' --datadir '/opt/mysql_instances/pxc8/data/' --basedir '/opt/mysql_templates/Percona-XtraDB-Cluster_8.0.23-14.1_Linux.x86_64.glibc2.17/' --plugindir '/opt/mysql_templates/PXC8P/lib/plugin/' --defaults-file '/opt/mysql_instances/pxc8/my.cnf' --defaults-group-suffix '' --mysqld-version '8.0.23-14.1'  --binlog '/opt/mysql_instances/pxc8/logs/binlog' --gtid 'ab5deb8e-389d-11eb-b1c0-36eca47bacf0:7742211' : 32 (Broken pipe)
      

      In the wsrep_sst_xtrabackup-v2 there is no support for  IPv6 at all.
      for instance here :

       592    else
       593             if [[ "$WSREP_SST_OPT_ROLE"  == "joiner" ]]; then
       594                 tcmd="socat -u TCP-LISTEN:${TSST_PORT},reuseaddr${sockopt} stdio"
       595             else
       596                 tcmd="socat -u stdio TCP:${REMOTEIP}:${TSST_PORT}${sockopt}"
       597             fi
       598         fi
       599     fi
      

       

      Attachments

        Activity

          People

            nitendra.bhosle Nitendra Bhosle (Inactive)
            marco.tusa@percona.com Marco Tusa
            Votes:
            1 Vote for this issue
            Watchers:
            6 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Time Tracking

                Estimated:
                Original Estimate - Not Specified
                Not Specified
                Remaining:
                Remaining Estimate - 0 minutes
                0m
                Logged:
                Time Spent - 2 days, 1 hour, 39 minutes
                2d 1h 39m

                Smart Checklist