[ 
https://issues.apache.org/jira/browse/OAK-8048?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17045608#comment-17045608
 ] 

Marcel Reutegger commented on OAK-8048:
---------------------------------------

bq. wouldn't it be clearer if we just allowed a remove operation on the 
VersionHistory node?

I think that would violate the specification. The version history nodes are 
protected.

bq. this (the implicit behavior) wouldn't help with cleaning up existing repos, 
right?

It won't clean the repository up automatically, but there is already an 
existing approach to trigger the logic in OrphanedVersionCleaner. Assuming 
there is an empty version history without a corresponding versionable node. 
Creating a versionable node with a UUID as recorded in the empty version 
history will link the new node to the empty version history. When the node is 
deleted, the OrphanedVersionCleaner will remove the empty version history as 
well.

With the proposed patch, I'm wondering what happens when there is a versionable 
node with the root version as the base version. Wouldn't the code remove the 
version history when the last non-root version is removed?

> VersionHistory not removed when removing node and all its versions
> ------------------------------------------------------------------
>
>                 Key: OAK-8048
>                 URL: https://issues.apache.org/jira/browse/OAK-8048
>             Project: Jackrabbit Oak
>          Issue Type: Bug
>          Components: core
>    Affects Versions: 1.8.9
>            Reporter: Marco Piovesana
>            Assignee: Julian Reschke
>            Priority: Major
>         Attachments: OAK-8048-test.diff, OAK-8048.diff, fix-OAK-8048.patch
>
>
> Hi all,
> I'm trying to delete a node and all its versions, but the version history is 
> not removed. I'm doing the following steps (as described in OAK-4370 and 
> JCR-134):
>  # retrieve the version history
>  # delete the node and save the session
>  # delete all versions except for the base version
>  # save the session
> The versions are all gone but the versionHistory node, and the base version 
> node, are still there. Am I doing something wrong? 
> The only test related to this that I found is 
> {{ReadOnlyVersionManagerTest.testRemoveEmptyHistoryAfterRemovingVersionable}}.
>  It does work, but uses Oak related classes and not the JCR interface.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to