|
|
|
Issue Links:
|
Reference
|
|
This issue relates to:
|
|
JRA-12524
OutOfMemory error when running the functional tests on Tomcat 5.5.20 on JDK 1.5
|
|
|
|
|
|
|
|
There's a couple of places in JIRA where we leak (or could potentially leak) the VelocityEngine directly or indirectly via the WW-ActionContext threadlocal.
These are:
- WebWorkAdaptor.mapJellyTagToAction (finalizeContext should be in finally block)
- JiraPluginWebworkVelocityServlet (static declaration of VelocityManager)
- SearchContextImpl.GLOBAL_SEARCH_CONTEXT may hold on to VelocityManagers (via several links)
- QuickLinkServlet: locally caches several managers that may hold on to the VelocityManager/Engine.
|
|
Description
|
There's a couple of places in JIRA where we leak (or could potentially leak) the VelocityEngine directly or indirectly via the WW-ActionContext threadlocal.
These are:
- WebWorkAdaptor.mapJellyTagToAction (finalizeContext should be in finally block)
- JiraPluginWebworkVelocityServlet (static declaration of VelocityManager)
- SearchContextImpl.GLOBAL_SEARCH_CONTEXT may hold on to VelocityManagers (via several links)
- QuickLinkServlet: locally caches several managers that may hold on to the VelocityManager/Engine.
|
Show » |
|
JRA-12524didn't do much to improve the memory situation. We basically need to also patch WebWork (the GenericDispatcher.finalizeContext()) method in particular to null the oldContextTable.