Subject Re: [firebird-support] Firebird.log
Author Ann W. Harrison
Henner Kollmann wrote:
>>* Another is real deadlock, caused by two (or more) transactions
>> that update data in some "unfortunate" order.
>> Firebird will detect such situation and kill one of the statements
>> that were waiting.
>> Nothing is written in firebird.log.
> Could you describe what's happening to get this sort of deadlock?
> I sometimes have problems with a locked transaction.

Deadlocks have been described in great detail - essentially, a deadlock
occurs when two or more transactions are waiting for resources held by
the others. All are waiting, none can release resources, so the
database management system must intervene to unblock the system.

If you're encountering situations where a transaction is blocked and
nothing happens for more than 10 seconds, then the problem is likely to
be a long-lived update transaction that blocks subsequent updates.
Unless there's an actual deadlock - A waits for B which waits for A -
the system will let transactions wait indefinitely.