AnsweredAssumed Answered

Error "ORA-00060: deadlock detected while waiting for resource" when executing Time Slicing

Question asked by RnFernandez on Jan 4, 2018
Latest reply on Jan 8, 2018 by Viral Shah

From the first day of January 2018 you are giving this error.
The PPM 15.3 upgrade was made on December 15, 2017, but the error was never reported until January 1.
We have not made any changes since then.


We want to give intervention to the DBAs but before we would like you to tell us the possible reasons for this problem.

Tank you in advance

 

bg-ca.log:

ERROR 2018-01-03 20:30:19,134 [Dispatch Fijación de intervalos de tiempo PERIODICO2 : bg2@ARPAPP180 (tenant=clarity)] niku.blobcrack (clarity:admin:25953673__291588CA-0516-4C80-90C2-9E38D616DE14:Fijación de intervalos de tiempo PERIODICO2) Exception during blobcrack process
com.niku.union.persistence.PersistenceDeadlockException:
SQL error code: 60
Error message: [CA Clarity][Oracle JDBC Driver][Oracle]ORA-00060: deadlock detected while waiting for resource
Executed:
 update prassignment set odf_ss_actcost_curve = 2 where odf_ss_actcost_curve = ?  and rownum <= 1000
Derived from statement:
<?xml version="1.0" encoding="UTF-8"?>
<statement sortColumnPath="/data/header/sortInfo/@sortColumn" sortDirectionPath="/data/header/sortInfo/@sortDirection" slicePath="/data/header/pagination/sliceInfo/@slice" sliceSizePath="/data/header/pagination/sliceInfo/@sliceSize" inputSource="map" xmlns="http://schemas.niku.com/2002/pmd">
  <sql dbVendor="oracle">
    <text>update prassignment set odf_ss_actcost_curve = 2 where odf_ss_actcost_curve = ?  and rownum &lt;= 1000</text>
    <param name="sliceStatusFlag" path="sliceStatusFlag/@value" type="long" direction="IN" expressionListDelimiter=","/>
  </sql>
  <sql dbVendor="mssql">
    <text>SET ROWCOUNT 1000 update prassignment set odf_ss_actcost_curve = 2 where odf_ss_actcost_curve = ?  SET ROWCOUNT 0</text>
    <param name="sliceStatusFlag" path="sliceStatusFlag/@value" type="long" direction="IN" expressionListDelimiter=","/>
  </sql>
