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

Michael Dürig commented on OAK-4740:
------------------------------------

Given the realisation that above monotonicity assumption does not hold and the 
possibly extra complexity wrt. DSGC I started thinking about other ways to fix 
this. 

One idea would be to keep the discrimination of binaries ids (smaller / bigger 
than 4k) and the way they are stored but to change their representation in the 
binary index introduced with OAK-4201: for binary ids bigger that 4k, what if 
we just put the record id pointing to the string record containing the blob id 
into the index (instead of the blob id itself)? This would give us back 
recoverability. OTOH it would make the index a bit more expensive to use as big 
binaries would still need an additional resolution step. However, I think this 
is a good trade off to make as we should discourage binary ids bigger than 4k 
anyway. 

> TarReader recovery skips generating the index and binary graphs
> ---------------------------------------------------------------
>
>                 Key: OAK-4740
>                 URL: https://issues.apache.org/jira/browse/OAK-4740
>             Project: Jackrabbit Oak
>          Issue Type: Bug
>          Components: segment-tar
>            Reporter: Alex Parvulescu
>            Assignee: Francesco Mari
>             Fix For: Segment Tar 0.0.16
>
>
> As noticed from the tar recovery bits [0] the resulting tar file would lack 
> the binary reference graph and index graph. This has implications on the DSGC 
> (not properly reporting binary references would result in binaries being 
> GC'ed) and GC operations.
> / cc [~frm], [~mduerig]
> [0] 
> https://github.com/apache/jackrabbit-oak/blob/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/file/TarReader.java#L216



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

Reply via email to