Subject | Re: Issue: deadlock with Firebird and Delphi. ref/eDN7002040583 |
---|---|
Author | slalom91 |
Post date | 2006-12-12T16:14:31Z |
--- In firebird-support@yahoogroups.com, "Dennis" <dennis@...> wrote:
This sounds very similar to the problem I have been experiencing
which I outlined in my post title "CPU Pegged.." maybe you could
verify with your test application that the CPU is maxed out when the
record is hanging and not posting.
>up
> Dear all
>
>
>
> I have made this test: there is small application that on its start
> updates the same record (with the same keys). When I call thisapplication
> instantly several times, for instance 15 times in less than1/10second, some
> of these applications, about 4, occur the deadlock conflict erroron non
> wait transaction.yet, so
>
>
>
> At first sight, this is logical because some of them didn't commit
> there are deadlock really, the problem is that using the followretry loop
> these launches cannot post even if the record became unlocked, evenif all
> other application / launches are terminated!I call
>
>
>
> The retry loop is like this:
>
>
>
> Usercancel:=false;
>
> Repeat
>
> Try
>
> Post;
>
> Ok:=true;
>
> Except
>
> If Dialog('retry?')=no then usercancel:=true;
>
> Ok:=false;
>
> End; // except
>
> Until ok or usercancel.
>
> If ok then commit;
>
>
>
> Transaction settings:
>
>
>
> read_committed
>
> rec_version
>
> nowait
>
>
>
> Error:
>
>
>
> lock conflict on no wait transaction
>
> deadlock
>
> update conflicts with concurrent update
>
>
>
> Note 1:
>
> In case where some applications cannot post because of deadlock, if
> again the application (one more time), the new launch it updates therecord
> database with no error!!!
>
>
>
> Note 2:
>
> I produced the error by my own, leaving from other application the
> edited and uncommitted, the deadlock error occurred on testedapplication,
> the loop worked as well, when I committed the transaction from theother
> application, the loop posted the record and finally committed thealways
> transaction, so the loop is working.
>
>
>
> The fact is, an update with deadlock error, sometimes cannot be
> posted even if the record become unlocked from the otherapplication. This
> is not logical, where is the error?Dennis,
>
>
>
> Please share your thoughts.
>
>
>
> Kind regards
>
> Dennis
>
This sounds very similar to the problem I have been experiencing
which I outlined in my post title "CPU Pegged.." maybe you could
verify with your test application that the CPU is maxed out when the
record is hanging and not posting.