[ 
https://issues.apache.org/jira/browse/OFBIZ-3557?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12917533#action_12917533
 ] 

Aleksey Fedorchenko commented on OFBIZ-3557:
--------------------------------------------

Adrian,

It seems I have not understand your vision properly, sorry. As for me, it is 
not possible as those getNextXXXId methods located in the different services, 
they have different body and they are in use in different locations over the 
system (I found no intersections in the tree of dependencies from those 
methods). From my standpoint my fix is the only quick-n-dirty solution for the 
problem. At least, our production servers are telling me about this -- problem 
has gone.

Could you please set me an example implementation of your idea? Even the pseudo 
code would be acceptable in this case.

Thanks!

> Enforced sequence does not work with concurrent access
> ------------------------------------------------------
>
>                 Key: OFBIZ-3557
>                 URL: https://issues.apache.org/jira/browse/OFBIZ-3557
>             Project: OFBiz
>          Issue Type: Bug
>          Components: framework
>    Affects Versions: Release Branch 09.04, SVN trunk
>            Reporter: Wickersheimer Jeremy
>         Attachments: OFBIZ-3557-1.patch, OFBIZ-3557-2.patch
>
>
> There is a fundamental issue with enforced sequences (for orders, invoices, 
> etc ..) and concurrency.
> For example if two users are creating an order at the same time one of them 
> will see the creation fail with a PK error. The problem is that the 
> "getNextXXXId" rely on the party accounting preference entity, but there is 
> absolutely no guarantee that the last number in the sequence gets updated 
> before another service can read it.
> This is at best very annoying when used only internally but may be 
> unpractical for e-commerce sites.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to