[ 
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.

Reply via email to