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 "Davide Giannella (JIRA)" <ji...@apache.org> on 2019/04/09 10:36:01 UTC

[jira] [Updated] (OAK-6919) SegmentCache might introduce unwanted memory references to SegmentId instances

     [ https://issues.apache.org/jira/browse/OAK-6919?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Davide Giannella updated OAK-6919:
----------------------------------
    Fix Version/s: 1.14.0

> SegmentCache might introduce unwanted memory references to SegmentId instances
> ------------------------------------------------------------------------------
>
>                 Key: OAK-6919
>                 URL: https://issues.apache.org/jira/browse/OAK-6919
>             Project: Jackrabbit Oak
>          Issue Type: Improvement
>          Components: segment-tar
>            Reporter: Francesco Mari
>            Assignee: Francesco Mari
>            Priority: Major
>             Fix For: 1.12.0, 1.14.0
>
>
> {{SegmentCache}} contains, through the underlying Guava cache, hard references to both {{SegmentId}} and {{Segment}} instances. Thus, {{SegmentCache}} contributes to the computation of in-memory references that, in turn, constitute the root references of the garbage collection algorithm.
> Further investigations are needed to assess this statement but, if {{SegmentCache}} is proved to be problematic, there are some possible solutions.
> For example, {{SegmentCache}} might be reworked to store references to MSB/LSB pairs as keys, instead of to {{SegmentId}} instances. Moreover, instead of referencing {{Segment}} instances as values, {{SegmentCache}} might hold references to their underlying {{ByteBuffer}}. With these changes in place, {{SegmentCache}} would not interfere with {{SegmentTracker}} and the garbage collection algorithm.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)