Change the default MySQL backend transaction isolation level to the READ-COMMITED

Bug #1438107 reported by Bogdan Dobrelya
12
This bug affects 2 people
Affects Status Importance Assigned to Milestone
Mirantis OpenStack
Opinion
Wishlist
MOS Oslo
8.0.x
Won't Fix
Wishlist
MOS Oslo
9.x
Opinion
Wishlist
MOS Oslo

Bug Description

A quote from http://lists.openstack.org/pipermail/openstack-dev/2015-February/056245.html :

MySQL uses repeatable read for transactions by default. Postgres uses read committed by default, and
SQLite uses serializable. We (note: Oslo.db) don't set the isolation level explicitly
anywhere, so our applications are running under different isolation
levels depending on backend.

Fuel should configure the MySQL transaction_isolation=READ-COMMITTED as it looks that this mode is implicit for backends by Oslo.db because it is a standard for DB transations.

Changed in fuel:
milestone: none → 6.1
importance: Undecided → Medium
description: updated
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to fuel-library (master)

Fix proposed to branch: master
Review: https://review.openstack.org/168842

Changed in fuel:
assignee: nobody → Bogdan Dobrelya (bogdando)
status: New → In Progress
tags: added: to-be-covered-by-tests
Revision history for this message
Jay Pipes (jaypipes) wrote :

Bogdan, I don't believe this is a bug. I have seen no evidence (including the ML post referenced in the patch comments above) that the default MySQL transaction isolation level needs to be changed.

Changed in fuel:
status: In Progress → Won't Fix
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Change abandoned on fuel-library (master)

Change abandoned by Bogdan Dobrelya (<email address hidden>) on branch: master
Review: https://review.openstack.org/168842

no longer affects: fuel/6.1.x
Revision history for this message
Bogdan Dobrelya (bogdando) wrote :

This bug is valid I believe. Please read https://aphyr.com/posts/313-strong-consistency-models carefully. According to https://aphyr.com/data/posts/313/family-tree.jpg , MySQL's RR default isolation level is in "red zone" and cannot guarantee a fully AP system.

Although I'm not sure, could this change be made for CM side only. Perhaps Oslo.DB side should also be adjusted to rely on RC isolation layer. Does it assume default RR for transactions is good enough? Or does it rely only on RC guarantees and uses DLM for higher levels of consistency guarantees, for example? Anyway, the decision for CM can be made only after these questions answered.

Changed in mos:
milestone: none → 8.0
importance: Undecided → High
assignee: nobody → MOS Oslo (mos-oslo)
Revision history for this message
Bogdan Dobrelya (bogdando) wrote :

According to http://lists.openstack.org/pipermail/openstack-dev/2015-February/056245.html there are few places there RR is assumed in the code. I believe this is a major Oslo.db architecture issue. RC should be the only assumption everythere. Very strange that that mail thread got no responces. No one cares?

Revision history for this message
Eugene Nikanorov (enikanorov) wrote :

RR is assumed everywhere, in fact.

Changing default Tx isolation level is a big deal and should not be any kind of downstream effort.

Changed in mos:
status: New → Opinion
Dmitry Pyzhov (dpyzhov)
tags: added: area-mos
Dmitry Pyzhov (dpyzhov)
tags: added: area-library
removed: area-mos
tags: added: enhancement
Changed in mos:
importance: High → Wishlist
Revision history for this message
Bogdan Dobrelya (bogdando) wrote :

Agreed, this cannot be fixed downstream

tags: added: area-mos
Dmitry Pyzhov (dpyzhov)
tags: removed: area-library
Dmitry Pyzhov (dpyzhov)
Changed in fuel:
assignee: Bogdan Dobrelya (bogdando) → Fuel Library Team (fuel-library)
milestone: 6.1 → 8.0
status: Won't Fix → Opinion
no longer affects: fuel
no longer affects: fuel/7.0.x
no longer affects: fuel/8.0.x
Revision history for this message
Roman Podoliaka (rpodolyaka) wrote :

We no longer fix bugs with Importance lower than High in 8.0, closing as Won't Fix.

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.