You are viewing a plain text version of this content. The canonical link for it is here.
Posted to oak-issues@jackrabbit.apache.org by "Marcel Reutegger (JIRA)" <ji...@apache.org> on 2015/03/11 08:56:38 UTC

[jira] [Commented] (OAK-2603) Failure in one of the batch in VersionGC might lead to orphaned nodes

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

Marcel Reutegger commented on OAK-2603:
---------------------------------------

I like the approach with the PathComparator better. This way we don't have to introduce yet another comparator.

I noticed one minor thing: the debug message mentions ids, but now passes paths. We should either change the message or transform the paths to ids.

I was also wondering if the partitioning is necessary because we already do that in the MongoDocumentStore.remove().

> Failure in one of the batch in VersionGC might lead to orphaned nodes
> ---------------------------------------------------------------------
>
>                 Key: OAK-2603
>                 URL: https://issues.apache.org/jira/browse/OAK-2603
>             Project: Jackrabbit Oak
>          Issue Type: Bug
>          Components: mongomk
>            Reporter: Chetan Mehrotra
>            Assignee: Chetan Mehrotra
>             Fix For: 1.1.8, 1.0.13
>
>         Attachments: OAK-2603.patch
>
>
> VersionGC logic currently performs deletion of nodes in batches. For GC to work properly NodeDocument should always be removed in bottom-up mode i.e. parent node should be removed *after* child has been removed
> Currently the GC logic deletes the NodeDocument in undefined order. In such mode if one of the batch fails then its possible that parent might have got deleted but the child was not deleted. 
> Now in next run the child node would not be recognized as a deleted node because the commit root would not be found.



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