On 12/08/2015 07:28 AM, Renat Akhmerov wrote: > Hi, > > Moshe, thanks a lot for bringing this up. I remember I tried to find a > way to change isolation level per connection but also was unable to do that.
Current SQLAlchemy has a lot of isolation level options. There is a complete guide to doing this from an ORM perspective at http://docs.sqlalchemy.org/en/rel_1_0/orm/session_transaction.html#setting-transaction-isolation-levels. On a per-connection basis, you would use the isolation_level execution option. An example of how to integrate this into Session usage is in this section at http://docs.sqlalchemy.org/en/rel_1_0/orm/session_transaction.html#setting-isolation-for-individual-sessions. In oslo.db, there's no engine-wide isolation level setting available, however when the engine is returned from the oslo.db version of create_engine, you can immediately get a copy of that engine with the isolation_level option set by calling: engine = oslo_db.create_engine(...) engine = engine.execution_options(isolation_level='READ_COMMITTED') The future of oslo.db is oriented around the upgraded "enginefacade" API. Adding isolation hooks to this new API is a TODO, but is straightforward; if you're using the new enginefacade API, I can expedite having the appropriate hooks added in. Please pull me in directly on any launchpads / gerrits you have where isolation level is not doing what you'd like, thanks! > > An advice from oslo team would be very helpful. > > Renat Akhmerov > @ Mirantis Inc. > > > >> On 08 Dec 2015, at 13:41, ELISHA, Moshe (Moshe) >> <moshe.eli...@alcatel-lucent.com >> <mailto:moshe.eli...@alcatel-lucent.com>> wrote: >> >> Hi, >> >> We at Mistral want to move from the default transaction isolation >> level of REPEATABLE READ to READ COMMITTED as part of a bugfix[1]. >> >> I did not find a way to pass the isolation level to sqlachemy using >> oslo.db and the current solution is to use monkey-patching[2] that >> adds the “isolation_level” property. >> >> Is there currently a better way to set the default isolation level? >> If not – I will create a BP for it. >> >> Thanks. >> >> [1] https://review.openstack.org/#/c/253819 >> [2] https://review.openstack.org/#/c/253819/11/mistral/db/sqlalchemy/base.py >> >> __________________________________________________________________________ >> OpenStack Development Mailing List (not for usage questions) >> Unsubscribe: openstack-dev-requ...@lists.openstack.org >> <mailto: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