[ 
https://issues.apache.org/jira/browse/OAK-3130?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Marcel Reutegger updated OAK-3130:
----------------------------------
    Description: 
VersionHistory.removeVersion() allows to remove a version of a checked in node 
still referencing that version. This results in a dangling base version.

This is caused by a more general issue in the ReferenceEditor, which does not 
enforce referential integrity in some cases.

  was:VersionHistory.removeVersion() allows to remove a version of a checked in 
node still referencing that version. This results in a dangling base version.

        Summary: ReferenceEditor may not enforce referential integrity  (was: 
VersionHistory.removeVersion() succeeds even if version is still referenced)

Turns out this is actually a more general issue with the ReferenceEditor. 
Updated the title of this issue accordingly.

Added more tests to trunk: http://svn.apache.org/r1692250

As can be seen from the test, the ReferenceEditor fails to enforce referential 
integrity when a referenceable node is removed together with a reference 
pointing to it and there are other existing references still pointing to the 
referenceable node.

> ReferenceEditor may not enforce referential integrity
> -----------------------------------------------------
>
>                 Key: OAK-3130
>                 URL: https://issues.apache.org/jira/browse/OAK-3130
>             Project: Jackrabbit Oak
>          Issue Type: Bug
>          Components: jcr
>    Affects Versions: 1.2.3, 1.3.3, 1.0.17
>            Reporter: Marcel Reutegger
>            Assignee: Marcel Reutegger
>
> VersionHistory.removeVersion() allows to remove a version of a checked in 
> node still referencing that version. This results in a dangling base version.
> This is caused by a more general issue in the ReferenceEditor, which does not 
> enforce referential integrity in some cases.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to