Re: ShoppingCart has very bad locking

Posted by Adam Heath-2 on
URL: http://ofbiz.116.s1.nabble.com/ShoppingCart-has-very-bad-locking-tp1591136p1591261.html

Adrian Crum wrote:

> --- On Fri, 3/12/10, Adam Heath <[hidden email]> wrote:
>> Adrian Crum wrote:
>>> --- On Fri, 3/12/10, Adam Heath <[hidden email]>
>> wrote:
>>>> Search for synchronized in
>>>> ShoppingCart.  You'll fine a couple of
>>>> spots that lock on cartLines, a few that lock in
>> the class
>>>> instance
>>>> itself.  But then no other hits.
>>>>
>>>> However, tons of internal variables all need to be
>> kept
>>>> self-consistent with each other, so locking
>> against just
>>>> one or the
>>>> other of those variables won't work.
>>> These same problems exist in a number of classes - not
>> just the shopping cart (take a look at SequenceUtil for some
>> really scary code). That's why I suggested a synchronization
>> best practices page that the community can follow.
>>
>> I have looked at SequenceUtil, and have a version lying
>> around that is
>> non-blocking.  I need to pull that out of the attic,
>> and put it in my
>> staging tree, and run with it for a while.
>
> It would be cool if you could send it to me. I can get SequenceUtil to break fairly easily with my multi-threaded data loading modification - so I think it would be a good test for your code.

Was it an exception?  What kind of error was it?