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.

This article is part of our Knowledge Base and is provided for guidance-based purposes only. The solutions or workarounds described here are not officially supported by CloudBees and may not be applicable in all environments. Use at your own discretion, and test changes in a safe environment before applying them to production systems.