Uploaded image for project: 'Commons EL'
  1. Commons EL
  2. EL-1

[el] Memory Leak: EL Cache entries never removed.

    XMLWordPrintableJSON

    Details

    • Type: Bug
    • Status: Open
    • Priority: Major
    • Resolution: Unresolved
    • Affects Version/s: 1.0
    • Fix Version/s: None
    • Labels:
      None
    • Environment:

      Operating System: All
      Platform: All

    • Bugzilla Id:
      35900

      Description

      This bug refers to the two caches on ExpressionEvaluatorImpl,
      sCachedExpressionStrings, but primarily sCachedExpectedTypes.

      Here is a use case to illustrate the problem. A web application typically
      creates 1,000 different objects of classes it defines using the EL language, and
      PropertyEditor's. A Tomcat instance is run with 5 of these web applications.
      Each time one of them is reloaded, a new classloader is created for the web
      application, so a new set of 1,000 objects is created in the cache. The old
      objects, and objects they point to (e.g. class and classloader objects), are
      never garbage collected. The only way to recover the associated memory is to
      stop and restart Tomcat.

      There are many possible solutions. A simple one would be to age instances out
      of the caches after a fixed period of time (say one hour). It would be nice if
      whatever cache controls are provided are configurable.

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                Unassigned
                Reporter:
                balexander@informative.com Bill Alexander
              • Votes:
                0 Vote for this issue
                Watchers:
                2 Start watching this issue

                Dates

                • Created:
                  Updated: