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

        

Reply via email to