Thread: Exception from deadlock

Exception from deadlock

From
Joseph Shraibman
Date:
org.postgresql.util.PSQLException: ERROR: deadlock detected

    at
org.postgresql.util.PSQLException.parseServerError(PSQLException.java:139)
    at org.postgresql.core.QueryExecutor.executeV3(QueryExecutor.java:152)
    at org.postgresql.core.QueryExecutor.execute(QueryExecutor.java:100)
    at org.postgresql.core.QueryExecutor.execute(QueryExecutor.java:43)
    at
org.postgresql.jdbc1.AbstractJdbc1Statement.execute(AbstractJdbc1Statement.java:517)
    at
org.postgresql.jdbc2.AbstractJdbc2Statement.execute(AbstractJdbc2Statement.java:50)
    at
org.postgresql.jdbc1.AbstractJdbc1Statement.executeUpdate(AbstractJdbc1Statement.java:273)
    at
org.postgresql.jdbc1.AbstractJdbc1Statement.executeUpdate(AbstractJdbc1Statement.java:259)

When I get a deadlock on psql, I get:

ERROR:  deadlock detected
DETAIL:  Process 12189 waits for ShareLock on transaction 3657282;
blocked by process 12109.
Process 12109 waits for ShareLock on transaction 3657280; blocked by
process 12189.


So my quesion is where did that detail information go in the jdbc driver?

I'm using postgres 7.4.7 with the jdbc driver that comes with it.

Re: Exception from deadlock

From
Oliver Jowett
Date:
Joseph Shraibman wrote:

> So my quesion is where did that detail information go in the jdbc driver?
>
> I'm using postgres 7.4.7 with the jdbc driver that comes with it.

Can you try an 8.0-era driver from jdbc.postgresql.org? There have been
a number of changes to server error message handling since 7.4.

-O

Re: Exception from deadlock

From
Kris Jurka
Date:

On Thu, 7 Jul 2005, Oliver Jowett wrote:

> Joseph Shraibman wrote:
>
> > So my quesion is where did that detail information go in the jdbc driver?
> >
> > I'm using postgres 7.4.7 with the jdbc driver that comes with it.
>
> Can you try an 8.0-era driver from jdbc.postgresql.org? There have been
> a number of changes to server error message handling since 7.4.
>

Actually this is the same in 7.4 and later versions.  The level of detail
put into the exception message is derived from the loglevel URL parameter,
see the toString method.

http://gborg.postgresql.org/project/pgjdbc/cvs/co.php/pgjdbc/org/postgresql/util/ServerErrorMessage.java?r=1.8

Later driver versions (8.1dev) allow pg specific code to access all of the
fields individually to craft any message they desire.

I personally like the idea of putting more information into the default
error message.  How much more do people want?

http://www.postgresql.org/docs/8.0/static/protocol-error-fields.html

Kris Jurka

Re: Exception from deadlock

From
peter royal
Date:
On Jul 8, 2005, at 8:58 PM, Kris Jurka wrote:
> Later driver versions (8.1dev) allow pg specific code to access all
> of the
> fields individually to craft any message they desire.
>
> I personally like the idea of putting more information into the
> default
> error message.  How much more do people want?
>
> http://www.postgresql.org/docs/8.0/static/protocol-error-fields.html

as much as possible :)
-pete

--
peter royal -> proyal@pace2020.com


Attachment

Re: Exception from deadlock

From
Dave Cramer
Date:
Kris,

I think as much as possible makes sense too, this shouldn't be in the
critical path for performance, so why not ?

Dave
On 8-Jul-05, at 8:58 PM, Kris Jurka wrote:


>
>
> On Thu, 7 Jul 2005, Oliver Jowett wrote:
>
>
>
>> Joseph Shraibman wrote:
>>
>>
>>
>>> So my quesion is where did that detail information go in the jdbc
>>> driver?
>>>
>>> I'm using postgres 7.4.7 with the jdbc driver that comes with it.
>>>
>>>
>>
>> Can you try an 8.0-era driver from jdbc.postgresql.org? There have
>> been
>> a number of changes to server error message handling since 7.4.
>>
>>
>>
>
> Actually this is the same in 7.4 and later versions.  The level of
> detail
> put into the exception message is derived from the loglevel URL
> parameter,
> see the toString method.
>
> http://gborg.postgresql.org/project/pgjdbc/cvs/co.php/pgjdbc/org/
> postgresql/util/ServerErrorMessage.java?r=1.8
>
> Later driver versions (8.1dev) allow pg specific code to access all
> of the
> fields individually to craft any message they desire.
>
> I personally like the idea of putting more information into the
> default
> error message.  How much more do people want?
>
> http://www.postgresql.org/docs/8.0/static/protocol-error-fields.html
>
> Kris Jurka
>
> ---------------------------(end of
> broadcast)---------------------------
> TIP 2: Don't 'kill -9' the postmaster
>
>
>



Dave Cramer
davec@postgresintl.com
www.postgresintl.com
ICQ #14675561
jabber davecramer@jabber.org
ph (519 939 0336 )



Re: Exception from deadlock

From
Oliver Jowett
Date:
Kris Jurka wrote:

> I personally like the idea of putting more information into the default
> error message.  How much more do people want?

I'd go for severity, message, and detail by default, and "everything" if
you crank up the log level (do we want this to be a separate option to
log level, actually?).

-O