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

LP #1495858: [DOC] cpat example for xtrabackup-v2 breaks the SST


    • Bug
    • Status: On Hold
    • Low
    • Resolution: Unresolved
    • None
    • None
    • None


      **Reported in Launchpad by Przemek last update 20-11-2015 09:15:16


      The example regex presented there leads to .sst directory removal when the SST already started using it. The wsrep_sst_xtrabackup-v2 debug mode output fragment:

      + mkdir -p /opt/data/mysql//.sst
      + jpid=20385
      + ps -p 20106
      + recv_joiner /opt/data/mysql//.sst Joiner-Recv-SST 0
      + local dir=/opt/data/mysql//.sst
      + local msg=Joiner-Recv-SST
      + local tmt=0
      + local ltcmd
      + pushd /opt/data/mysql//.sst
      + find /opt/data/mysql/ -mindepth 1 -regex '.galera\.cache$|.*sst_in_progress$|.*grastate\.dat$|.\.err$|.\.log$|.*RPM_UPGRADE_MARKER$|.*RPM_UPGRADE_HISTORY$|.\.xyz$' -prune -o -exec rm -rfv '{}' +
      removed directory: `/opt/data/mysql/.sst'

      And following error on the joiner node:

      WSREP_SST: [INFO] Cleaning the existing datadir and innodb-data/log directories (20150915 07:32:56.599)
      removed directory: `/opt/data/mysql/.sst'
      removed `/opt/data/mysql/performance_schema/events_waits_history.frm'
      WSREP_SST: [INFO] Waiting for SST streaming to complete! (20150915 07:32:56.661)
      ^Gxbstream: Can't create/write to file '././backup-my.cnf' (Errcode: 2 - No such file or directory)
      xbstream: failed to create file.
      2015/09/15 07:33:08 socat[19593] E write(1, 0x13af440, 1815): Broken pipe

      in my.cnf:
      cpat ='.galera\.cache$|.*sst_in_progress$|.*grastate\.dat$|.\.err$|.\.log$|.*RPM_UPGRADE_MARKER$|.*RPM_UPGRADE_HISTORY$|.\.xyz$'

      The regex above is meant to list the files and directories, that should NOT be removed during SST, while the result does not work for .sst:

      [[email protected] ~]# mkdir /opt/data/mysql/.sst
      [[email protected] ~]# find /opt/data/mysql/ -mindepth 1 -regex '.galera\.cache$|.*sst_in_progress$|.*grastate\.dat$|.\.err$|.\.log$|.*RPM_UPGRADE_MARKER$|.*RPM_UPGRADE_HISTORY$|.\.xyz$'

      An example of fixed regex:
      [[email protected] ~]# find /opt/data/mysql/ -mindepth 1 -regex '.galera\.cache$|.*sst_in_progress$|.*grastate\.dat$|.\.err$|.*\.log$|.*RPM_UPGRADE_MARKER$|.*RPM_UPGRADE_HISTORY$|.*sst$'

      In addition to fix the regex, this sentence needs to be corrected: "This option provides the ability to define the files that need to be deleted before the SST." The true meaning is that it defines the files that need to be excluded from deletion.




            Unassigned Unassigned
            lpjirasync lpjirasync (Inactive)
            0 Vote for this issue
            2 Start watching this issue



              Smart Checklist