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