Přeskočit na hlavní obsah

Chyba: GenericJDBCException: ERROR: deadlock detected

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

Autor: Petr Pech
Aktualizováno dnes

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 zámků

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

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


Kdy k tomu dochází

Nejčastěji:

  • když dva uživatelé upravují stejný nebo související záznam ve stejnou dobu

  • při hromadných operacích

  • při obsluze ABRA Flexi v API

  • při současném ukládání navazujících dokladů nebo vazeb


Ř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?