Обсуждение: Exception from deadlock

Поиск
Список
Период
Сортировка

Exception from deadlock

От
Joseph Shraibman
Дата:
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

От
Oliver Jowett
Дата:
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

От
Kris Jurka
Дата:

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

От
peter royal
Дата:
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


Вложения

Re: Exception from deadlock

От
Dave Cramer
Дата:
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

От
Oliver Jowett
Дата:
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