LP #1676771: wsrep_notify script does not work with pxc_strict_mode
Description
Environment
Activity

Not valid in 8.0, as the example script is not distributed anymore.
Closing.

**Comment from Launchpad by: Przemek on: 30-06-2017 10:17:13
Thank you for the report.
However, I must say that the wsrep_notify script that's shipped with PXC package is only an example one, and you can actually write your custom one or just change the example one.
The wsrep_notify_cmd option itself works just fine with pxc_strict_mode, and the problem is only with the MEMORY SE not allowed in that mode, which the example script uses.
A quick test on the functionality itself:
mysql> select @@version,@@pxc_strict_mode,@@wsrep_notify_cmd;
---------------------------------------------------------
@@version | @@pxc_strict_mode | @@wsrep_notify_cmd |
---------------------------------------------------------
5.7.18-15-57-log | ENFORCING | /tmp/notify.sh |
---------------------------------------------------------
1 row in set (0.00 sec)
[root@11310f5a0bf9 /]# cat /tmp/notify.sh
#!/bin/sh -eu
echo $# >> /tmp/notify.log
[root@11310f5a0bf9 /]# cat /tmp/notify.log
10
2
10
So, all you have to do is to use another script, or rewrite the current one. In this place, I would NOT recommend to change the example script to use InnoDB tables instead, as it would introduce data inconsistency in the nodes, due to disabled replication in the function used.
Instead, I would rather drop the idea of using DB tables there, and either use local files or update external monitoring DB instance maybe.
Having said that, I am marking this one as a feature request, as it would be good to provide example notify script that works with pxc_strict_mode.
Details
Details
Assignee
Reporter

**Reported in Launchpad by Dan Tucny last update 30-06-2017 10:17:41
Server version: 5.7.17-11-57-log Percona XtraDB Cluster (GPL), Release rel11, Revision e2a7fdd, WSREP version 27.20, wsrep_27.20
The included wsrep_notify script fails when using pxc_strict_mode.
While the script tries to create it's tables in memory after setting wsrep_on=0 to avoid replication, pxc_strict_mode catches and blocks this throwing the following:
"WSREP: Percona-XtraDB-Cluster prohibits use of DML command on a table (wsrep.membership) that resides in non-transactional storage engine with pxc_strict_mode = ENFORCING or MASTER"