[openstack-dev] [all][oslo.db][nova] TL; DR Things everybody should know about Galera
Angus Lees
gus at inodes.org
Fri Feb 6 01:04:11 UTC 2015
On Fri Feb 06 2015 at 4:25:43 AM Clint Byrum <clint at fewbar.com> wrote:
>
> In a single thread, using a single database session, then a read after
> successful commit is guaranteed to read a version of the database
> that existed after that commit.
>
Ah, I'm relieved to hear this clarification - thanks.
I'd like to see actual examples where that will matter. Meanwhile making
> all selects wait for the cluster will basically just ruin responsiveness
> and waste tons of time, so we should be careful to think this through
> before making any blanket policy.
>
Matthew's example earlier in the thread is simply a user issuing two
related commands in succession:
$ nova aggregate-create
$ nova aggregate-details
Once that fails a few times, the user will put a poorly commented "sleep 2"
in between the two statements, and this will "fix" the problem most of the
time. A "better" fix would repeat the aggregate-details query multiple
times until it looks like it has found the previous create.
Now, that sleep or poll is of course a poor version of something you could
do at a lower level, by waiting for reads+writes to propagate to a majority
quorum.
I'd also like to see consideration given to systems that handle
> distributed consistency in a more active manner. etcd and Zookeeper are
> both such systems, and might serve as efficient guards for critical
> sections without raising latency.
>
+1 for moving to such systems. Then we can have a repeat of the above
conversation without the added complications of SQL semantics ;)
- Gus
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openstack.org/pipermail/openstack-dev/attachments/20150206/53642c57/attachment.html>
More information about the OpenStack-dev
mailing list