The workaround only worked for me if I used the exact name and also commented out the log_bin_index like this. For each test I simply bootstrap the first node then start the second and if it didn't fail then I would restart the second again. It failed with the name mariadb-bin and whenever the log_bin_index was specified even when the name was provided without a path as just the filename like log_bin_index = mariadb-bin.index. WSREP_SST cleaning datadir failed in these cases where the log_bin_index name was set. It would be good to confirm that whatever fix is provided also works for the WSREP_SST cleaning step. I'm testing on Ubuntu 14.10 with latest MariaDB Galera packages.
WORKAROUND THAT WORKED:
in /etc/mysql/my.cnf
log_bin=binlog
#log_bin_index = /var/log/mysql/mariadb-bin.index
FAILED SCENARIO 2:
in /etc/mysql/conf.d/galera.conf
log_bin = /var/log/mysql/mariadb-bin
log_bin_index = /var/log/mysql/mariadb-bin.index
worked initially then on restart of the joiner node, it showed the error already described in this issue
FAILED SCENARIO 3:
in /etc/mysql/conf.d/galera.conf
log_bin = mariadb-bin
log_bin_index = mariadb-bin.index
150503 15:49:57 [Note] WSREP: Shifting PRIMARY -> JOINER (TO: 0)
150503 15:49:57 [Note] WSREP: Requesting state transfer: success, donor: 1
WSREP_SST: [INFO] Evaluating timeout -k 110 100 socat -u TCP-LISTEN:4444,reuseaddr stdio | xbstream -x; RC=( ${PIPESTATUS[@]} ) (20150503 15:49:57.377)
WSREP_SST: [INFO] Proceeding with SST (20150503 15:49:57.879)
WSREP_SST: [INFO] Cleaning the existing datadir (20150503 15:49:57.882)
removed '/var/lib/mysql/gvwstate.dat'
WSREP_SST: [INFO] Cleaning the binlog directory /var/log/mysql
. as well (20150503 15:49:57.903)
find: paths must precede expression: ./mariadb-bin\.[0-9]+$
Usage: find [-H] [-L] [-P] [-Olevel] [-D help|tree|search|stat|rates|opt|exec] [path...] [expression]
WSREP_SST: [ERROR] Cleanup after exit with status:1 (20150503 15:49:57.909)
WSREP_SST: [INFO] Removing the sst_in_progress file (20150503 15:49:57.913)
150503 15:49:57 [ERROR] WSREP: Process completed with error: wsrep_sst_xtrabackup-v2 --role 'joiner' --address '192.168.167.8' --auth 'xtra:blankPencils10' --datadir '/var/lib/mysql/' --defaults-file '/etc/mysql/my.cnf' --parent '1533' --binlog 'mariadb-bin' : 1 (Operation not permitted)
150503 15:49:57 [ERROR] WSREP: Failed to read uuid:seqno from joiner script.
150503 15:49:57 [ERROR] WSREP: SST failed: 1 (Operation not permitted)
150503 15:49:57 [ERROR] Aborting
FAILED SCENARIO 3:
in /etc/mysql/conf.d/galera.conf
log_bin = /var/lib/mysql/mariadb-bin
log_bin_index = /var/lib/mysql/mariadb-bin.index
WSREP_SST: [INFO] Evaluating timeout -k 110 100 socat -u TCP-LISTEN:4444,reuseaddr stdio | xbstream -x; RC=( ${PIPESTATUS[@]} ) (20150503 16:13:08.917)
WSREP_SST: [INFO] Proceeding with SST (20150503 16:13:09.456)
WSREP_SST: [INFO] Cleaning the existing datadir (20150503 16:13:09.462)
removed '/var/lib/mysql/gvwstate.dat'
WSREP_SST: [INFO] Cleaning the binlog directory /var/log/mysql
/var/lib/mysql as well (20150503 16:13:09.488)
find: paths must precede expression: /var/lib/mysql/mariadb-bin\.[0-9]+$
Usage: find [-H] [-L] [-P] [-Olevel] [-D help|tree|search|stat|rates|opt|exec] [path...] [expression]
WSREP_SST: [ERROR] Cleanup after exit with status:1 (20150503 16:13:09.494)
WSREP_SST: [INFO] Removing the sst_in_progress file (20150503 16:13:09.498)
150503 16:13:09 [ERROR] WSREP: Process completed with error: wsrep_sst_xtrabackup-v2 --role 'joiner' --address '192.168.167.8' --auth 'xtra:blankPencils10' --datadir '/var/lib/mysql/' --defaults-file '/etc/mysql/my.cnf' --parent '17625' --binlog '/var/lib/mysql/mariadb-bin' : 1 (Operation not permitted)
150503 16:13:09 [ERROR] WSREP: Failed to read uuid:seqno from joiner script.
150503 16:13:09 [ERROR] WSREP: SST failed: 1 (Operation not permitted)
150503 16:13:09 [ERROR] Aborting
A part of the fix depends on
MDEV-7110as PXB uses log_bin_basename to determine binlog directory.