Uploaded image for project: 'MyFaces Core'
  1. MyFaces Core
  2. MYFACES-2823

Request attribute names are not cached which causes performance degredation

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Won't Fix
    • 1.2.9
    • None
    • General
    • 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.

      Attachments

        1. stack.png
          58 kB
          Sampo Savolainen

        Activity

          People

            Unassigned Unassigned
            sampo_v2 Sampo Savolainen
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Time Tracking

                Estimated:
                Original Estimate - 24h
                24h
                Remaining:
                Remaining Estimate - 24h
                24h
                Logged:
                Time Spent - Not Specified
                Not Specified