[
https://issues.apache.org/jira/browse/MYFACES-4186?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Bill Lucy updated MYFACES-4186:
-------------------------------
Status: Patch Available (was: Open)
> Performance concurrency issue in _ComponentAttributesMap
> --------------------------------------------------------
>
> Key: MYFACES-4186
> URL: https://issues.apache.org/jira/browse/MYFACES-4186
> Project: MyFaces Core
> Issue Type: Bug
> Affects Versions: 2.0.24, 2.1.18, 2.2.12, 2.3.0-beta
> Reporter: Bill Lucy
> Assignee: Bill Lucy
>
> We've hit a performance issue with the property descriptor map in
> _ComponentAttributesMap. Driving a heavy load to an application, we can see
> threads spending a lot of time in this area:
> ...
> (entered lock: java/util/Collections$SynchronizedMap@0x000000000000000, entry
> count:1)
> at
> javax/faces/component/_ComponentAttributesMap.getPropertyDescriptor(_ComponentAttributesMap.java:394(Compiled
> Code))
> at
> javax/faces/component/_ComponentAttributesMap.containsKey(_ComponentAttributesMap.java:165(Compiled
> Code))
> at
> javax/faces/component/UIComponent.isCompositeComponent(UIComponent.java:239(Compiled
> Code))
> ...
> In this case, replacing the HashMap used by _propertyDescriptorMap with a
> ConcurrentHashMap gives us much better performance. Since we can use a
> ConcurrentHashMap here, there shouldn't be any performance hit in the normal
> case.
> Related: https://issues.apache.org/jira/browse/MYFACES-3216
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)