Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Won't Fix
-
1.2.9
-
None
-
None
-
Tomcat 6.0.20 (with an SSL connector)
MyFaces 1.2.9
RichFaces 3.3.2
Java 1.6.0_15
Description
When rendering a simple request, MyFaces ends up calling Request.getAttributeNames() 1000+ times. This causes performance degredation in cases when it is not trivial for the container to produce the names. This is the case for example with Tomcat when there is an SSL connector: reading the attribute names requires tomcat to check if there are peer certificates.
I will attach a screenshot from a profiling session where a substantial portion of the server processing went into org.apache.myfaces.context.servlet.RequestMap.getAttributeNames(). This screenshot shows a backtrace from one JSSE accessor called by getAttributeNames() up to the faces components where the calls are initiated from.