Subject Re: [firebird-support] Questions to deadlock-situations
Author Josef Gschwendtner
Hi,

> Say you have a situation with two transactions in WAIT isolation.
> TransactionA has updated RecordA and TransactionB has updated RecordB.

> Neither of them have committed. Simultaneously, TransactionA wants to
> update RecordB and TransactionB update RecordA. Both gets rejected,
and
> TransactionA waits for TransactionB to release the lock on RecordB,
> whereas TransactionB waits for TransactionA to release the lock on
> RecordA. That's what I call a deadlock and something has to be done
for
> them to not wait indefinitely (and theoretically, a deadlock could
> involve more than two transactions - confusing the picture quite a lot

> more than this simple situation).

Sorry Set, it seems I did express myself wrong.

I do know what situations normally produce a deadlock.

We can simulate deadlocks but in our tests these deadlocks don't write
anything into firebird.log instead they throw an exception.

On the other hand we have an existing firebird.log (from one of our
customers) with "Deadlock"-Entries. Therefore my questions are:
- are there different kind of deadlocks (some journalized in
firebird.log some not)?
- what kind of deadlock is journalized in firebird.log?

Regards,
Josef Gschwendtner