java.sql.SQLException: ORA-00060: Deadlock Detected while waiting for resource received when Trying to Assign Service provider to Multiple Shipments via an Agent (Doc ID 960931.1)

Last updated on SEPTEMBER 08, 2016

Applies to:

Oracle Transportation Management - Version 6.0 to 6.0.4 [Release 6]
Information in this document applies to any platform.
***Checked for relevance on 11-Dec-2013***


Symptoms

-- Problem Statement:
When assigning a service provider and cost via an agent to multiple shipments, the following error
is received when trying to update the shipment_stop table:

java.sql.SQLException: ORA-00060: deadlock detected while waiting for resource

at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:112)
at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:331)
at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:288)
at oracle.jdbc.driver.T4C8Oall.receive(T4C8Oall.java:745)
at oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.java:216)
at oracle.jdbc.driver.T4CPreparedStatement.executeForRows(T4CPreparedStatement.java:966)
at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1170)
at oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:3339)
at oracle.jdbc.driver.OraclePreparedStatement.executeUpdate(OraclePreparedStatement.java:3423)
at weblogic.jdbc.wrapper.PreparedStatement.executeUpdate(PreparedStatement.java:128)
at glog.util.jdbc.SqlUpdate.resetArguments(SqlUpdate.java:239)
at glog.util.jdbc.SqlUpdate.resetArguments(SqlUpdate.java:162)
at glog.util.jdbc.SqlUpdate.execute(SqlUpdate.java:91)
at glog.util.remote.BeanManagedEntityBean.executeUpdate(BeanManagedEntityBean.java:793)
at glog.util.remote.BeanManagedEntityBean$3.execute(BeanManagedEntityBean.java:267)
at glog.util.remote.BeanManagedEntityBean.dbModify(BeanManagedEntityBean.java:1066)
at glog.util.remote.BeanManagedEntityBean.doStore(BeanManagedEntityBean.java:265)
at glog.util.remote.BaseEntityBean$3.doIt(BaseEntityBean.java:517)
at glog.util.remote.BaseEntityBean.ejb(BaseEntityBean.java:798)
at glog.util.remote.BaseEntityBean.ejbStore(BaseEntityBean.java:515)
at glog.util.remote.BeanManagedEntityBean.ejbStore(BeanManagedEntityBean.java:508)
at glog.ejb.shipment.ejb_ShipmentStop_l4lf06_Impl.ejbStore(ejb_ShipmentStop_l4lf06_Impl.java:193)
at weblogic.ejb.container.manager.ExclusiveEntityManager.postInvoke(ExclusiveEntityManager.java:495)
at weblogic.ejb.container.internal.BaseEJBObject.postInvoke1(BaseEJBObject.java:421)
at weblogic.ejb.container.internal.BaseEJBObject.postInvokeTxRetry(BaseEJBObject.java:381)
at glog.ejb.shipment.ejb_ShipmentStop_l4lf06_EOImpl.setData(ejb_ShipmentStop_l4lf06_EOImpl.java:1875)
at glog.business.shipment.saver.ShipmentStopSaver.ejbUpdateData(ShipmentStopSaver.java:79)
at glog.business.util.EntitySaver.insertupdate(EntitySaver.java:265)
at glog.business.util.Persistence.insertupdate(Persistence.java:207)
at glog.business.shipment.PlanningObjectCommitter.commitTShipmentStop(PlanningObjectCommitter.java:1564)
at glog.business.shipment.PlanningObjectCommitter.commitTShipmentStops(PlanningObjectCommitter.java:1543)
at glog.business.shipment.PlanningObjectCommitter.commitTShipment(PlanningObjectCommitter.java:805)
at glog.business.shipment.ShipmentUpdateSessionBean.commitShipmentNode(ShipmentUpdateSessionBean.java:861)
at glog.business.shipment.ShipmentUpdateSessionBean.commitShipmentGraph(ShipmentUpdateSessionBean.java:1403)
at glog.business.shipment.ShipmentUpdateSessionServerSideEJBWrapper.commitShipmentGraph(ShipmentUpdateSessionServerSideEJBWrapper.java:320)
at glog.business.shipment.ShipmentUpdateSessionBean.commitShipmentGraph(ShipmentUpdateSessionBean.java:1678)
at glog.business.shipment.ShipmentUpdateSessionServerSideEJBWrapper.commitShipmentGraph(ShipmentUpdateSessionServerSideEJBWrapper.java:283)
at glog.business.shipment.ShipmentUpdateSessionHome_qj7mtr_EOImpl.commitShipmentGraph(ShipmentUpdateSessionHome_qj7mtr_EOImpl.java:1812)
at glog.business.action.ShipmentPlanningActionExecutor.assignServiceProviderManually(ShipmentPlanningActionExecutor.java:434)
at glog.business.session.ShipmentPlanningActionSessionBean.assignServiceProviderManually(ShipmentPlanningActionSessionBean.java:240)
at glog.business.session.ShipmentPlanningActionSessionServerSideEJBWrapper.assignServiceProviderManually(ShipmentPlanningActionSessionServerSideEJBWrapper.java:219)
at glog.business.session.ShipmentPlanningActionSessionServerSideEJBWrapper_7zfvrj_EOImpl.assignServiceProviderManually(ShipmentPlanningActionSessionServerSideEJBWrapper_7zfvrj_EOImpl.java:3591)
at glog.server.agent.business.shipment.AssignServiceProviderCost.execute(AssignServiceProviderCost.java:58)
at glog.server.agent.ActionWorkflow.execute(ActionWorkflow.java:51)
at glog.server.workflow.WorkflowSessionBean.execute(WorkflowSessionBean.java:64)
at glog.server.workflow.WorkflowSessionServerSideEJBWrapper.execute(WorkflowSessionServerSideEJBWrapper.java:38)
at glog.server.workflow.WorkflowSessionServerSideEJBWrapper_61kh96_EOImpl.execute(WorkflowSessionServerSideEJBWrapper_61kh96_EOImpl.java:352)
at glog.server.workflow.WorkflowManager.execute(WorkflowManager.java:347)
at glog.server.workflow.Trigger.trigger(Trigger.java:122)
at glog.util.event.MemoryEventQueueRunnable.processEvent(MemoryEventQueueRunnable.java:141)
at glog.util.event.MemoryEventQueueRunnable.run(MemoryEventQueueRunnable.java:96)
at glog.util.event.EventThread.run(EventThread.java:82)
at java.lang.Thread.run(Thread.java:595)


-- Steps To Reproduce:
1 Log into OTM
2. Go to Business Process Automation --> Process Management --> Data Query
3. Select Data Query type of Shipment. Click Go
4. Select Based on (select a query which will return more than one shipment)
5. Select Raise Event "RUN_AGENT_SHIPMENT" (This agent is set up to assign the Service Provider and costs to shipments)
6. Click Submit

Cause

Sign In with your My Oracle Support account

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

My Oracle Support provides customers with access to over a
Million Knowledge Articles and hundreds of Community platforms