jackrabbit-oak-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Alex Parvulescu (JIRA)" <j...@apache.org>
Subject [jira] [Created] (OAK-3172) Unreleased closed sessions can keep a root reference from getting collected
Date Mon, 03 Aug 2015 10:19:05 GMT
Alex Parvulescu created OAK-3172:
------------------------------------

             Summary: Unreleased closed sessions can keep a root reference from getting collected
                 Key: OAK-3172
                 URL: https://issues.apache.org/jira/browse/OAK-3172
             Project: Jackrabbit Oak
          Issue Type: Sub-task
          Components: segmentmk
            Reporter: Alex Parvulescu
            Assignee: Alex Parvulescu


It looks like even if a component logs out a session, but keeps a reference to it around this
will still prevent GC from running, as the session will wrap a _root_ reference pointing to
the moment/revision when the session was last accessed.

Extract from jvisualvm:
{code}
this     - value: org.apache.jackrabbit.oak.plugins.segment.SegmentId #505
 <- [106]     - class: org.apache.jackrabbit.oak.plugins.segment.SegmentId[], value: org.apache.jackrabbit.oak.plugins.segment.SegmentId
#505
  <- refids     - class: org.apache.jackrabbit.oak.plugins.segment.Segment, value: org.apache.jackrabbit.oak.plugins.segment.SegmentId[]
#67 (120 items)
   <- segment     - class: org.apache.jackrabbit.oak.plugins.segment.SegmentId, value:
org.apache.jackrabbit.oak.plugins.segment.Segment #81
    <- [124]     - class: org.apache.jackrabbit.oak.plugins.segment.SegmentId[], value:
org.apache.jackrabbit.oak.plugins.segment.SegmentId #496
     <- refids     - class: org.apache.jackrabbit.oak.plugins.segment.Segment, value: org.apache.jackrabbit.oak.plugins.segment.SegmentId[]
#17 (204 items)
      <- segment     - class: org.apache.jackrabbit.oak.plugins.segment.SegmentId, value:
org.apache.jackrabbit.oak.plugins.segment.Segment #17
       <- segmentId     - class: org.apache.jackrabbit.oak.plugins.segment.SegmentNodeState,
value: org.apache.jackrabbit.oak.plugins.segment.SegmentId #551
        <- base     - class: org.apache.jackrabbit.oak.plugins.segment.SegmentNodeBuilder,
value: org.apache.jackrabbit.oak.plugins.segment.SegmentNodeState #5557
         <- builder     - class: org.apache.jackrabbit.oak.core.MutableRoot, value: org.apache.jackrabbit.oak.plugins.segment.SegmentNodeBuilder
#5652
          <- root     - class: org.apache.jackrabbit.oak.jcr.repository.RepositoryImpl$1,
value: org.apache.jackrabbit.oak.core.MutableRoot #151
           <- sd     - class: com.adobe.granite.repository.impl.CRX3SessionImpl, value:
org.apache.jackrabbit.oak.jcr.repository.RepositoryImpl$1 #117
{code}



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

Mime
View raw message