>> OK, I'm using a pool of worker threads that each have a connection (from my
>> own software, no PHP or anything like that involved), and a connection is in
>> a state where all queries fail. Looking back through the log I find the
>> first entry where this connection has an error (there are successful queries
>> on it prior, so it's not the first query):
>> 
> 
> Your problem is that you have an error within a transaction and as the
> error message states:
> 
>> 2004-06-21 14:51:58 [5589]   ERROR:  current transaction is aborted, queries
>> ignored until end of transaction block
> 
> All your queries will be ignored until you complete the transaction,
> either with a commit or a rollback. I find the message very clear, how
> do you think it could be reworded to be more clear?

What's not clear is why I should be told this when the invalid query ended
with a commit.

>> - Is there something I need to do after an error like this, in order to get
>> the connection back to a usable state?
> 
> COMMIT or ROLLBACK
> 
>> - Is this a bug?
> 
> In your program, yes. Although I find it interesting that your commit
> is ignored after the error. Just send it as a seperate query.

Yes, exactly. I've never seen a commit be ignored like this--believe me I've
had other erroneous queries, and the connections never got borked like this.

>> - Is there anything I can do to provide more information? I still have the
>> server running right now, but I'm going to have to reboot soon because this
>> is causing problems.
> 
> Just add a transaction commit or rollback after the error.

I'll certainly add such code as a fail-safe, but I'd still like to
understand more fully what has happened. Can I really be 100% sure this
would keep the connection usable, given that the 1 commit already somehow
failed to end the transaction block? I can certainly understand that a
commit submitted by itself might be recognized where for some reason the
original one was skipped over, but I'd still like to know more about what
happened.


-- 
Scott Ribe
[EMAIL PROTECTED]
http://www.killerbytes.com/
(303) 665-7007 voice


---------------------------(end of broadcast)---------------------------
TIP 8: explain analyze is your friend

Reply via email to