db-derby-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Daniel John Debrunner (JIRA)" <j...@apache.org>
Subject [jira] Commented: (DERBY-2220) Uncommitted transactions executed throught XAResource will held locks after the application terminates (or crashes during the transaction).
Date Mon, 19 Feb 2007 16:25:06 GMT

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

Daniel John Debrunner commented on DERBY-2220:
----------------------------------------------

Could you confirm what the patch does. Your first proposal seems to say that if the socket
is closed the connection is rolled back,
but then you add the same behaviour for embedded, but embedded doesn't use sockets, so I'm
not clear what you intend the
embedded behaviour to be. Thanks.


Re XADataSourceConnector;
.
As its javadoc says "Returns a connection in local mode obtained from getXAConnection().getConnection()"
It probably could be named better, unless it could be expanded to also provide global transaction
support)

I think it's there to allow tests to run using a connection object from an XADataSource that
remains in local mode.
Thus allowing increased coverage.
E.g. one could imagine running all the jdbcapi & jdbc4 tests in multiple connection modes
to ensure complete testing:
  DriverManager.getConnection
  DataSource
  XADataSource (local & global)
  ConnectionPoolDataSource

> Uncommitted transactions executed throught XAResource will held locks after the application
terminates (or crashes during the transaction).
> -------------------------------------------------------------------------------------------------------------------------------------------
>
>                 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
>         Assigned To: Julius Stroffek
>         Attachments: d2220_beta.diff, d2220_beta2.diff, d2220_try1.diff, d2220_try1.stat,
XATranTest.java, xxx.sql
>
>
> Using this piece 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.
-
You can reply to this email to add a comment to the issue online.


Mime
View raw message