My Oracle Support Banner

ConcurrentUpdateExcpetion on paymentGroup Stops Commerce Pipeline Processing (Doc ID 1986372.1)

Last updated on JULY 03, 2018

Applies to:

Oracle Commerce Platform - Version 10.0 and later
Information in this document applies to any platform.

Symptoms

After an order has been submitted, if there are any updates to the paymentGroup data they can potentially overlap in time with remote Fulfillment processing. Fulfillment is normally the loser of the race, hitting a ConcurrentUpdateException. It can come as a surprise that the payment group is being updated since the purchase process code only reads the payment group data after it is first defined. It raises the question why read access to this kind of data led to an update and then to a concurrent update where it is used.

2015-02-17 09:57:41 ERROR [HardgoodFulfiller]
[excess removed]
SOURCE EXCEPTION:
atg.repository.ConcurrentUpdateException: no rows updated oldVersion=7 for item=creditCard:pg314750004 in GSATransaction=atg.adapter.gsa.GSATransaction@4be67395    thread=InputDestinationConsumer-sqldms:/Fulfillment/HardGoods transaction=TransactionImple < ac, BasicAction: a50ac05:a49c:54e36241:11c4c6 status: ActionStatus.RUNNING >
at atg.adapter.gsa.GSAItemDescriptor.updateItem(GSAItemDescriptor.java:7516)
at atg.adapter.gsa.GSARepository.updateItem(GSARepository.java:1075)
at atg.commerce.order.processor.ProcSavePaymentGroupObjects.runProcess(ProcSavePaymentGroupObjects.java:249)
at atg.service.pipeline.PipelineLink.runProcess(PipelineLink.java:255)
at atg.service.pipeline.PipelineChain.runProcess(PipelineChain.java:365)
at atg.service.pipeline.PipelineChainContext.runProcess(PipelineChainContext.java:207)
at atg.service.pipeline.PipelineManager.runProcess(PipelineManager.java:475)
at atg.commerce.pipeline.CommercePipelineManager.runProcess(CommercePipelineManager.java:123)
at atg.commerce.order.OrderManager.updateOrder(OrderManager.java:2910)
at atg.commerce.fulfillment.processor.ProcUpdateOrderRepository.runProcess(ProcUpdateOrderRepository.java:122)
at atg.service.pipeline.PipelineLink.runProcess(PipelineLink.java:255)
at atg.service.pipeline.PipelineChain.runProcess(PipelineChain.java:365)
at atg.service.pipeline.PipelineChainContext.runProcess(PipelineChainContext.java:207)
at atg.service.pipeline.PipelineManager.runProcess(PipelineManager.java:475)
at atg.commerce.fulfillment.HardgoodFulfiller.handleFulfillOrderFragment(HardgoodFulfiller.java:629)
at atg.commerce.fulfillment.HardgoodFulfiller.handleMessage(HardgoodFulfiller.java:496)
at atg.commerce.fulfillment.FulfillerSystem.receiveMessage(FulfillerSystem.java:476)
at atg.dms.patchbay.ElementManager.deliverMessage(ElementManager.java:316)
at atg.dms.patchbay.InputPort.onMessage(InputPort.java:190)
at atg.dms.patchbay.InputDestination.onMessage(InputDestination.java:397)
at atg.dms.patchbay.InputDestinationConsumer.processMessageDelivery(InputDestinationConsumer.java:569)
at atg.dms.patchbay.InputDestinationConsumer.runXATransactions(InputDestinationConsumer.java:371)
at atg.dms.patchbay.InputDestinationConsumer.run(InputDestinationConsumer.java:245)
at java.lang.Thread.run(Thread.java:662)

 

Cause

To view full details, sign in with your My Oracle Support account.

Don't have a My Oracle Support account? Click to get started!


In this Document
Symptoms
Cause
Solution


My Oracle Support provides customers with access to over a million knowledge articles and a vibrant support community of peers and Oracle experts.