RT5 install with Percona XtraDB cluster issue

I’d like to transition/upgrade an existing 4.4.0 install on a standalone server to a new VM with the database hosted in our mysql 5.7 (Percona XtraDB) cluster. For testing purposes, I’ve been able to successfully run
“/opt/rt5/sbin/rt-setup-database --action init” to create a new database in the mysql cluster, but when running /opt/rt5/sbin/rt_server and accessing the website, I get this series of warnings and errors:

[537575] [Tue Oct 13 18:38:44 2020] [warning]: The requested host (127.0.0.1) does NOT match the configured WebDomain (localhost). Perhaps you should Set($WebDomain, ‘127.0.0.1’); in RT_SiteConfig.pm, otherwise your internal hyperlinks may be broken. (/opt/rt5/sbin/…/lib/RT/Interface/Web.pm:1382)
[537575] [Tue Oct 13 18:38:44 2020] [warning]: The requested path (‘’) does NOT match the configured WebPath (/rt). Perhaps you should Set($WebPath, ‘’ in RT_SiteConfig.pm, otherwise your internal hyperlinks may be broken. (/opt/rt5/sbin/…/lib/RT/Interface/Web.pm:1392)
[537575] [Tue Oct 13 18:38:44 2020] [warning]: DBD::mysql::st execute failed: Percona-XtraDB-Cluster prohibits use of GET_LOCK with pxc_strict_mode = ENFORCING at /opt/perl-5.32.0/lib/site_perl/5.32.0/Apache/Session/Lock/MySQL.pm line 54. (/opt/perl-5.32.0/lib/site_perl/5.32.0/Apache/Session/Lock/MySQL.pm:54)
[537575] [Tue Oct 13 18:38:44 2020] [warning]: DBD::mysql::st execute failed: Percona-XtraDB-Cluster prohibits use of GET_LOCK with pxc_strict_mode = ENFORCING at /opt/perl-5.32.0/lib/site_perl/5.32.0/Apache/Session/Lock/MySQL.pm line 54. (/opt/perl-5.32.0/lib/site_perl/5.32.0/Apache/Session/Lock/MySQL.pm:54)
[537575] [Tue Oct 13 18:38:44 2020] [warning]: (in cleanup) DBD::mysql::st execute failed: Percona-XtraDB-Cluster prohibits use of GET_LOCK with pxc_strict_mode = ENFORCING at /opt/perl-5.32.0/lib/site_perl/5.32.0/Apache/Session/Lock/MySQL.pm line 54.

Stack:
[/opt/perl-5.32.0/lib/site_perl/5.32.0/Apache/Session/Lock/MySQL.pm:54]
[/opt/perl-5.32.0/lib/site_perl/5.32.0/Apache/Session/Lock/MySQL.pm:61]
[/opt/perl-5.32.0/lib/site_perl/5.32.0/Apache/Session.pm:598]
[/opt/perl-5.32.0/lib/site_perl/5.32.0/Apache/Session.pm:526]
[/opt/perl-5.32.0/lib/site_perl/5.32.0/Apache/Session.pm:491]
[/opt/perl-5.32.0/lib/site_perl/5.32.0/Apache/Session/Lock/MySQL.pm:54]
[/opt/rt5/sbin/…/lib/RT/Interface/Web/Session.pm:329]
[/opt/rt5/sbin/…/lib/RT/Interface/Web.pm:921]
[/opt/rt5/share/html/Elements/SetupSessionCookie:51]
[/opt/rt5/sbin/…/lib/RT/Interface/Web.pm:306]
[/opt/rt5/share/html/autohandler:53] (/opt/perl-5.32.0/lib/site_perl/5.32.0/Exception/Class/Base.pm:88)
[537575] [Tue Oct 13 18:38:44 2020] [warning]: DBD::mysql::st execute failed: Percona-XtraDB-Cluster prohibits use of GET_LOCK with pxc_strict_mode = ENFORCING at /opt/perl-5.32.0/lib/site_perl/5.32.0/Apache/Session/Lock/MySQL.pm line 54. (/opt/perl-5.32.0/lib/site_perl/5.32.0/Apache/Session/Lock/MySQL.pm:54)
[537575] [Tue Oct 13 18:38:44 2020] [warning]: DBD::mysql::st execute failed: Percona-XtraDB-Cluster prohibits use of GET_LOCK with pxc_strict_mode = ENFORCING at /opt/perl-5.32.0/lib/site_perl/5.32.0/Apache/Session/Lock/MySQL.pm line 54. (/opt/perl-5.32.0/lib/site_perl/5.32.0/Apache/Session/Lock/MySQL.pm:54)
[537575] [Tue Oct 13 18:38:44 2020] [warning]: (in cleanup) DBD::mysql::st execute failed: Percona-XtraDB-Cluster prohibits use of GET_LOCK with pxc_strict_mode = ENFORCING at /opt/perl-5.32.0/lib/site_perl/5.32.0/Apache/Session/Lock/MySQL.pm line 54.

Stack:
[/opt/perl-5.32.0/lib/site_perl/5.32.0/Apache/Session/Lock/MySQL.pm:54]
[/opt/perl-5.32.0/lib/site_perl/5.32.0/Apache/Session/Lock/MySQL.pm:61]
[/opt/perl-5.32.0/lib/site_perl/5.32.0/Apache/Session.pm:598]
[/opt/perl-5.32.0/lib/site_perl/5.32.0/Apache/Session.pm:526]
[/opt/perl-5.32.0/lib/site_perl/5.32.0/Apache/Session.pm:491]
[/opt/perl-5.32.0/lib/site_perl/5.32.0/Apache/Session/Lock/MySQL.pm:54]
[/opt/rt5/sbin/…/lib/RT/Interface/Web/Session.pm:330]
[/opt/rt5/sbin/…/lib/RT/Interface/Web.pm:921]
[/opt/rt5/share/html/Elements/SetupSessionCookie:51]
[/opt/rt5/sbin/…/lib/RT/Interface/Web.pm:306]
[/opt/rt5/share/html/autohandler:53] (/opt/perl-5.32.0/lib/site_perl/5.32.0/Exception/Class/Base.pm:88)
[537575] [Tue Oct 13 18:38:44 2020] [error]: RT couldn’t store your session. This may mean that that the directory ‘/opt/rt5/var/session_data’ isn’t writable or a database table is missing or corrupt.

DBD::mysql::st execute failed: Percona-XtraDB-Cluster prohibits use of GET_LOCK with pxc_strict_mode = ENFORCING at /opt/perl-5.32.0/lib/site_perl/5.32.0/Apache/Session/Lock/MySQL.pm line 54.

Stack:
[/opt/perl-5.32.0/lib/site_perl/5.32.0/Apache/Session/Lock/MySQL.pm:54]
[/opt/perl-5.32.0/lib/site_perl/5.32.0/Apache/Session/Lock/MySQL.pm:61]
[/opt/perl-5.32.0/lib/site_perl/5.32.0/Apache/Session.pm:598]
[/opt/perl-5.32.0/lib/site_perl/5.32.0/Apache/Session.pm:526]
[/opt/perl-5.32.0/lib/site_perl/5.32.0/Apache/Session.pm:426]
[/opt/rt5/sbin/…/lib/RT/Interface/Web/Session.pm:330]
[/opt/rt5/sbin/…/lib/RT/Interface/Web.pm:921]
[/opt/rt5/share/html/Elements/SetupSessionCookie:51]
[/opt/rt5/sbin/…/lib/RT/Interface/Web.pm:306]
[/opt/rt5/share/html/autohandler:53]

Stack:
[/opt/rt5/sbin/…/lib/RT/Interface/Web/Session.pm:332]
[/opt/rt5/sbin/…/lib/RT/Interface/Web.pm:921]
[/opt/rt5/share/html/Elements/SetupSessionCookie:51]
[/opt/rt5/sbin/…/lib/RT/Interface/Web.pm:306]
[/opt/rt5/share/html/autohandler:53] (/opt/rt5/sbin/…/lib/RT/Interface/Web/Handler.pm:209)

Unless I’m mistaken, the main issue seems to be the repeated attempts to use “GET_LOCK” which is prohibited by the cluster (for consistency reasons, I think).

If that’s correct, does anyone have suggestions for a fix/workaround?

Never used a Percona cluster but a quick Google threw up this which might help: Redirecting

Not being able to lock a table in a transactional SQL database system is an… “interesting” design choice.

Unfortunately removing the restriction would put the cluster consistency at risk, so I’m forced to conclude that RT is not compatible with percona extraDB cluster.

Not sure if you still have the problem, but we fixed it by moving session handling out of our percona cluster into redis db.