[ 
https://issues.apache.org/jira/browse/TRINIDAD-1985?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12980516#action_12980516
 ] 

Jeanne Waldman commented on TRINIDAD-1985:
------------------------------------------

Something to think about --
In the FileSystemStyleCache code, the _cache and _entryCache are 
ConcurrentMaps. If we use an LRU implementation 
org.apache.myfaces.trinidadinternal.util.LRUCache extends LinkedHashMap, and 
wrap this in Collections.synchronizedMap, then we will lose the features of 
ConcurrentMap. We'll need to synchronize on remove, and from what I've read, we 
will lose scalability since only one thread can access the Map at once with 
synchronizedMap.

> High live memory usage from SkinStyleProvider
> ---------------------------------------------
>
>                 Key: TRINIDAD-1985
>                 URL: https://issues.apache.org/jira/browse/TRINIDAD-1985
>             Project: MyFaces Trinidad
>          Issue Type: Bug
>          Components: Archetype
>    Affects Versions:  1.2.12-core
>            Reporter: Stevan Malesevic
>
> We were checking a live memory usage in one app and noticed that some 83MB of 
> heap is pinned under SkinStyleProvider. This is under 14 instances of 
> FileSystemStyleCache$Entry each with about 6MB of memory
> Heap shows these keys for styles
> Locale        Version
> en    Mozilla/5.0 (Windows NT 5.1; rv:2.0b7) Gecko/20100101 Firefox/4.0b7
> ko    Mozilla/5.0 (Windows; U; Windows NT 5.2; en-US; rv:1.9.1.11) 
> Gecko/20100701 Firefox/3.5.11 ( .NET CLR 3.5.30729)
> en    Mozilla/5.0 (Windows; U; Windows NT 5.2; en-US; rv:1.9.1.11) 
> Gecko/20100701 Firefox/3.5.11 ( .NET CLR 3.5.30729)
> ko    Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US) AppleWebKit/534.10 
> (KHTML, like Gecko) Chrome/8.0.552.224 Safari/534.10
> en    Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US) AppleWebKit/534.10 
> (KHTML, like Gecko) Chrome/8.0.552.224 Safari/534.10
> ko    Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.1.3) 
> Gecko/20090824 Firefox/3.5.3
> en    Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.1.3) 
> Gecko/20090824 Firefox/3.5.3
> en    Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.0.18) 
> Gecko/2010020220 Firefox/3.0.18 (.NET CLR 3.5.30729)
> ko    Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.0.18) 
> Gecko/2010020220 Firefox/3.0.18 (.NET CLR 3.5.30729)
> en    Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.1.9) 
> Gecko/20100315 Firefox/3.5.9 (.NET CLR 3.5.30729)
> ko    Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.1.9) 
> Gecko/20100315 Firefox/3.5.9 (.NET CLR 3.5.30729)
> en    Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.2; Trident/4.0; .NET 
> CLR 1.1.4322; .NET CLR 2.0.50727; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729)
> en    Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2) 
> Gecko/20100115 Firefox/3.6 (.NET CLR 3.5.30729)
> en    Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.1.15) 
> Gecko/20101026 Firefox/3.5.15 ( .NET CLR 3.5.30729)
> en    Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2.10) 
> Gecko/20100914 Firefox/3.6.10 (.NET CLR 3.5.30729)
> ko    Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 2.0.50727; 
> .NET CLR 1.1.4322; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729; InfoPath.2)
> en    Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 2.0.50727; 
> .NET CLR 1.1.4322; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729; InfoPath.2)
> en    Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2.12) 
> Gecko/20101026 Firefox/3.6.12 ( .NET CLR 3.5.30729)
> en    Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.1.16) 
> Gecko/20101130 Firefox/3.5.16 ( .NET CLR 3.5.30729)
> ko    Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.1.16) 
> Gecko/20101130 Firefox/3.5.16 ( .NET CLR 3.5.30729)
> en    Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2.13) 
> Gecko/20101203 Firefox/3.6.13
> Now beside the amount of memory pinned by single FileSystemStyleCache$Entry 
> the issue is that we apparently create too many different versions and there 
> is no restriction to the size of cache leaving open door for memory leak
> Two questions
> 1. Do we really have different styles for FF on 3.5 or 3.6 or so?  If not why 
> do we key by it?
> 2. Given different browsers and locales having cache as plain concurrent hash 
> map is actually a source of leak as over time it can accumulate more and 
> more. Do we have any restriction there? Should  the entries by LRU or have 
> exparation

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to