Multiple Fulfillment messges

152 views
Skip to first unread message

Neeraj

unread,
May 23, 2008, 12:36:02 PM5/23/08
to ATG_Tech
Hi All,

I am facing a strange problem during fulfillment of the order. I am
gettign the FulfillOrderFragment.TYPE messgae multiple times during
the fulfillment.
In other case when it does not receive mltiple messages , it is
throwing the error as attached. I am sending the order email during
the fulfillment and then updating the shipping group state to
NO_PENDING_ACTION.

Request a suggestion. thanks.

********* shippingGroupIds : [Ljava.lang.String;@4a85bc

********* shippingGroup :
ShippingGroup Name: electronicShippingGroup Id: sg85970015, state
= 1
Quantity = 2
CommerceItem[id:ci4963000006; catalogRefId:sku66980003;
catalogKey:en_GB; quantity:2; state:INITIAL]
********* PhonecardFulfiller: processStatesAfterFulfilment :

ShippingGroup Name: electronicShippingGroup Id: sg85970015, state
= 1
Quantity = 2
CommerceItem[id:ci4963000006; catalogRefId:sku66980003;
catalogKey:en_GB; quantity:2; state:INITIAL]

**** Error Fri May 23 10:17:16 BST 2008 1211534236120 /atg/
commerce/fulfillment/OrderFulfiller ---
CONTAINER:atg.commerce.CommerceException;
SOURCE:CONTAINER:atg.service.pipeline.RunProcessException: An
exception was thrown from the context of the link named
[updateOrderObject].; SOURCE:CONTAINER:atg.commerce.CommerceException:
Saving order PO12160009 failed because doing so would result in data
being overwritten. This save attempt had an out of date repository
item [poOrder].; SOURCE:atg.repository.ConcurrentUpdateException: no
rows updated oldVersion=11 for item=poOrder:PO12160009
**** Error Fri May 23 10:17:16 BST 2008 1211534236120 /atg/
commerce/fulfillment/OrderFulfiller at
atg.commerce.order.OrderManager.updateOrder(OrderManager.java:2484)
**** Error Fri May 23 10:17:16 BST 2008 1211534236120 /atg/
commerce/fulfillment/OrderFulfiller at
atg.commerce.fulfillment.processor.ProcUpdateOrderRepository.runProcess(ProcUpdateOrderRepository.java:
99)
**** Error Fri May 23 10:17:16 BST 2008 1211534236120 /atg/
commerce/fulfillment/OrderFulfiller at
atg.service.pipeline.PipelineLink.runProcess(PipelineLink.java:231)
**** Error Fri May 23 10:17:16 BST 2008 1211534236120 /atg/
commerce/fulfillment/OrderFulfiller at
atg.service.pipeline.PipelineChain.runProcess(PipelineChain.java:342)
**** Error Fri May 23 10:17:16 BST 2008 1211534236120 /atg/
commerce/fulfillment/OrderFulfiller at
atg.service.pipeline.PipelineChainContext.runProcess(PipelineChainContext.java:
184)
**** Error Fri May 23 10:17:16 BST 2008 1211534236120 /atg/
commerce/fulfillment/OrderFulfiller at
atg.service.pipeline.PipelineManager.runProcess(PipelineManager.java:
452)
**** Error Fri May 23 10:17:16 BST 2008 1211534236120 /atg/
commerce/fulfillment/OrderFulfiller at
atg.commerce.fulfillment.OrderFulfillerModificationHandler.handleModifyOrderNotification(OrderFulfillerModificationHandler.java:
228)
**** Error Fri May 23 10:17:16 BST 2008 1211534236120 /atg/
commerce/fulfillment/OrderFulfiller at
atg.commerce.fulfillment.OrderFulfiller.receiveMessage(OrderFulfiller.java:
314)
**** Error Fri May 23 10:17:16 BST 2008 1211534236120 /atg/
commerce/fulfillment/OrderFulfiller at
atg.dms.patchbay.ElementManager.deliverMessage(ElementManager.java:
252)
**** Error Fri May 23 10:17:16 BST 2008 1211534236120 /atg/
commerce/fulfillment/OrderFulfiller ....stack trace CROPPED
after 10 lines.
**** Error Fri May 23 10:17:16 BST 2008 1211534236120 /atg/
commerce/fulfillment/OrderFulfiller NESTED EXCEPTION
#1:CONTAINER:atg.service.pipeline.RunProcessException: An exception
was thrown from the context of the link named [updateOrderObject].;
SOURCE:CONTAINER:atg.commerce.CommerceException: Saving order
PO12160009 failed because doing so would result in data being
overwritten. This save attempt had an out of date repository item
[poOrder].; SOURCE:atg.repository.ConcurrentUpdateException: no rows
updated oldVersion=11 for item=poOrder:PO12160009
**** Error Fri May 23 10:17:16 BST 2008 1211534236120 /atg/
commerce/fulfillment/OrderFulfiller at
atg.service.pipeline.PipelineChain.runProcess(PipelineChain.java:370)
**** Error Fri May 23 10:17:16 BST 2008 1211534236120 /atg/
commerce/fulfillment/OrderFulfiller at
atg.service.pipeline.PipelineChainContext.runProcess(PipelineChainContext.java:
184)
**** Error Fri May 23 10:17:16 BST 2008 1211534236120 /atg/
commerce/fulfillment/OrderFulfiller at
atg.service.pipeline.PipelineManager.runProcess(PipelineManager.java:
452)
**** Error Fri May 23 10:17:16 BST 2008 1211534236120 /atg/
commerce/fulfillment/OrderFulfiller at
atg.commerce.order.OrderManager.updateOrder(OrderManager.java:2481)
**** Error Fri May 23 10:17:16 BST 2008 1211534236120 /atg/
commerce/fulfillment/OrderFulfiller at
atg.commerce.fulfillment.processor.ProcUpdateOrderRepository.runProcess(ProcUpdateOrderRepository.java:
99)
**** Error Fri May 23 10:17:16 BST 2008 1211534236120 /atg/
commerce/fulfillment/OrderFulfiller at
atg.service.pipeline.PipelineLink.runProcess(PipelineLink.java:231)
**** Error Fri May 23 10:17:16 BST 2008 1211534236120 /atg/
commerce/fulfillment/OrderFulfiller at
atg.service.pipeline.PipelineChain.runProcess(PipelineChain.java:342)
**** Error Fri May 23 10:17:16 BST 2008 1211534236120 /atg/
commerce/fulfillment/OrderFulfiller at
atg.service.pipeline.PipelineChainContext.runProcess(PipelineChainContext.java:
184)
**** Error Fri May 23 10:17:16 BST 2008 1211534236120 /atg/
commerce/fulfillment/OrderFulfiller at
atg.service.pipeline.PipelineManager.runProcess(PipelineManager.java:
452)
**** Error Fri May 23 10:17:16 BST 2008 1211534236120 /atg/
commerce/fulfillment/OrderFulfiller ....stack trace CROPPED
after 10 lines.
**** Error Fri May 23 10:17:16 BST 2008 1211534236120 /atg/
commerce/fulfillment/OrderFulfiller NESTED EXCEPTION
#2:CONTAINER:atg.commerce.CommerceException: Saving order PO12160009
failed because doing so would result in data being overwritten. This
save attempt had an out of date repository item [poOrder].;
SOURCE:atg.repository.ConcurrentUpdateException: no rows updated
oldVersion=11 for item=poOrder:PO12160009
**** Error Fri May 23 10:17:16 BST 2008 1211534236120 /atg/
commerce/fulfillment/OrderFulfiller at
atg.commerce.order.processor.ProcSaveOrderObject.runProcess(ProcSaveOrderObject.java:
183)
**** Error Fri May 23 10:17:16 BST 2008 1211534236120 /atg/
commerce/fulfillment/OrderFulfiller at
atg.service.pipeline.PipelineLink.runProcess(PipelineLink.java:231)
**** Error Fri May 23 10:17:16 BST 2008 1211534236120 /atg/
commerce/fulfillment/OrderFulfiller at
atg.service.pipeline.PipelineChain.runProcess(PipelineChain.java:342)
**** Error Fri May 23 10:17:16 BST 2008 1211534236120 /atg/
commerce/fulfillment/OrderFulfiller at
atg.service.pipeline.PipelineChainContext.runProcess(PipelineChainContext.java:
184)
**** Error Fri May 23 10:17:16 BST 2008 1211534236120 /atg/
commerce/fulfillment/OrderFulfiller at
atg.service.pipeline.PipelineManager.runProcess(PipelineManager.java:
452)
**** Error Fri May 23 10:17:16 BST 2008 1211534236120 /atg/
commerce/fulfillment/OrderFulfiller at
atg.commerce.order.OrderManager.updateOrder(OrderManager.java:2481)
**** Error Fri May 23 10:17:16 BST 2008 1211534236120 /atg/
commerce/fulfillment/OrderFulfiller at
atg.commerce.fulfillment.processor.ProcUpdateOrderRepository.runProcess(ProcUpdateOrderRepository.java:
99)
**** Error Fri May 23 10:17:16 BST 2008 1211534236120 /atg/
commerce/fulfillment/OrderFulfiller at
atg.service.pipeline.PipelineLink.runProcess(PipelineLink.java:231)
**** Error Fri May 23 10:17:16 BST 2008 1211534236120 /atg/
commerce/fulfillment/OrderFulfiller at
atg.service.pipeline.PipelineChain.runProcess(PipelineChain.java:342)
**** Error Fri May 23 10:17:16 BST 2008 1211534236120 /atg/
commerce/fulfillment/OrderFulfiller ....stack trace CROPPED
after 10 lines.
**** Error Fri May 23 10:17:16 BST 2008 1211534236120 /atg/
commerce/fulfillment/OrderFulfiller NESTED EXCEPTION
#3:atg.repository.ConcurrentUpdateException: no rows updated
oldVersion=11 for item=poOrder:PO12160009
**** Error Fri May 23 10:17:16 BST 2008 1211534236120 /atg/
commerce/fulfillment/OrderFulfiller at
atg.adapter.gsa.GSAItemDescriptor.updateItem(GSAItemDescriptor.java:
5284)
**** Error Fri May 23 10:17:16 BST 2008 1211534236120 /atg/
commerce/fulfillment/OrderFulfiller at
atg.adapter.gsa.GSARepository.updateItem(GSARepository.java:780)
**** Error Fri May 23 10:17:16 BST 2008 1211534236120 /atg/
commerce/fulfillment/OrderFulfiller at
atg.commerce.order.processor.ProcSaveOrderObject.runProcess(ProcSaveOrderObject.java:
179)
**** Error Fri May 23 10:17:16 BST 2008 1211534236120 /atg/
commerce/fulfillment/OrderFulfiller at
atg.service.pipeline.PipelineLink.runProcess(PipelineLink.java:231)
**** Error Fri May 23 10:17:16 BST 2008 1211534236120 /atg/
commerce/fulfillment/OrderFulfiller at
atg.service.pipeline.PipelineChain.runProcess(PipelineChain.java:342)
**** Error Fri May 23 10:17:16 BST 2008 1211534236120 /atg/
commerce/fulfillment/OrderFulfiller at
atg.service.pipeline.PipelineChainContext.runProcess(PipelineChainContext.java:
184)
**** Error Fri May 23 10:17:16 BST 2008 1211534236120 /atg/
commerce/fulfillment/OrderFulfiller at
atg.service.pipeline.PipelineManager.runProcess(PipelineManager.java:
452)
**** Error Fri May 23 10:17:16 BST 2008 1211534236120 /atg/
commerce/fulfillment/OrderFulfiller at
atg.commerce.order.OrderManager.updateOrder(OrderManager.java:2481)
**** Error Fri May 23 10:17:16 BST 2008 1211534236120 /atg/
commerce/fulfillment/OrderFulfiller at
atg.commerce.fulfillment.processor.ProcUpdateOrderRepository.runProcess(ProcUpdateOrderRepository.java:
99)
**** Error Fri May 23 10:17:16 BST 2008 1211534236120 /atg/
commerce/fulfillment/OrderFulfiller ....stack trace CROPPED
after 10 lines.
**** Error Fri May 23 10:17:16 BST 2008 1211534236120 /atg/
commerce/fulfillment/OrderFulfiller

Naga

unread,
May 23, 2008, 1:56:27 PM5/23/08
to atg_...@googlegroups.com
ConcurrentUpdateException happens when two Servers are running with Fulfillment module pointing to the same Database. Check if thats the case..In any ATG Cluster you should only have one server/node that runs the Fulfillment module...please chech ATG documents for details

Naga
--
http://www.linkedin.com/in/nagarajanseshadri

Neeraj

unread,
May 23, 2008, 2:22:32 PM5/23/08
to ATG_Tech
thanks, i will check this and pass on the results.
Just to check, if I have multiple modules which have entries for
Fulfillment as required modules in meta-inf, will that be an issue ?

On May 23, 6:56 pm, Naga <a.s.nagara...@gmail.com> wrote:
> ConcurrentUpdateException happens when two Servers are running with
> Fulfillment module pointing to the same Database. Check if thats the
> case..In any ATG Cluster you should only have one server/node that runs the
> Fulfillment module...please chech ATG documents for details
>
> Naga
>
> ...
>
> read more »

Naga

unread,
May 23, 2008, 3:59:46 PM5/23/08
to atg_...@googlegroups.com
Yes...if fulfillment related components are going to start in both servers that itself is a mistake.
It doesnt matter as to whether it is in runAssembler or -Datg.dynamo.modules or it is in ATG-Required.

Naga
--
http://www.linkedin.com/in/nagarajanseshadri

Neeraj

unread,
May 27, 2008, 4:08:46 AM5/27/08
to ATG_Tech
Hi Naga,

I checked , the other server is not running and only one instance is
running currently.
The modules which specify Fulfillment as the required module, run on a
single server only.
> > atg.commerce.fulfillment.processor.ProcUpdateOrderRepository.runProcess(Pro­cUpdateOrderRepository.java:
> > > > 99)
> > > > **** Error       Fri May 23 10:17:16 BST 2008    1211534236120   /atg/
> > > > commerce/fulfillment/OrderFulfiller                at
> > > > atg.service.pipeline.PipelineLink.runProcess(PipelineLink.java:231)
> > > > **** Error       Fri May 23 10:17:16 BST 2008    1211534236120   /atg/
> > > > commerce/fulfillment/OrderFulfiller                at
> > > > atg.service.pipeline.PipelineChain.runProcess(PipelineChain.java:342)
> > > > **** Error       Fri May 23 10:17:16 BST 2008    1211534236120   /atg/
> > > > commerce/fulfillment/OrderFulfiller                at
>
> > atg.service.pipeline.PipelineChainContext.runProcess(PipelineChainContext.j­ava:
> > > > 184)
> > > > **** Error       Fri May 23 10:17:16 BST 2008    1211534236120   /atg/
> > > > commerce/fulfillment/OrderFulfiller                at
> > > > atg.service.pipeline.PipelineManager.runProcess(PipelineManager.java:
> > > > 452)
> > > > **** Error       Fri May 23 10:17:16 BST 2008    1211534236120   /atg/
> > > > commerce/fulfillment/OrderFulfiller                at
>
> > atg.commerce.fulfillment.OrderFulfillerModificationHandler.handleModifyOrde­rNotification(OrderFulfillerModificationHandler.java:
> > atg.service.pipeline.PipelineChainContext.runProcess(PipelineChainContext.j­ava:
> > > > 184)
> > > > **** Error       Fri May 23 10:17:16 BST 2008    1211534236120   /atg/
> > > > commerce/fulfillment/OrderFulfiller                at
> > > > atg.service.pipeline.PipelineManager.runProcess(PipelineManager.java:
> > > > 452)
> > > > **** Error       Fri May 23 10:17:16 BST 2008    1211534236120   /atg/
> > > > commerce/fulfillment/OrderFulfiller                at
> > > > atg.commerce.order.OrderManager.updateOrder(OrderManager.java:2481)
> > > > **** Error       Fri May 23 10:17:16 BST 2008    1211534236120   /atg/
> > > > commerce/fulfillment/OrderFulfiller                at
>
> > atg.commerce.fulfillment.processor.ProcUpdateOrderRepository.runProcess(Pro­cUpdateOrderRepository.java:
> > > > 99)
> > > > **** Error       Fri May 23 10:17:16 BST 2008    1211534236120   /atg/
> > > > commerce/fulfillment/OrderFulfiller                at
> > > > atg.service.pipeline.PipelineLink.runProcess(PipelineLink.java:231)
> > > > **** Error       Fri May 23 10:17:16 BST 2008    1211534236120   /atg/
> > > > commerce/fulfillment/OrderFulfiller                at
> > > > atg.service.pipeline.PipelineChain.runProcess(PipelineChain.java:342)
> > > > **** Error       Fri May 23 10:17:16 BST 2008    1211534236120   /atg/
> > > > commerce/fulfillment/OrderFulfiller                at
>
> > atg.service.pipeline.PipelineChainContext.runProcess(PipelineChainContext.j­ava:
> > > > 184)
> > > > **** Error       Fri May 23 10:17:16 BST 2008    1211534236120   /atg/
> > > > commerce/fulfillment/OrderFulfiller                at
> > > > atg.service.pipeline.PipelineManager.runProcess(PipelineManager.java:
> > > > 452)
> > > > **** Error       Fri May 23 10:17:16 BST 2008    1211534236120   /atg/
> > > > commerce/fulfillment/OrderFulfiller        ....stack trace CROPPED
> > > > after 10 lines.
> > > > **** Error       Fri May 23 10:17:16 BST 2008    1211534236120   /atg/
> > > > commerce/fulfillment/OrderFulfiller        NESTED EXCEPTION
> > > > #2:CONTAINER:atg.commerce.CommerceException: Saving order PO12160009
> > > > failed because doing so would result in data being overwritten. This
> > > > save attempt had an out of date repository item [poOrder].;
> > > > SOURCE:atg.repository.ConcurrentUpdateException: no rows updated
> > > > oldVersion=11 for item=poOrder:PO12160009
> > > > **** Error       Fri May 23 10:17:16 BST 2008    1211534236120   /atg/
> > > > commerce/fulfillment/OrderFulfiller                at
>
> > atg.commerce.order.processor.ProcSaveOrderObject.runProcess(ProcSaveOrderOb­ject.java:
> > > > 183)
> > > > **** Error       Fri May 23 10:17:16 BST 2008    1211534236120   /atg/
> > > > commerce/fulfillment/OrderFulfiller                at
> > > > atg.service.pipeline.PipelineLink.runProcess(PipelineLink.java:231)
> > > > **** Error       Fri May 23 10:17:16 BST 2008    1211534236120   /atg/
> > > > commerce/fulfillment/OrderFulfiller                at
> > > > atg.service.pipeline.PipelineChain.runProcess(PipelineChain.java:342)
> > > > **** Error       Fri May 23 10:17:16 BST 2008    1211534236120   /atg/
> > > > commerce/fulfillment/OrderFulfiller                at
>
> > atg.service.pipeline.PipelineChainContext.runProcess(PipelineChainContext.j­ava:
> > > > 184)
> > > > **** Error       Fri May 23 10:17:16 BST 2008    1211534236120   /atg/
> > > > commerce/fulfillment/OrderFulfiller                at
> > > > atg.service.pipeline.PipelineManager.runProcess(PipelineManager.java:
> > > > 452)
> > > > **** Error       Fri May 23 10:17:16 BST 2008    1211534236120   /atg/
> > > > commerce/fulfillment/OrderFulfiller                at
> > > > atg.commerce.order.OrderManager.updateOrder(OrderManager.java:2481)
> > > > **** Error       Fri May 23 10:17:16 BST 2008    1211534236120   /atg/
> > > > commerce/fulfillment/OrderFulfiller                at
>
> > atg.commerce.fulfillment.processor.ProcUpdateOrderRepository.runProcess(Pro­cUpdateOrderRepository.java:
> > > > 99)
> > > > **** Error       Fri May 23 10:17:16 BST 2008    1211534236120   /atg/
> > > > commerce/fulfillment/OrderFulfiller  
>
> ...
>
> read more »- Hide quoted text -
>
> - Show quoted text -

Aniket

unread,
May 27, 2008, 7:35:16 AM5/27/08
to ATG_Tech
Just make sure that your code is not updating the order using
repository API and make sure the code is wrapped in a transaction. If
the code is not in a transaction, order.setXXX updates the order
version, thus causing the update order pipleine to bomb.

- Aniket
> ...
>
> read more »
Reply all
Reply to author
Forward
0 new messages