Subject | Re: [firebird-support] Questions to deadlock-situations |
---|---|
Author | Josef Gschwendtner |
Post date | 2006-10-30T13:47:51Z |
Hi,
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
> Say you have a situation with two transactions in WAIT isolation.and
> 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,
> TransactionA waits for TransactionB to release the lock on RecordB,for
> whereas TransactionB waits for TransactionA to release the lock on
> RecordA. That's what I call a deadlock and something has to be done
> them to not wait indefinitely (and theoretically, a deadlock couldSorry Set, it seems I did express myself wrong.
> involve more than two transactions - confusing the picture quite a lot
> more than this simple situation).
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