[
https://issues.jboss.org/browse/RF-10998?page=com.atlassian.jira.plugin.s...
]
Brian Leathem commented on RF-10998:
------------------------------------
RichFaces 3.3.3.Final and JSF 1.2 are incredibly out-of-date and are no longer being
developed. Many improvements have been made in RichFaces 4 and JSF 2 including some
performance improvements. I recommend you upgrade to a modern and supported framework.
High CPU Utilization in Richfaces application
---------------------------------------------
Key: RF-10998
URL:
https://issues.jboss.org/browse/RF-10998
Project: RichFaces
Issue Type: Bug
Security Level: Public(Everyone can see)
Affects Versions: 3.3.2.SR1
Environment: Jboss 4.3.0.GA_CP03, jdk 1.6.0_05,jsf 1.2,facelets 1.1.14
Reporter: Shah EM
Labels: richfaces
Fix For: 3.Future
We have an application running on 3 node
cluster.After running normally for some time one node CPU spikes to 80% from
the normal usage of 6% and stays like that. meanwhile other nodes are working
fine.
We had contacted Redhat and they had advised to downgrad richfaces version to 3.3.1 sp2
to fix the issue.
We have a doubt if the solution provided by Redhat to downgrade the rich faces version to
3.3.1-SP2 will solve the issue or not.
The 3.3.1-SP2 release note says that the following issue is fixed - [RF-7248] - a4j
creates infinite HashMap.get loop
When we looked into more details of this issue that they fixed in the JBoss JIRA for this
defect, the logs say that the issue is with a specific component in the a4j. Please have a
look at the following trace from the issue logs.
Stack trace:
java.util.HashMap.get(HashMap.java:303)
org.ajax4jsf.component.UIDataAdaptor.restoreChildState(UIDataAdaptor.java:965)
org.ajax4jsf.component.UIDataAdaptor.restoreChildState(UIDataAdaptor.java:984)
org.ajax4jsf.component.UIDataAdaptor.restoreChildState(UIDataAdaptor.java:943)
In our case even though the issue is with the HashMap infinite loop, the cause of the
issue does not seem to be this particular component. Our stack traces point to a different
place where the infinite loop is happening.
Thread: http-10.20.81.200-17180-31 : priority:5, demon:true, threadId:337,
threadState:RUNNABLE, lockName:null
java.util.HashMap.get(HashMap.java:305)
org.apache.catalina.connector.Request.getAttribute(Request.java:878)
org.apache.catalina.connector.RequestFacade.getAttribute(RequestFacade.java:263)
com.sun.faces.application.WebappLifecycleListener.attributeReplaced(WebappLifecycleListener.java:168)
com.sun.faces.config.ConfigureListener.attributeReplaced(ConfigureListener.java:318)
org.apache.catalina.connector.Request.setAttribute(Request.java:1435)
org.apache.catalina.connector.RequestFacade.setAttribute(RequestFacade.java:503)
javax.servlet.ServletRequestWrapper.setAttribute(ServletRequestWrapper.java:284)
com.sun.faces.context.RequestMap.put(ExternalContextImpl.java:1087)
org.ajax4jsf.event.AjaxPhaseListener.afterPhase(AjaxPhaseListener.java:81)
com.sun.faces.lifecycle.Phase.handleAfterPhase(Phase.java:175)
com.sun.faces.lifecycle.Phase.doPhase(Phase.java:114)
com.sun.faces.lifecycle.RestoreViewPhase.doPhase(RestoreViewPhase.java:104)
com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:118)
javax.faces.webapp.FacesServlet.service(FacesServlet.java:265)
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see:
http://www.atlassian.com/software/jira