db-derby-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Mike Matrigali (JIRA)" <j...@apache.org>
Subject [jira] Updated: (DERBY-2817) Error messages for deadlocks contain less information than in 10.2
Date Thu, 14 Jun 2007 17:07:26 GMT

     [ https://issues.apache.org/jira/browse/DERBY-2817?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Mike Matrigali updated DERBY-2817:
----------------------------------

    Derby Info: [Patch Available, Regression]  (was: [Regression, Patch Available])

Good catch, I think fix for this should go into 10.3 -- this is critical for supporting customers
who get these errors (actually most often customers can help themselves given this info).
 

Has anyone checked the error for a lock timeout where we print the entire lock list.  

Also has anyone written a junit test to look at actual text of error message, I agree in most
cases that is a bad idea, but some test that verifies the above
information seems like we won't miss this kind of bug.  Unfortunately it is not straight forward
as the message includes some transactions id's and I think there is also a problem in that
the order of locks is JVM specific.


> Error messages for deadlocks contain less information than in 10.2
> ------------------------------------------------------------------
>
>                 Key: DERBY-2817
>                 URL: https://issues.apache.org/jira/browse/DERBY-2817
>             Project: Derby
>          Issue Type: Bug
>          Components: Services
>    Affects Versions: 10.3.0.0
>            Reporter: Knut Anders Hatlen
>            Assignee: Knut Anders Hatlen
>            Priority: Minor
>             Fix For: 10.3.0.0
>
>         Attachments: deadlock.diff
>
>
> In 10.2, an error message for a deadlock would look like this:
> ERROR 40001: A lock could not be obtained due to a deadlock, cycle of locks and waiters
is:
> Lock : ROW, T, (1,8)
>   Waiting XID : {235, S} , APP, select * from t where id = 2
>   Granted XID : {238, X} 
> Lock : ROW, T, (1,7)
>   Waiting XID : {238, S} , APP, select * from t where id = 1
>   Granted XID : {235, X} 
> . The selected victim is XID : 235.
> On trunk, the same deadlock would be reported as
> java.sql.SQLException: A lock could not be obtained due to a deadlock, cycle of locks
and waiters is:
> Lock : ROW, T, (1,8)
>   Waiting XID : {org.apache.derby.impl.services.locks.LockSpace@94884d, S} 
>   Granted XID : {org.apache.derby.impl.services.locks.LockSpace@da6bf4, X} 
> Lock : ROW, T, (1,7)
>   Waiting XID : {org.apache.derby.impl.services.locks.LockSpace@da6bf4, S} 
>   Granted XID : {org.apache.derby.impl.services.locks.LockSpace@94884d, X} 
> . The selected victim is XID : org.apache.derby.impl.services.locks.LockSpace@94884d.
> That is, the transaction id and the failing statement are not shown.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


Mime
View raw message