Uploaded image for project: 'Jackrabbit Oak'
  1. Jackrabbit Oak
  2. OAK-2045

Long running JCR session prevent live cleanup in Segment FileStore

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Major
    • Resolution: Won't Fix
    • None
    • None
    • segmentmk

    Description

      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

      Attachments

        1. OAK-2045-segment-fault-approach.patch
          25 kB
          Chetan Mehrotra
        2. OAK-2045-segment-fault-approach-1.patch
          28 kB
          Chetan Mehrotra
        3. OAK-2045-segment-fault-approach-2-path-based.patch
          24 kB
          Chetan Mehrotra
        4. OAK-2045-test-fix.patch
          2 kB
          Chetan Mehrotra

        Issue Links

          Activity

            People

              mduerig Michael Dürig
              chetanm Chetan Mehrotra
              Votes:
              0 Vote for this issue
              Watchers:
              6 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: