Shiv, Lucian, all, It's a known limitation for all available MySQL clustering solutions such as Galera, Percona XtraDB, Innodb Cluster that GET_LOCK [1] isn't supported [2][3]. The GET_LOCK is used by CloudStack for global locking critical code when more than one management server(s) are running against the same database/server.
(MySQL NDB, InnoDB cluster could be something to experiment, as well as, coming up with a locking service framework which could help get around the mysql/native get_lock limitations). [1] https://dev.mysql.com/doc/refman/8.0/en/locking-functions.html#:~:text=MySQL%20enforces%20a%20maximum%20length,lock%20with%20the%20same%20name. [2] https://mariadb.com/kb/en/mariadb-galera-cluster-known-limitations/ [3] https://docs.percona.com/percona-xtradb-cluster/8.0/limitation.html Regards. ________________________________ From: Nux <n...@li.nux.ro> Sent: Tuesday, August 22, 2023 20:12 To: d...@cloudstack.apache.org <d...@cloudstack.apache.org> Cc: users@cloudstack.apache.org <users@cloudstack.apache.org>; K B Shiv Kumar <s...@indiqus.com.invalid> Subject: Re: [Consultation] Remove DB HA feature (db.ha.enabled) But what do you think of the removal of DB HA code? When using Galera you need to query against a single node, don't spread the load among all 3, as this will break certain locking functionality in Cloudstack and lead to problems. In a Haproxy configuration you should be keeping just one active, eg: server galera1 10.0.3.2:3306 check server galera2 10.0.3.3:3306 check backup server galera3 10.0.3.4:3306 check backup Regards On 2023-08-22 15:36, K B Shiv Kumar wrote: > We faced some issues when running Galera. We went back to master slave. > > Anyone using Galera in production for a long time? > > Regards, > Shiv > > > On 22-Aug-2023, at 19:34, Nux <n...@li.nux.ro> wrote: >> >> Happy to contribute a doc on how to achieve HA if we decide to remove >> this. >> >> Thanks >> >> On 2023-08-22 15:01, Rohit Yadav wrote: >>> +1 it's a broken feature that at least doesn't work with MySQL 8.x, >>> I'm not sure if it worked with prior versions of MySQL. However, we >>> need to document some sort of suggested MySQL HA setup in our docs. >>> Regards. >>> ________________________________ >>> From: Nux <n...@li.nux.ro> >>> Sent: Tuesday, August 22, 2023 18:54 >>> To: users@cloudstack.apache.org <users@cloudstack.apache.org>; Dev >>> <d...@cloudstack.apache.org> >>> Subject: [Consultation] Remove DB HA feature (db.ha.enabled) >>> Hello everyone, >>> A few weeks ago I asked you if you use or managed to use the DB HA >>> Cloudstack feature (db.ha.enabled)[1] and after reading some of the >>> replies and doing intensive testing myself I have found out that the >>> feature is indeed non-functional, it's broken. >>> In my testing I discovered DB HA can easily be done outside of >>> Cloudstack by employing load balancers and other techniques. >>> Personally I have achieved that by using Haproxy in front of Galera >>> cluster, but also introduced Keepalived (vrrp) in my setup to >>> "balance" >>> multiple Haproxies which also worked well. >>> As such, since the feature is basically broken, it will not be >>> trivial >>> to fix it and there are better ways of doing HA, then I propose to >>> remove it altogether. >>> Thoughts? Anyone against it? >>> Cheers >>> [1] - >>> https://docs.cloudstack.apache.org/en/latest/adminguide/reliability.html#database-high-availability