IBM Support

Deadlocks observed while trying to invoke adjustInventory API.

Troubleshooting


Problem

Deadlocks are observed while trying to invoke adjustInventory API.

Symptom

Deadlocks are detected as shown in the error trace below :

java.sql.SQLException: ORA-00060: deadlock detected while waiting for resource
at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:439) at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:395) at oracle.jdbc.driver.T4C8Oall.processError(T4C8Oall.java:802) at oracle.jdbc.driver.T4CTTIfun.receive(T4CTTIfun.java:281)
at oracle.jdbc.driver.T4CTTIfun.doRPC(T4CTTIfun.java:186)
at oracle.jdbc.driver.T4C8Oall.doOALL(T4C8Oall.java:521)
at oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement. java:205)
at

Resolving The Problem

Enabling below mentioned property will help in resolving the problem, as it will lock items in alphabetical order.
yfs.yfs.inventory.sortandlock=Y in customer_overrides.properties or yfs.inventory.sortandlock=Y in yfs.properties.

Setting this property to Y will prevent dead locks on YFS_Inventory_Item table during
order creation and when synchronizing changes from a shipment back to the order. This
parameter is only used if the order contains a logical kit, or when a shipment lines are created for different orders.

Setting this property to Y will result into holding lock on YFS_Inventory_Item table for longer period. So, this may degrade overall system performance. Because of this reason, this property should be set to Y only if excessive dead locks are occurring on YFS_Inventory_Item table.

[{"Product":{"code":"SS6PEW","label":"IBM Sterling Order Management"},"Business Unit":{"code":"BU059","label":"IBM Software w\/o TPS"},"Component":"--","Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"All","Edition":"","Line of Business":{"code":"LOB59","label":"Sustainability Software"}}]

Document Information

Modified date:
10 May 2022

UID

swg21625219