My Oracle Support Banner

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 JULY 20, 2024

Applies to:

Oracle Transportation Management - Version 6.0 to 6.0.4 [Release 6]
Information in this document applies to any platform.

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

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
References

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