jackrabbit-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Marcel Reutegger (JIRA)" <j...@apache.org>
Subject [jira] Commented: (JCR-1587) When trying to reuse version label in transaction, exception is thrown
Date Tue, 13 May 2008 14:42:55 GMT

    [ https://issues.apache.org/jira/browse/JCR-1587?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12596405#action_12596405
] 

Marcel Reutegger commented on JCR-1587:
---------------------------------------

The sequence of checking the various places where an ItemState can reside is not correct in
XAItemStateManager.

E.g. in getItemState() first checks the transaction change log if it contains an item. If
the item is not known to the change log the base class (LocalItemStateManager) is called.
This means the change logs and item state managers are checked in the following sequence:

1) transaction change log
2) local change log
3) shared item state manager

This is actually wrong and should rather be:

1) local change log
2) transaction change log
3) shared item state manager

The test fails because the property for the version label "2" is marked deleted in the transaction
change log, while at the same time is added in the local change log. Because the sequence
of the checks is wrong, the version label property is incorrectly reported as destroyed.

> When trying to reuse version label in transaction, exception is thrown
> ----------------------------------------------------------------------
>
>                 Key: JCR-1587
>                 URL: https://issues.apache.org/jira/browse/JCR-1587
>             Project: Jackrabbit
>          Issue Type: Bug
>          Components: versioning
>    Affects Versions: core 1.4.3, core 1.4.4
>         Environment: Jackrabbit Core 1.4.4, Jencks 2.0, Springmodules 0.8a, Jackrabbit
JCA 1.4
> Java version: 1.6.0_06
> OS name: "windows vista" version: "6.0" arch: "x86" Family: "windows"
>            Reporter: Roman Puchkovskiy
>         Attachments: test-reassign-version-label-in-tx.zip
>
>
> Following sequence causes failure:
> 1. first transaction:
>   1.1 create versionable node
>   1.2 create version 1 of this node
> 2. second transaction:
>   2.1 create version 2 of this node
>   2.2 assign a label to version 2
> 3. third transaction:
>   3.1 restore a node to version 1
>   3.2 remove version 2
>   3.3 make version 3 of  same node
>   3.4 assign same label (which was assigned to version 2) to version 3 -> fails
> Same sequence which does not use transactions at all works fine.
> Going to attach a test case.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


Mime
View raw message