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