db-derby-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Julius Stroffek (JIRA)" <j...@apache.org>
Subject [jira] Commented: (DERBY-2220) Transaction executed throught XAResource will held locks forever (until commit is executed) and also after the application terminates.
Date Mon, 08 Jan 2007 13:22:27 GMT

    [ https://issues.apache.org/jira/browse/DERBY-2220?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12463032
] 

Julius Stroffek commented on DERBY-2220:
----------------------------------------

The way how to reproduce the error:

Run the derby server on localhost (pass these options to java: -Dderby.locks.monitor=true
-Dderby.locks.deadlockTrace=true). Execute a code in xxx.sql, run the XATransactionTest.java.
Use ij tool to connect to a TestDB database on localhost. Execute the query 'select * from
dummy;' After a couple of seconds you will get a message

ij> select * from dummy;
ERROR 40XL2: A lock could not be obtained within the time requested.  The lockTable dump is:
2007-01-08 13:12:52.610 GMT
XID       |TYPE         |MODE|LOCKCOUNT|LOCKNAME                                         
                              |STATE|TABLETYPE / LOCKOBJ                   |INDEXNAME / CONTAINER_ID
/ (MODE for LATCH only)  |TABLENAME / CONGLOM_ID                |
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
*** The following row is the victim ***
131       |ROW          |S   |0        |(1,7)                                            
                              |WAIT |T                             |NULL                 
                            |DUMMY                                 |
*** The above row is the victim ***
130       |ROW          |X   |1        |(1,7)                                            
                              |GRANT|T                             |NULL                 
                            |DUMMY                                 |
130       |TABLE        |IX  |1        |Tablelock                                        
                              |GRANT|T                             |NULL                 
                            |DUMMY                                 |
131       |TABLE        |IS  |1        |Tablelock                                        
                              |GRANT|T                             |NULL                 
                            |DUMMY                                 |
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------


> Transaction executed throught XAResource will held locks forever (until commit is executed)
and also after the application terminates.
> --------------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: DERBY-2220
>                 URL: https://issues.apache.org/jira/browse/DERBY-2220
>             Project: Derby
>          Issue Type: Bug
>    Affects Versions: 10.3.0.0
>         Environment: Solaris Nevada build 49, Sun's JDK1.6
>            Reporter: Julius Stroffek
>         Attachments: XATranTest.java, xxx.sql
>
>
> Using this pieco of code derby will not release a table lock of 'dummy' table.
>             String query = "insert into dummy (field1) values ('" + Integer.toString(value)
+ "')";
>             XAConnection xaConnection = createXAConnection("jdbc:derby://localhost:1527/TestDB",
"", "");
>             XAResource xaResource = xaConnection.getXAResource();
>             conn = xaConnection.getConnection();
>             
>             Xid xid = createXid(value);        
>             xaResource.setTransactionTimeout(10);
>             xaResource.start(xid, XAResource.TMNOFLAGS);
>             
>             Statement statement = conn.createStatement();
>             statement.execute(query);        
>             
>             // terminate the client application
>             // this will not release any locks
>             System.exit(0);

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: https://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Mime
View raw message