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 "Michael Marth (JIRA)" <ji...@apache.org> on 2015/04/01 15:44:53 UTC

[jira] [Updated] (OAK-2045) Long running JCR session prevent live cleanup in Segment FileStore

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

Michael Marth updated OAK-2045:
-------------------------------
    Fix Version/s: 1.3.0

> Long running JCR session prevent live cleanup in Segment FileStore
> ------------------------------------------------------------------
>
>                 Key: OAK-2045
>                 URL: https://issues.apache.org/jira/browse/OAK-2045
>             Project: Jackrabbit Oak
>          Issue Type: Bug
>          Components: segmentmk
>            Reporter: Chetan Mehrotra
>            Assignee: Michael Dürig
>              Labels: gc
>             Fix For: 1.3.0
>
>         Attachments: OAK-2045-segment-fault-approach-1.patch, OAK-2045-segment-fault-approach-2-path-based.patch, OAK-2045-segment-fault-approach.patch, OAK-2045-test-fix.patch
>
>
> Cleanup operation in SegmentNodeStore detects the un referenced garbage and clean it up. To determine the reference validity it starts with an initial set of SegmentId which have a live java reference. 
> This works fine for simple setup but when Oak repository is used in an application (like Sling) where application code can create long running session (for observation) then such session are bound to old NodeState at time of startup. Such references prevent the cleanup logic to remove older revisions while system is running. Such revisions can only be removed via an offline compaction-> cleanup.
> Need to find out a way where we can _migrate_ such old NodeState references to newer revisions



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