[openstack-dev] [Fuel] Transaction scheme

Lukasz Oles loles at mirantis.com
Wed May 6 09:15:02 UTC 2015


On Wed, May 6, 2015 at 10:51 AM, Alexander Kislitsky
<akislitsky at mirantis.com> wrote:
> Hi!
>
> The refactoring of transactions management in Nailgun is critically required
> for scaling.
>
> First of all I propose to wrap HTTP handlers by begin/commit/rollback
> decorator.
> After that we should introduce transactions wrapping decorator into Task
> execute/message calls.
> And the last one is the wrapping of receiver calls.
>
> As result we should have begin/commit/rollback calls only in transactions
> decorator.

Big +1 for this. I always wondered why we don't have it.

>

> Also I propose to separate working with DB objects into separate lair and
> use only high level Nailgun objects in the code and tests. This work was
> started long time ago, but not finished yet.
>
> On Thu, Apr 30, 2015 at 12:36 PM, Roman Prykhodchenko <me at romcheg.me> wrote:
>>
>> Hi folks!
>>
>> Recently I faced a pretty sad fact that in Nailgun there’s no common
>> approach to manage transactions. There are commits and flushes in random
>> places of the code and it used to work somehow just because it was all
>> synchronous.
>>
>> However, after just a few of the subcomponents have been moved to
>> different processes, it all started producing races and deadlocks which are
>> really hard to resolve because there is absolutely no way to predict how a
>> specific transaction is managed but by analyzing the source code. That is
>> rather an ineffective and error-prone approach that has to be fixed before
>> it became uncontrollable.
>>
>> Let’s arrange a discussions to design a document which will describe where
>> and how transactions are managed and refactor Nailgun according to it in
>> 7.0. Otherwise results may be sad.
>>
>>
>> - romcheg
>>
>>
>> __________________________________________________________________________
>> OpenStack Development Mailing List (not for usage questions)
>> Unsubscribe: OpenStack-dev-request at 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-request at lists.openstack.org?subject:unsubscribe
> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
>



-- 
Łukasz Oleś



More information about the OpenStack-dev mailing list