Subject Re: Firebird on Redhat Linux
Author sivahari33
Hi Ann
Thanks for the reply

Symptoms which we are getting are

1) Unable to select a particular record from our application. Since 'lockwait' property is true the query shows a waiting cursor.

2) If we try to update this record from Ibexpert then It shows 'Deadlock' message

In this time we can update any other record in that table.if we close all the connection to this database and try again,still the problem exists.

Then to solve this either we have to wait for some time (may be upto 4 hours) or need to restart firebird service.

--- In, "Ann W. Harrison" <aharrison@...> wrote:
> sivahari33 wrote:
> >
> > We run Firebird on Redhat Linux platform. In some case a dead lock occurs while we try to update a record. But this dead lock is not happens always on the same table.
> I think you may be using the term "dead lock" in a different
> sense from the normal database usage. In transactional databases,
> a deadlock is the result of two transactions trying to change
> related pieces of data at the same time. For example transaction
> 1 updates record A, transaction 2 updates record B, then transaction
> 1 tries to update record B and transaction 2 tries to update record
> A. Transaction 1 can't continue until transaction 2 finishes and
> vice-versa. That's a deadlock. Firebird detects that the two
> transactions are waiting for each other and returns an error to
> one of them.
> Firebird (like other MVCC systems) also produces a special case
> of deadlock called an update conflict if a transaction tries to
> update or delete a record that's been updated by a concurrent
> transaction. The second transaction's update or delete fails.
> These are normal errors that can be minimized by careful application
> design. They're no more of a problem than errors caused by
> inserting incorrect data. They have nothing to do with the version
> of Firebird you're using.
> What is the symptom of the "dead lock" you're seeing?
> Cheers,
> Ann