</statement>
Referenced by:
<?xml version="1.0" encoding="UTF-8"?>
<statementRef id="odf-pmd.assignment.select-updated-TSV-actcost_curve.map_nested_1" inputSource="map" inputMapIndex="0" sortColumnPath="/data/header/sortInfo/@sortColumn" sortDirectionPath="/data/header/sortInfo/@sortDirection" slicePath="/data/header/pagination/sliceInfo/@slice" sliceSizePath="/data/header/pagination/sliceInfo/@sliceSize" defaultSliceSize="20" ignoreIfError="false" hideResultSets="false" xmlns="http://schemas.niku.com/2002/pmd"/>
Using input:
{sliceStatusFlag=1}
    at com.niku.union.persistence.PersistenceController.createException(PersistenceController.java:2105)
    at com.niku.union.persistence.PersistenceController.handleSQLException(PersistenceController.java:2213)
    at com.niku.union.persistence.PersistenceController.processSql(PersistenceController.java:2847)
    at com.niku.union.persistence.PersistenceController.processStatement(PersistenceController.java:868)
    at com.niku.union.persistence.PersistenceController.processStatements(PersistenceController.java:768)
    at com.niku.union.persistence.PersistenceController.doProcessRequest(PersistenceController.java:576)
    at com.niku.union.persistence.PersistenceController.processRequest(PersistenceController.java:306)
    at com.niku.xql2.pmd.PMDRecordSet.executePMDStatement(PMDRecordSet.java:267)
    at com.niku.xql2.pmd.PMDRecordSet.<init>(PMDRecordSet.java:87)
    at com.niku.xql2.pmd.PMDDataSource.select(PMDDataSource.java:94)
    at com.niku.blobcrack.BlobCrackDB.readCurves(BlobCrackDB.java:2011)
    at com.niku.blobcrack.BlobCrackDB.sliceCurves(BlobCrackDB.java:1738)
    at com.niku.blobcrack.BlobCrackDB.createSlices(BlobCrackDB.java:1245)
    at com.niku.blobcrack.xql2.handlers.BlobCracker.processCurrentRequests(BlobCracker.java:251)
    at com.niku.blobcrack.xql2.handlers.BlobCracker.postProcess(BlobCracker.java:46)
    at com.niku.xql2.XQLVisitor.postProcess(XQLVisitor.java:1419)
    at com.niku.union.xml.dom.DOMWalker.postProcess(DOMWalker.java:210)
    at com.niku.union.xml.dom.DOMWalker.traverseIntern(DOMWalker.java:94)
    at com.niku.union.xml.dom.DOMWalker.traverse(DOMWalker.java:51)
    at com.niku.xql2.handlers.TryHandler.preProcess(TryHandler.java:54)
    at com.niku.xql2.XQLVisitor.preProcess(XQLVisitor.java:1385)
    at com.niku.union.xml.dom.DOMWalker.preProcess(DOMWalker.java:194)
    at com.niku.union.xml.dom.DOMWalker.traverseIntern(DOMWalker.java:74)
    at com.niku.union.xml.dom.DOMWalker.traverseIntern(DOMWalker.java:92)
    at com.niku.union.xml.dom.DOMWalker.traverseIntern(DOMWalker.java:92)
    at com.niku.union.xml.dom.DOMWalker.traverse(DOMWalker.java:36)
    at com.niku.xql2.XQLProcessor.process(XQLProcessor.java:257)
    at com.niku.njs.xbl.XBLService.process(XBLService.java:127)
    at com.niku.njs.xbl.XBLService.process(XBLService.java:75)
    at com.niku.njs.listeners.XBLJob.scheduledEventFired(XBLJob.java:44)
    at com.niku.njs.Dispatcher$BGTask.run(Dispatcher.java:652)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
    at java.lang.Thread.run(Thread.java:745)
Caused by: java.sql.SQLException: [CA Clarity][Oracle JDBC Driver][Oracle]ORA-00060: deadlock detected while waiting for resource
    at com.ca.clarity.jdbc.oraclebase.ddcr.b(Unknown Source)
    at com.ca.clarity.jdbc.oraclebase.ddcr.a(Unknown Source)
    at com.ca.clarity.jdbc.oraclebase.ddcq.b(Unknown Source)
    at com.ca.clarity.jdbc.oraclebase.ddcq.a(Unknown Source)
    at com.ca.clarity.jdbc.oracle.ddam.t(Unknown Source)
    at com.ca.clarity.jdbc.oraclebase.dde3.y(Unknown Source)
    at com.ca.clarity.jdbc.oraclebase.dde3.u(Unknown Source)
    at com.ca.clarity.jdbc.oraclebase.dddz.execute(Unknown Source)
    at com.niku.union.persistence.PersistenceController.processSql(PersistenceController.java:2809)
    ... 31 more
ERROR 2018-01-03 20:30:19,149 [Dispatch Fijación de intervalos de tiempo PERIODICO2 : bg2@ARPAPP180 (tenant=clarity)] niku.njs (clarity:admin:25953673__291588CA-0516-4C80-90C2-9E38D616DE14:Fijación de intervalos de tiempo PERIODICO2) Error executing job: 5239384 error The timeslice job has failed.
ERROR 2018-01-03 20:30:46,780 [ProcessEngineThreadMonitor (tenant=clarity)] niku.union (none:none:none:none) ProcessEngineThreadMonitor: Thread, Process Controller (tenant=clarity) is not Alive. The Service running the ProcessEngine will need to be restarted.

Outcomes