Uploaded image for project: 'JBoss Enterprise Application Platform'
  1. JBoss Enterprise Application Platform
  2. JBEAP-25582

[GSS](7.4.z) UNDERTOW-2307 - ScopedAttributeELResolver performance improvement

XMLWordPrintable

      Tags with optional attributes with null values can see degraded performance requests predominantly in ScopedAttributeELResolver's ImportHandler.resolveClass calls:

      "default task-102" #356 prio=5 os_prio=0 tid=0x00005570e3b18800 nid=0x1fe5a runnable [0x00007f236e69e000]
         java.lang.Thread.State: RUNNABLE
      	at java.lang.Class.forName0(Native Method)
      	at java.lang.Class.forName(Class.java:348)
      	at javax.el.ImportHandler.getClassFor(ImportHandler.java:169)
      	at javax.el.ImportHandler.resolveClassFor(ImportHandler.java:145)
      	at javax.el.ImportHandler.resolveClass(ImportHandler.java:109)
      	at javax.servlet.jsp.el.ScopedAttributeELResolver.getValue(ScopedAttributeELResolver.java:93)
      	at org.apache.jasper.el.JasperELResolver.getValue(JasperELResolver.java:110)
      	at com.sun.el.parser.AstIdentifier.getValue(AstIdentifier.java:91)
      	at com.sun.el.ValueExpressionImpl.getValue(ValueExpressionImpl.java:183)
      	at org.apache.jasper.runtime.PageContextImpl.proprietaryEvaluate(PageContextImpl.java:917)
      

      So overhead expected from EAP 7+s el spec compared to EAP 6 without the ImportHandler.

      This seems an issue addressed previously in Tomcat:
      https://bz.apache.org/bugzilla/show_bug.cgi?id=57583
      https://github.com/apache/tomcat80/commit/63665340bb6fb123d93627cf4eac62dadd1545ab
      https://github.com/apache/tomcat80/commit/b69ed7e5f1bfd20ac09f8ea70e77731e1f1fcb44

      Or similar to WFLY-10653's ImportHandler overhead. So like WFLY-10653's fix, performance coudl benefit from some caching here.

              flaviarnn Flavia Rainone
              rhn-support-aogburn Aaron Ogburn
              Votes:
              0 Vote for this issue
              Watchers:
              5 Start watching this issue

                Created:
                Updated:
                Resolved: