Questions tagged [database-deadlocks]

In databases, when multiple processes alter the same table or row, each can lock a table or row. When they need to alter or lock the same resource to complete, that can cause deadlocks, or irreconcilable contention between the processes, causing one of them to be stopped by the system.

612 questions
59
votes
7 answers

What is the difference between "wait-die" and "wound-wait" deadlock prevention algorithms?

What is the difference between wait-die and wound-wait algorithms? It seems that both of these deadlock prevention techniques are doing the same thing: A Rollback of older process. What is the difference between the two? Please provide a suitable…
Nadeem Bhati
  • 739
  • 1
  • 8
  • 13
42
votes
6 answers

Implementing retry logic for deadlock exceptions

I've implemented a generic repository and was wondering if there is a smart way to implement a retry logic in case of a deadlock exception? The approach should be the same for all repository methods. So is there anyway I can avoid writing 'try/catch…
40
votes
2 answers

How is Hibernate deciding order of update/insert/delete

Let's first forget about Hibernate. Assume that I have two tables, A & B. Two transactions are updating same records in these two tables, but txn 1 update B and then A, while txn 2 update A then B. This is a typical deadlock example. The most…
Adrian Shum
  • 38,812
  • 10
  • 83
  • 131
39
votes
2 answers

Deadlocks in PostgreSQL when running UPDATE

I'm a little bit confused reading about PostgreSQL deadlocks. A typical deadlock example is: -- Transaction 1 UPDATE customer SET ... WHERE id = 1 UPDATE customer SET ... WHERE id = 2 -- Transaction 2 UPDATE customer SET ... WHERE id = 2 UPDATE…
vyakhir
  • 1,714
  • 2
  • 17
  • 21
37
votes
2 answers

Postgres UPDATE with ORDER BY, how to do it?

I need to do a Postgres update on a collection of records & I'm trying to prevent a deadlock which appeared in the stress tests. The typical resolution to this is to update records in a certain order, by ID for example - but it seems that Postgres…
bbozo
  • 7,075
  • 3
  • 30
  • 56
37
votes
4 answers

What does "lock | communication buffer resources" mean?

I have an error log which reports a deadlock: Transaction (Process ID 55) was deadlocked on lock | communication buffer resources with another process and has been chosen as the deadlock victim. Rerun the transaction. I am trying to reproduce this…
Blorgbeard
  • 101,031
  • 48
  • 228
  • 272
35
votes
4 answers

Working around MySQL error "Deadlock found when trying to get lock; try restarting transaction"

I have a MySQL table with about 5,000,000 rows that are being constantly updated in small ways by parallel Perl processes connecting via DBI. The table has about 10 columns and several indexes. One fairly common operation gives rise to the…
Anon Gordon
  • 2,469
  • 4
  • 28
  • 34
29
votes
5 answers

What is a deadlock in a database?

What is a deadlock in SQL Server and when it arises? What are the issues with deadlock and how to resolve it?
27
votes
2 answers

Retry on deadlock for MySQL / SQLAlchemy

I have searched for quite some time now and can't found a solution to my problem. We are using SQLAlchemy in conjunction with MySQL for our project and we encounter several time the dreaded error: 1213, 'Deadlock found when trying to get lock; try…
cp2587
  • 513
  • 1
  • 6
  • 12
24
votes
1 answer

How to unit test concurrent read/write with PHPUnit?

I recently encountered an issue on a live application. I realized I had more and more concurrency exceptions and locks with a database. Basically I start a transaction which requires a SELECT and an INSERT on the same table to commit. But because…
Boris Guéry
  • 47,316
  • 8
  • 52
  • 87
21
votes
1 answer

What does "tuple (0,79)" in postgres log file mean when a deadlock happened?

In postgres log: 2016-12-23 15:28:14 +07 [17281-351 trns: 4280939, vtrns: 3/20] postgres@deadlocks HINT: See server log for query details. 2016-12-23 15:28:14 +07 [17281-352 trns: 4280939, vtrns: 3/20] postgres@deadlocks CONTEXT: while locking…
Hayate
  • 653
  • 1
  • 9
  • 25
21
votes
1 answer

Avoiding PostgreSQL deadlocks when performing bulk update and delete operations

We have a single table which does not have references to any other tables. ┬────────────┬─────────────┬───────────────┬───────────────╮ │id_A(bigint)│id_B(bigint) │val_1(varchar) │val_2(varchar)…
sanjayav
  • 4,896
  • 9
  • 32
  • 30
20
votes
4 answers

Deadlock error in INSERT statement

We've got a web-based application. There are time-bound database operations (INSERTs and UPDATEs) in the application which take more time to complete, hence this particular flow has been changed into a Java Thread so it will not wait (block) for…
Gnanam
  • 10,613
  • 19
  • 54
  • 72
18
votes
3 answers

SqlException: Deadlock

I have these two exceptions generated when I try to get data from SQL database in C#: System.Data.SqlClient.SqlException: Transaction (Process ID 97) was deadlocked on lock resources with another process and has been chosen as the deadlock…
Harold Sota
  • 7,490
  • 12
  • 58
  • 84
18
votes
2 answers

How to simulate deadlock in PostgreSQL?

I am new for PostgreSQL. I want to simulate deadlock for this schedule: How to simulate deadlock in PostgreSQL? Is it possible at all? How to lock particular column? BEGIN; UPDATE deadlock_demonstration SET salary1=(SELECT salary1 FROM…
user3388473
  • 953
  • 2
  • 12
  • 25
1
2 3
40 41