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

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

In retro-perspective I think we should never have fixed OAK-3107. In an 
personal discussion [~frm] came up with the following idea to undo the "damage":

# Limit binary ids on {{oak-segment-tar}} to 4k. I think this is a reasonable 
limit to impose on blob store implementations. 
# Wrap offending {{BlobStore}} implementations into a double dispatch on ids 
longer than 4k. If assuming the size of the id of a binary grows monotonically 
with the size of the binary itself, an obvious approach is to store ids longer 
than 4k again in the blob store. This wrapper can then be used to support all 
blob stores that satisfy above monotonicity criteria. Other blob store 
implementations not satisfying this criteria (I would guess there are none) 
would need to come up with their own wrapper or fix. 

The first point would "undo the damage" and the second point would provide an 
alternative fix for OAK-3107 not impacting the storage format of 
{{oak-segment-tar}}.



> 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