[openstack-dev] [all] [oslo] Proposed database connectivity patterns

Mike Bayer mbayer at redhat.com
Fri Oct 10 16:19:43 UTC 2014


On Oct 10, 2014, at 11:41 AM, Mike Bayer <mbayer at redhat.com> wrote:

> I’ve been asking a lot about “hey are people cool with thread locals?” and have been waiting for what the concerns are.    
> 
> Since I wrote that email I’ve shifted, and I’ve been considering only:
> 
> @sql.reader
> def my_api_method(context, …):
>   context.session
> 
> def my_api_method(context, …):
>  with sql.using_reader(context) as session:
>    session , context.session
> 
> because in fact, if you *want* to use a thread local context, you can, explicitly with the above:
> 
> GLOBAL_CONTEXT = threading.local()
> 
> def my_api_method(…):
>  with sql.using_reader(GLOBAL_CONTEXT) as session:
>    session 
> 
> I like that one the best.  But again, Keystone folks would need to accept this explicitness.
> 
> The challenge on my end is not technical in any way.  It’s getting every project to agree on a single approach and not getting bogged down with idealistics (like, “let’s build a dependency injection framework!”).    Because this “everyone does it their own way” thing is crazy and has to stop.

I’ve now pushed these changes, as well as a summation of all the alternatives so far, to the latest release.  See https://review.openstack.org/#/c/125181/.





More information about the OpenStack-dev mailing list