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

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

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Open
    • Major
    • Resolution: Unresolved
    • 1.0
    • None
    • None
    • Operating System: All
      Platform: All

    • 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

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

              Dates

                Created:
                Updated: