Uploaded image for project: 'ODE'
  1. ODE
  2. ODE-574

Memory leak when Un-deploying processes that contain XSL stylesheets

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • None
    • None
    • None
    • N/A

    Description

      Currently if the BPEL process contains any XSL stylesheets it will not free up all the memory that was allocated during the compilation/dehydration of the process. This seems to be because there is a cache of XSLTemplates stored in the XSLTransformHandler, and these XSLTemplates can sometimes contain (transitive) references back to the OProcess object instances (via for example the URIResolvers/XPAth Expressions). Unfortunately this cache lives forever (crucially even after the process has been un-deployed) because of this the object graph hanging from the OProcess object instance is never available for the GC to pick-off.

      There is also another reference issue in the ErrorListener that is associated with the XSLTransformHandler instance, but I don't really understand that bit of code just as yet, a patch for the former issue follows, I'm reviewing the ErrorListener issue currently.

      Attachments

        1. memory-leak-all-in-one-2.patch
          2 kB
          Ciaran Jessup
        2. memory-leak-all-in-one.patch
          6 kB
          Ciaran Jessup
        3. cleanup-xsl-cache.patch
          14 kB
          Karthick Sankarachary

        Activity

          People

            Unassigned Unassigned
            javajunky Ciaran Jessup
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: