Subject Re: [firebird-php] Re: Proper transaction & deadlock handling
Author Daniel Miller
On 12/1/2016 3:49 AM, masotti masotti@... [firebird-php] wrote:
> Hi,
>
> reading only today your comment,
>
> Il 23/11/2016 20:24, Daniel Miller dmiller@... [firebird-php] ha
> scritto:
>> I've adjusted my error routines slightly - maybe they weren't actually
>> logging failed ibase_query calls. I don't think so - but we'll see.
>> Changing the transaction flags doesn't seem to have resolved the issue
>> as I saw another deadlock warning this morning.
>

Progress. Of a sort.

The changed flags using the '|' operator appear to have improved things
- the deadlocks occur less frequently. To a point where I thought I had
the issue resolved...but I still have a couple. However...now my
exception messages are being logged! So I'm happy about that, I
guess...at least I know that much of my error-handling theory appears to
be correct. If I can't get the deadlocks to go away completely, guess
I'll see about implementing loops to ensure the writes occur upon failure.

If I'm reading the log correctly, first there's a PHP Warning output - I
assume that's from my error_reporting(E_ALL). So if I want that to go
away I would change my error_reporting level - but as this application
is still in development I want all the info I can get. And just to
anticipate the paranoid - this is a webapp that is used exclusively
either by myself or by one or two others, accessible only via LAN, on a
protected server. So I'm not worried about exposing myself. Maybe I
wrote that wrong...

I was about to post my code to get some insight on where I might be
broken, when in the process I found that while I *thought* I had changed
all the '+' operators to '|' - I obviously didn't. And the places where
I didn't...were the write transactions. So let's see what happens now...