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