Question & Answer
Question
How to handle(find,resolve) the deadLock?
Cause
DeadLock Created on records
Answer
Here are some tips to find, resolve the deadlock situations in Sterling Fullfilment Suite.
1) Oracle should produce a file called deadlock.out, which contains a running log of when deadlocks were detected, what Oracle threads/SQLs were involved, etc. This will help you in case if you face any problem while using these API's.
2) When you have a chance to rebuild/redeploy, it's advisable to enable some extended deadlock logging within the application. This involves two changes:
a) Add the property yfs.app.identifyconnection=Y to your yfs.properties file upto 7.11 version.
Add yfs.yfs.app.identifyconnection=Y in customer_overrides.properties in version 8.x and 9.x.
b) Add the parameter -DDLOCK_LOG_DIR=<dir_name> to the Java command line used to start up the App server(s)
Without these parameters: Oracle will log what SQLs are involved in each deadlock, and who the victim(s) are, but doesn't have any knowledge of where in the code the SQLs are coming from.
With these parameters:
- When the system connects to Oracle, it adds a couple of identifiers to the connection string which goes into Oracle's session info
- When a deadlock occurs, Sterling will create a separate log file (in DLOCK_LOG_DIR) which has both deadlock SQLs, as well as associated session info
Was this topic helpful?
Document Information
Modified date:
10 May 2022
UID
swg21600486