[openstack-dev] [kolla][tc] add service discovery, proxysql, vault, fabio and FQDN endpoints
Jay Pipes
jaypipes at gmail.com
Fri Oct 12 23:20:29 UTC 2018
On 10/11/2018 01:08 PM, Zane Bitter wrote:
> On 10/10/18 1:35 PM, Jay Pipes wrote:
>> +tc topic
>>
>> On 10/10/2018 11:49 AM, Fox, Kevin M wrote:
>>> Sorry. Couldn't quite think of the name. I was meaning, openstack
>>> project tags.
>>
>> I think having a tag that indicates the project is no longer using
>> SELECT FOR UPDATE (and thus is safe to use multi-writer Galera) is an
>> excellent idea, Kevin. ++
>
> I would support such a tag, especially if it came with detailed
> instructions on how to audit your code to make sure you are not doing
> this with sqlalchemy. (Bonus points for a flake8 plugin that can be
> enabled in the gate.)
I can contribute to such a tag's documentation, but I don't currently
have the bandwidth to start and shepherd it.
> (One question for clarification: is this actually _required_ to use
> multi-writer Galera? My previous recollection was that it was possible,
> but inefficient, to use SELECT FOR UPDATE safely as long as you wrote a
> lot of boilerplate to restart the transaction if it failed.)
Certainly not. There is just a higher occurrence of the deadlock error
in question when using SELECT FOR UPDATE versus using a compare-and-swap
technique that does things like this:
UPDATE tbl SET field = value, generation = generation + 1
WHERE generation = $expected_generation;
The vast majority of cases I've seen where the deadlock occurred were
during Rally tests, which were just brute-forcing breakage points and
not particularly reflecting a real-world usage pattern.
So, in short, yes, it's perfectly safe and fine to use Galera in a
multi-writer setup from the get-go with most OpenStack projects. It's
just that *some* OpenStack projects of later releases have fewer code
areas that aggravate the aforementioned deadlock conditions with Galera
in multi-writer mode.
Best,
-jay
>> -jay
>>
>>> ________________________________________
>>> From: Jay Pipes [jaypipes at gmail.com]
>>> Sent: Tuesday, October 09, 2018 12:22 PM
>>> To: openstack-dev at lists.openstack.org
>>> Subject: Re: [openstack-dev] [kolla] add service discovery, proxysql,
>>> vault, fabio and FQDN endpoints
>>>
>>> On 10/09/2018 03:10 PM, Fox, Kevin M wrote:
>>>> Oh, this does raise an interesting question... Should such
>>>> information be reported by the projects up to users through labels?
>>>> Something like, "percona_multimaster=safe" Its really difficult for
>>>> folks to know which projects can and can not be used that way
>>>> currently.
>>>
>>> Are you referring to k8s labels/selectors? or are you referring to
>>> project tags (you know, part of that whole Big Tent thing...)?
>>>
>>> -jay
>>>
>>> __________________________________________________________________________
>>>
>>> OpenStack Development Mailing List (not for usage questions)
>>> Unsubscribe:
>>> OpenStack-dev-request at lists.openstack.org?subject:unsubscribe
>>> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
>>>
>>> __________________________________________________________________________
>>>
>>> OpenStack Development Mailing List (not for usage questions)
>>> Unsubscribe:
>>> OpenStack-dev-request at lists.openstack.org?subject:unsubscribe
>>> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
>>>
>>
>> __________________________________________________________________________
>>
>> OpenStack Development Mailing List (not for usage questions)
>> Unsubscribe:
>> OpenStack-dev-request at lists.openstack.org?subject:unsubscribe
>> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
>
>
> __________________________________________________________________________
> OpenStack Development Mailing List (not for usage questions)
> Unsubscribe: OpenStack-dev-request at lists.openstack.org?subject:unsubscribe
> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
More information about the OpenStack-dev
mailing list