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

Reply via email to