Details
-
Type:
Bug
-
Status: Closed
-
Priority:
Major
-
Resolution: Fixed
-
Affects Version/s: EE-3.0.0.GA_P01, EE-3.2.0.GA
-
Fix Version/s: EE-3.3.0.GA_P01, 4.0.BETA, 4.0
-
Component/s: ICE-Components
-
Labels:None
-
Environment:All
-
Assignee Priority:P1
-
Salesforce Case Reference:
Description
A customer has reported the following issue:
"under high load we get a ConcurrentModificationException from InputRichTextResourceHandler.calculateMappings().
The most probable reason for this is that the resource handler as a singleton gets called by the multi-threaded PreRenderViewEvent and thus has to synchronize the access to its variables (in this case allResources, but imageResources is dangerous as well)."
"under high load we get a ConcurrentModificationException from InputRichTextResourceHandler.calculateMappings().
The most probable reason for this is that the resource handler as a singleton gets called by the multi-threaded PreRenderViewEvent and thus has to synchronize the access to its variables (in this case allResources, but imageResources is dangerous as well)."
Any ResourceHandler would be concurrently accessed by different user's lifecycles, so should hold all state either in a method's scope, or if state needs to transcend lifecycles, then hold it in the appropriate Flash/FacesContext/Session/Application map.