Přeskočit na hlavní obsah

Chyba: GenericJDBCException: ERROR: deadlock detected

Dva procesy se pokouší upravit stejný záznam.

Autor: Petr Pech
Aktualizováno před více než 3 týdny

Chyba

GenericJDBCException: ERROR: deadlock detected

Co chyba znamená

Došlo k zablokování databázových operací.

Typicky:

  • dva procesy nebo uživatelé současně pracují s navázanými záznamy

  • každý z nich drží část tzv. zámků (blokuje změnu z jiného místa)

  • a zároveň čeká na zámek, který drží ten druhý proces

👉 Databáze situaci vyhodnotí jako deadlock a jednu z operací ukončí chybou.

Řešení

  • operaci zopakujte

  • zajistěte, aby stejný záznam neupravovalo více uživatelů současně

  • u hromadných operací omezte souběh více akcí nad stejnými daty

Dostali jste odpověď na svou otázku?