Time Slicing job fails with error: "ORA-00060: deadlock detected..."

book

Article ID: 142747

calendar_today

Updated On:

Products

Clarity PPM On Premise Clarity PPM SaaS

Issue/Introduction

The Time Slicing job fails intermittently (may be a one time event), and the below error is thrown in bg-ca.log: 

ERROR 2019-12-31 09:37:58,113 [Dispatch Time Slicing : [email protected] (tenant=clarity)] niku.blobcrack (clarity:scheduler:17913443__BAA24B56-4EC0-4BD6-A3F4-0D97DC9F9BA5:Time Slicing) Error processing slices 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

The error can be thrown repeatedly.

Environment

Release : All supported Clarity releases

Component : CLARITY TIME SLICING

Resolution

This is not a critical error.  What happens is that a row is attempted to be updated by Time Slicing job and by another action, job or process. For obvious reasons a concurrent update can lead to data consistency issues, so it's unwanted and Oracle has the deadlock mechanism to prevent it. With deadlock, one of the update requests will fail and the other one will go through.
The Time Slicing job is designed to be the "victim" of the deadlock, so out of two updates for the same row, it will be the lowest priority and will fail, which will allow the other action/job/process to proceed and update the row.

On the next run Time Slicing will pick up and update the row. We recommend ignoring this error.

If you have large XOGs you're running, and you're getting deadlocks we recommend considering to pause the Time Slicing job whilst the XOG is running.

Additional Information

See also: