[openstack-dev] [oslo] Issues with POSIX semaphores and other locks in lockutils

Doug Hellmann doug at doughellmann.com
Thu Aug 21 12:57:39 UTC 2014


+1 to going back to file locks, too. We can keep the current scheme under a different API in the module for anyone that wants to use it explicitly, but I think at this point it’s better to have something that works reliably when configured properly as the default.

I hope we can switch that to tooz/zookeeper in a future release, but we’ll need some more discussion before making that change.

Doug

On Aug 20, 2014, at 3:29 PM, Davanum Srinivas <davanum at gmail.com> wrote:

> Ben, +1 to the plan you outlined.
> 
> -- dims
> 
> On Wed, Aug 20, 2014 at 4:13 PM, Ben Nemec <openstack at nemebean.com> wrote:
>> On 08/20/2014 01:03 PM, Vishvananda Ishaya wrote:
>>> This may be slightly off-topic but it is worth mentioning that the use of threading.Lock[1]
>>> which was included to make the locks thread safe seems to be leading to a deadlock in eventlet[2].
>>> It seems like we have rewritten this too many times in order to fix minor pain points and are
>>> adding risk to a very important component of the system.
>>> 
>>> [1] https://review.openstack.org/#/c/54581
>>> [2] https://bugs.launchpad.net/nova/+bug/1349452
>> 
>> This is pretty much why I'm pushing to just revert to the file locking
>> behavior we had up until a couple of months ago, rather than
>> implementing some new shiny lock thing that will probably cause more
>> subtle issues in the consuming projects.  It's become clear to me that
>> lockutils is too deeply embedded in the other projects, and there are
>> too many implementation details that they rely on, to make significant
>> changes to its default code path.
>> 
>>> 
>>> On Aug 18, 2014, at 2:05 PM, Pádraig Brady <P at draigBrady.com> wrote:
>>> 
>>>> On 08/18/2014 03:38 PM, Julien Danjou wrote:
>>>>> On Thu, Aug 14 2014, Yuriy Taraday wrote:
>>>>> 
>>>>> Hi Yuriy,
>>>>> 
>>>>> […]
>>>>> 
>>>>>> Looking forward to your opinions.
>>>>> 
>>>>> This looks like a good summary of the situation.
>>>>> 
>>>>> I've added a solution E based on pthread, but didn't get very far about
>>>>> it for now.
>>>> 
>>>> In my experience I would just go with the fcntl locks.
>>>> They're auto unlocked and well supported, and importantly,
>>>> supported for distributed processes.
>>>> 
>>>> I'm not sure how problematic the lock_path config is TBH.
>>>> That is adjusted automatically in certain cases where needed anyway.
>>>> 
>>>> Pádraig.
>>>> 
>>>> _______________________________________________
>>>> OpenStack-dev mailing list
>>>> OpenStack-dev at lists.openstack.org
>>>> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
>>> 
>>> 
>>> 
>>> _______________________________________________
>>> OpenStack-dev mailing list
>>> OpenStack-dev at lists.openstack.org
>>> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
>>> 
>> 
>> 
>> _______________________________________________
>> OpenStack-dev mailing list
>> OpenStack-dev at lists.openstack.org
>> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
> 
> 
> 
> -- 
> Davanum Srinivas :: http://davanum.wordpress.com
> 
> _______________________________________________
> OpenStack-dev mailing list
> OpenStack-dev at lists.openstack.org
> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev




More information about the OpenStack-dev mailing list