Preskoči na glavno vsebino

Chyba: GenericJDBCException: ERROR: deadlock detected

Dva procesy sa pokúšajú upraviť rovnaký záznam.

Avtor: Petr Pech

Chyba

GenericJDBCException: ERROR: deadlock detected

Čo chyba znamená

Došlo k zablokovaniu databázových operácií.

Typicky:

  • dva procesy alebo používatelia súčasne pracujú s prepojenými záznamami

  • každý z nich drží časť tzv. zámkov (blokuje zmenu z iného miesta)

  • a zároveň čaká na zámok, ktorý drží ten druhý proces

👉 Databáza situáciu vyhodnotí ako deadlock a jednu z operácií ukončí chybou.

Riešenie

  • operáciu zopakujte

  • zabezpečte, aby ten istý záznam neupravovalo viacero používateľov súčasne

  • pri hromadných operáciách obmedzte súbeh viacerých akcií nad rovnakými dátami

Ste s tem dobili odgovor na svoje vprašanje?