Uploaded image for project: 'Jackrabbit Content Repository'
  1. Jackrabbit Content Repository
  2. JCR-3369

Garbage collector improvements

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Closed
    • Major
    • Resolution: Fixed
    • None
    • 2.2.13, 2.4.3, 2.5.1
    • jackrabbit-core
    • None

    Description

      We identified a number of improvements to garbage collector related code to make it more robust, specifically:

      1- As discussed in JCR-3340, when GC goes through nodes, it can encounter a lot of ItemStateExceptions. Currently, stack trace of these exceptions are not logged and this makes debugging difficult. Instead, ItemStateExceptions should at least be logged with full stack trace every 1 minute or so.

      2- As discussed in JCR-3341, GC does not fail fast if there is a problem and it should.

      3- Session usage in the GC is problematic. The session in GC is used for traversing the content and marking the binaries, but the listener in that class uses the same session as well, when a node is added. GC should rather use a separate session in onEvent() to avoid concurrent use.

      4- GC listens for NODE_ADDED event for moved nodes but instead it should listen for NODE_MOVED.

      Attachments

        1. JCR-3369-trunk.patch
          17 kB
          Mete Atamel
        2. JCR-3369-2.4.patch
          17 kB
          Mete Atamel
        3. JCR-3369-2.2.patch
          17 kB
          Mete Atamel

        Activity

          People

            thomasm Thomas Mueller
            meteatamel Mete Atamel
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Time Tracking

                Estimated:
                Original Estimate - 48h
                48h
                Remaining:
                Remaining Estimate - 48h
                48h
                Logged:
                Time Spent - Not Specified
                Not Specified