Francesco Mari created OAK-6919:
-----------------------------------

             Summary: 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
            Reporter: Francesco Mari
            Assignee: Francesco Mari
             Fix For: 1.8, 1.7.12


{{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
(v6.4.14#64029)

Reply via email to