We just upgraded to MariaDB 10.6.13 and started getting failures with locks on the entry table - failed to acquire.
Trying this manually, the server returns an error that GET_LOCK is not implemented for a cluster. I'm not sure if it never worked and they are just now returning an error if in galera cluster configuration, or if something is now broken in 10.6.13 and it worked previously.
At any rate, I've temporarily worked around the problem with adding a return true at the start of mutex_lock and mutex_unlock in DB_mysql.php. That probably isn't ideal, but we can't drop the cluster configuration. What are the ramifications of leaving it this way and just relying on begin/end/rollback transaction processing - other than there is a possibility that two people editing the same thing will get confusing results.
I'm sure most of your users aren't using a database cluster, but thought you should be aware that there is at least a new issue. As far as I know the DB update was the only change between working for years and failing. We've been looking at mariadb 10.11 as well, but haven't made that transition yet. Perhaps the functionality is added by then, but it's a more drastic step.
MRBS codebase is 1.10.0 which is old, I know.
Thanks. Looking at the Galera documentation I don't think the problem goes away with MariaDB 10.11 and the latest MRBS code still uses GET_LOCK. The change you have made is probably the best you can do for the moment. The most likely problem is with database sessions. I'll have a think about a proper fix.
Looks like they reverted the GET_LOCK/RELEASE_LOCK error return in 10.6.14.
Is that appearing in some release notes somewhere? The known limitations page is still saying that GET_LOCK is not supported.
I've managed to remove all the instances but one of the use of GET_LOCK by MRBS. The last one, in the custom DB session handler, is proving more difficult to remove safely, but I'm still puzzling slowly over it.
https://mariadb.com/kb/en/mariadb-10-6-14-release-notes/
last item says Revert "MDEV-30473 : Do not allow GET_LOCK() / RELEASE_LOCK() in cluster"
Optimizer¶
As I understand it 10.16.13 introduced more severe error reporting when GET_LOCK was used and this was reverted in 10.16.14. However the use of GET_LOCK is still unsupported.
That would be my understanding as well, and if you can eliminate them completely, that would be great. Just was letting you know that at least it was at least failing silently again.