KBEC-00290 - Deadlock Errors in Database logs

Article ID:360032828292
1 minute readKnowledge base
On this page

Problem

Deadlock messages are being received from the database, but there are no corresponding error message in the CloudBees CD (CloudBees Flow) log files

A sample error message from Oracle:

Deadlock has detected because of the following query,
 Session 694:
 sid: 694 ser: 34211 audsid: 3792129 user: 37/BRE_EC_POC
 flags: (0x45) USR/- flags_idl: (0x1) BSY/////-
 flags2: (0x40009) -/-/INC
 pid: 62 O/S info: user: oracle, term: UNKNOWN, ospid: 30827
 image: oracle@ussclpddbogp002
 client details:
 O/S info: user: ecserver, term: unknown, ospid: 1234
 machine: ussclsdecmnd001 program: JDBC Thin Client
 application name: JDBC Thin Client, hash value=2546894660
 current SQL:
 /* update com.electriccloud.commander.domain.JobStepImpl */ update ec_job_step set version=:1 , modified=:2 , modified_millis=:3 , outcome=:4 where id=:5 and version=:6

Response

We will occasionally get deadlocks from the database — given the concurrent nature of CloudBees CD (CloudBees Flow), there’s no way to completely eliminate the possibility of deadlocks.

The CloudBees CD (CloudBees Flow) server code detects these transaction deadlocks and retries the transaction, which is why no errors show up in the CloudBees CD (CloudBees Flow) log — it’s expected behavior.