You are viewing a plain text version of this content. The canonical link for it is here.
Posted to derby-dev@db.apache.org by "Knut Anders Hatlen (JIRA)" <ji...@apache.org> on 2011/04/04 15:25:06 UTC
[jira] [Updated] (DERBY-5165) Prepared XA transaction locks are not
kept across DB restart
[ https://issues.apache.org/jira/browse/DERBY-5165?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Knut Anders Hatlen updated DERBY-5165:
--------------------------------------
Attachment: Derby5165.java
I'm able to reproduce this. See attached program, Derby5165.java. If I change step 1 to perform an insert instead of an update, step 4 times out as expected. But if an update is performed, step 4 is able to read the new value before it has been committed.
> Prepared XA transaction locks are not kept across DB restart
> ------------------------------------------------------------
>
> Key: DERBY-5165
> URL: https://issues.apache.org/jira/browse/DERBY-5165
> Project: Derby
> Issue Type: Bug
> Affects Versions: 10.6.2.1
> Environment: Mac OSX
> Reporter: Guy Pardon
> Attachments: Derby5165.java
>
>
> Steps to reproduce:
> 1-perform update with XA, using, say Xid xid1
> 2-prepare xid1 with XA but do NOT commit
> 3-restart Derby DB
> 4-the updates of step 1 will be visible
> When xid1 is rolled back after step 3 then the updates are gone. So my conclusion is that the transaction is not committed yet, but the updates are visible after prepare. This is a violation of the XA semantics.
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira