[
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)