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

Chetan Mehrotra commented on OAK-2603:
--------------------------------------

bq. 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.

Ack

bq. I was also wondering if the partitioning is necessary because we already do 
that in the MongoDocumentStore.remove().
The problem is that remove takes a list and not iterator currently. Creating a 
complete new list post transformation would have doubled the storage cost. So 
used current approach. This would also be later required for fix done for 
OAK-2557

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

Reply via email to