Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Fixed
-
2.3.20
-
None
Description
We've recently been having issues with our app crashing and trying to track down the root causes. One of the things we've seen is that over the course of 1 day, 50% of our memory (almost 620 MB of 1.2 GB) is allocated to "com.opensymphony.xwork.validator.AnnotationActionValidatorManager" according to the heap dump. We also see millions of entries in two SynchronizedMap's:
- validatorCache (1,635,019 entries)
- validatorFileCache (87,321 entries)
Looking through the entries in the validator cache, we se entries for every unique page browsed within the app. Note: we're using staticParam mapping and NamedVariable PatternMatching in action names e.g. "${id}/${slug}" so effectively every url is unique.
Looking at the source code, should these maps perhaps be "WeakHashMaps" or WeakReferences so that they're disposed of?
(source code to the app is here: https://bitbucket.org/tdar/tdar.src/src )
Attachments
Attachments
Issue Links
- is duplicated by
-
WW-3715 Allow for dynamic validation xml files, by building validator cache based on action AND context
- Closed