[ 
https://issues.apache.org/jira/browse/OAK-2045?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14108942#comment-14108942
 ] 

Michael Dürig commented on OAK-2045:
------------------------------------

bq. {{SegmentStaleException}}

This one is only handled in {{SegmentNodeStates}}. I foresee issues for 
{{SegmentBlob}} which clients also might keep references to. 

> 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: Chetan Mehrotra
>             Fix For: 1.1
>
>         Attachments: 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.2#6252)

Reply via email to