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 [jaypi...@gmail.com]
Sent: Tuesday, October 09, 2018 12:22 PM
To: openstack-dev@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-requ...@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-requ...@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-requ...@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-requ...@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-requ...@lists.openstack.org?subject:unsubscribe
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev