[ 
https://issues.apache.org/jira/browse/OFBIZ-4220?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Philippe Mouawad updated OFBIZ-4220:
------------------------------------

       Priority: Critical  (was: Major)
    Description: 
If maxInMemory is set on caches, then current implementation will leak if many 
puts are done in cache.
We made some load testing and current implementation ends very rapidly in an 
OutOfMemory.

Philippe Mouawad
http://www.ubik-ingenierie.com

  was:
Hello,
Since some time UtilCache has been updated to replace the WeakHashMap by a 
ConcurrentHashMap:
    private static final ConcurrentHashMap<String, UtilCache<?, ?>> 
utilCacheTable = new ConcurrentHashMap<String, UtilCache<?, ?>>();

I think this fix to concurrency issues has introduced a memory leak or at least 
a much bigger impact on Memory.
Indeed descendent of AbstractCache (particularly AbstractEntityConditionCache, 
EntityListCache) tend to create many caches that do not need to always persist 
in time.

The old WeakHashMap handled this by enabling them to disappear while today the 
Hard ref disables this.


We made some load testing and current implementation ends with an OutOfMemory.


        Summary: Current implementation of UtilCache has a memory leak if 
maxInMemory is set  (was: Current implementation of UtilCache has a memory leak)

> Current implementation of UtilCache has a memory leak if maxInMemory is set
> ---------------------------------------------------------------------------
>
>                 Key: OFBIZ-4220
>                 URL: https://issues.apache.org/jira/browse/OFBIZ-4220
>             Project: OFBiz
>          Issue Type: Bug
>          Components: framework
>    Affects Versions: SVN trunk
>         Environment: ALL
>            Reporter: Philippe Mouawad
>            Priority: Critical
>              Labels: CACHE, LEAK, MEMORY
>         Attachments: TestMemoryLeak.java, leak.png, patch-4220.patch
>
>
> If maxInMemory is set on caches, then current implementation will leak if 
> many puts are done in cache.
> We made some load testing and current implementation ends very rapidly in an 
> OutOfMemory.
> Philippe Mouawad
> http://www.ubik-ingenierie.com

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to