[openstack-dev] [all][oslo.db][nova] TL; DR Things everybody should know about Galera

Jay Pipes jaypipes at gmail.com
Tue Feb 10 18:32:11 UTC 2015


On 02/10/2015 06:28 AM, Attila Fazekas wrote:
> ----- Original Message -----
>> From: "Jay Pipes" <jaypipes at gmail.com>
>> To: "Attila Fazekas" <afazekas at redhat.com>, "OpenStack Development Mailing List (not for usage questions)"
>> <openstack-dev at lists.openstack.org>
>> Cc: "Pavel Kholkin" <pkholkin at mirantis.com>
>> Sent: Monday, February 9, 2015 7:15:10 PM
>> Subject: Re: [openstack-dev] [all][oslo.db][nova] TL; DR Things everybody should know about Galera
>>
>> On 02/09/2015 01:02 PM, Attila Fazekas wrote:
>>> I do not see why not to use `FOR UPDATE` even with multi-writer or
>>> Is the retry/swap way really solves anything here.
>> <snip>
>>> Am I missed something ?
>>
>> Yes. Galera does not replicate the (internal to InnnoDB) row-level locks
>> that are needed to support SELECT FOR UPDATE statements across multiple
>> cluster nodes.
>
> Galere does not replicates the row-level locks created by UPDATE/INSERT ...
> So what to do with the UPDATE?

No, Galera replicates the write sets (binary log segments) for 
UPDATE/INSERT/DELETE statements -- the things that actually 
change/add/remove records in DB tables. No locks are replicated, ever.

> Why should I handle the FOR UPDATE differently?

Because SELECT FOR UPDATE doesn't change any rows, and therefore does 
not trigger any replication event in Galera.

See here:

http://www.percona.com/blog/2014/09/11/openstack-users-shed-light-on-percona-xtradb-cluster-deadlock-issues/

-jay

>> https://groups.google.com/forum/#!msg/codership-team/Au1jVFKQv8o/QYV_Z_t5YAEJ
>>
>> Best,
>> -jay
>>



More information about the OpenStack-dev mailing list