[
https://issues.apache.org/jira/browse/DERBY-2220?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12479343
]
Julius Stroffek commented on DERBY-2220:
----------------------------------------
> Is point 2 (Forbid the call to XAConnection.close when there is a global
> transaction
> associated with the corresponding resource) a necessary part of this bug fix,
> or would it be better to discuss/fix it under a separate issue?
Ok Knut, to make thinks simpler for discussion I have created a separate issue
for this - DERBY-2420. I will move the discussion there...
> abortCurrentTransaction() checks (e.errorCode != XAException.XA_RBOTHER &&
> e.errorCode != XAException.XA_RBROLLBACK).
> Would it make sense to test (errorCode < XA_RBBASE || errorCode > XA_RBEND)
> instead?
Yes, it would. Thanks, I have not noticed that fields in XAException.
> - there is a test for XAConnection.close() that is supposed to fail. What
> about adding a test case where it doesn't fail?
I think, this case is already covered by xaSimplePositive.sql and
xaSimpleNegative.sql and other XA tests.
And I completely agree with all your other comments. I'll prepare a patch for
those under the new issue.
> 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, d2220_try2.diff, d2220_try2.stat, d2220_try4.diff,
> d2220_try4.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.