myfaces-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Leonardo Uribe <lu4...@gmail.com>
Subject Re: MyFaces - Thread issues under High load
Date Mon, 11 Jul 2011 20:21:21 GMT
Hi

I have attached some patches on MYFACES-3216 and commited the code on
trunk and related branches. Please let us know if the code proposed
fix the problem you mention.

Leonardo

2011/7/11 Leonardo Uribe <lu4242@gmail.com>:
> Hi
>
> I have created:
>
> https://issues.apache.org/jira/browse/MYFACES-3216
>
> to deal with this code. I checked it and there is a potential risk of
> exceptions when map.put is called. Maybe that is the source of your
> problem, but it could be better if you can give us more info about it.
>
> Leonardo Uribe
>
> 2011/7/5 Mark Struberg <struberg@yahoo.de>:
>> Most importantly: which JDK/JRE are you running WebLogic under? And which weblogic
version do you use?
>>
>> You have definitely checked diskfree? (df -h) and mem is also no concern?
>> Are you running a 32 or 64 bit JVM?
>> Under 32 bit JVMs you could easily run out of available threads (the higher you tune
your -Xmx, the LOWER the amount of available threads get!)
>>
>>
>> Just a few random ideas...
>>
>> LieGrue,
>> strub
>>
>> --- On Mon, 7/4/11, Martin Koci <martin.kocicak.koci@gmail.com> wrote:
>>
>>> From: Martin Koci <martin.kocicak.koci@gmail.com>
>>> Subject: Re: MyFaces - Thread issues under High load
>>> To: "MyFaces Discussion" <users@myfaces.apache.org>
>>> Date: Monday, July 4, 2011, 7:29 PM
>>> Hi,
>>>
>>> what is [STUCK] thread? Is that something special from
>>> WebLogic thread
>>> pooler?
>>> All threads are accessing same
>>> java.beans.PropertyDescriptor.getReadMethod but this method
>>> is
>>> synchronized. So one on them is holding
>>> java.beans.PropertyDescriptor
>>> instance as monitor and the others are trying access same
>>> critical area.
>>> One of the STUCKs is suspicious: it probably entered
>>> critical area on
>>> PropertyDescriptor forever. But it should not happen: this
>>> is API from
>>> JRE and myfaces use it only - this looks very  odd.
>>>
>>> Suggestions:
>>>
>>> 1) set thread timeout if possible. I don't know weblogic
>>> but thread
>>> executors can kill thread it it does not end in reasonable
>>> time.
>>>
>>> 2) Is JVM eating 100% of CPU? If so then hotspot can cause
>>> this type of
>>> problem - I remement similar problem few year ago - update
>>> to newer
>>> version of JVM solved it. What JVM/version do you use?
>>>
>>> 3) Is problem repeatable? Do you perform stress test or is
>>> this problem
>>> from production deployment?
>>>
>>>
>>> Regards,
>>>
>>> Kočičák
>>>
>>> Rajadurai_p píše v Po 04. 07. 2011 v 11:17 -0700:
>>> > Hi,
>>> > I have attached a weblogic server thread dump file
>>> collected under high load
>>> > and when the server was irresponsive. You will find
>>> almost all the threads
>>> > (active & stuck) pointing to the same stack trace
>>> which is My faces/
>>> > Tomahawk related. Kindly let me know your views.
>>> >
>>> > Thanks
>>> >
>>> >
>>> > Matt Benson-2 wrote:
>>> > >
>>> > > It looks to me as though you are using the JSF
>>> reference
>>> > > implementation.  The only code I see from
>>> myfaces in your stack trace
>>> > > is Tomahawk.
>>> > >
>>> > > Matt
>>> > >
>>> > > On Wed, Jun 29, 2011 at 4:39 AM,
>>> Rajadurai_p  wrote:
>>> > >>
>>> > >> Hi,
>>> > >> we are facing problems in MyFaces framework
>>> under high load. Bulk of the
>>> > >> application container threads (weblogic) are
>>> stuck upon a same stack
>>> > >> trace.
>>> > >> I have pasted a sample stack trace below.
>>> Kindly help.
>>> > >>
>>> > >> We use JSF 1.2, MyFaces 1.2.9, Tomahawk 1.1.9
>>> & RichFaces 3.3.3.
>>> > >>
>>> > >>
>>> > >>
>>> > >>
>>> > >>
>>> java.beans.PropertyDescriptor.getReadMethod(PropertyDescriptor.java:158)
>>> > >>
>>> > >>
>>> javax.faces.component._ComponentAttributesMap.getComponentProperty(_ComponentAttributesMap.java:382)
>>> > >>
>>> > >>
>>> javax.faces.component._ComponentAttributesMap.get(_ComponentAttributesMap.java:227)
>>> > >>
>>> > >>
>>> org.apache.myfaces.shared_tomahawk.renderkit.html.HtmlRendererUtils.renderHTMLAttribute(HtmlRendererUtils.java:584)
>>> > >>
>>> > >>
>>> org.apache.myfaces.shared_tomahawk.renderkit.html.HtmlRendererUtils.renderHTMLAttributes(HtmlRendererUtils.java:598)
>>> > >>
>>> > >>
>>> org.apache.myfaces.custom.htmlTag.HtmlTagRenderer.encodeBegin(HtmlTagRenderer.java:73)
>>> > >>
>>> > >>
>>> javax.faces.component.UIComponentBase.encodeBegin(UIComponentBase.java:600)
>>> > >>
>>> > >>
>>> org.apache.myfaces.shared_tomahawk.renderkit.RendererUtils.renderChild(RendererUtils.java:525)
>>> > >>
>>> > >>
>>> org.apache.myfaces.shared_tomahawk.renderkit.RendererUtils.renderChildren(RendererUtils.java:511)
>>> > >>
>>> > >>
>>> org.apache.myfaces.custom.htmlTag.HtmlTagRenderer.encodeChildren(HtmlTagRenderer.java:111)
>>> > >>
>>> > >>
>>> javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:627)
>>> > >>
>>> > >>
>>> org.apache.myfaces.shared_tomahawk.renderkit.RendererUtils.renderChild(RendererUtils.java:528)
>>> > >>
>>> > >>
>>> org.apache.myfaces.shared_tomahawk.renderkit.RendererUtils.renderChildren(RendererUtils.java:511)
>>> > >>
>>> > >>
>>> org.apache.myfaces.custom.htmlTag.HtmlTagRenderer.encodeChildren(HtmlTagRenderer.java:111)
>>> > >>
>>> > >>
>>> javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:627)
>>> > >>
>>> > >>
>>> org.ajax4jsf.renderkit.RendererBase.renderChild(RendererBase.java:277)
>>> > >>
>>> > >>
>>> org.ajax4jsf.renderkit.RendererBase.renderChildren(RendererBase.java:258)
>>> > >>
>>> > >>
>>> org.richfaces.renderkit.AbstractGridRenderer.encodeOneRow(AbstractGridRenderer.java:96)
>>> > >>
>>> > >>
>>> org.richfaces.renderkit.AbstractRowsRenderer.process(AbstractRowsRenderer.java:83)
>>> > >>
>>> > >>
>>> org.ajax4jsf.model.SequenceDataModel.walk(SequenceDataModel.java:101)
>>> > >>
>>> > >>
>>> org.ajax4jsf.component.UIDataAdaptorBase.walk(UIDataAdaptorBase.java:1156)
>>> > >>
>>> > >>
>>> org.richfaces.renderkit.AbstractRowsRenderer.encodeRows(AbstractRowsRenderer.java:104)
>>> > >>
>>> > >>
>>> org.richfaces.renderkit.AbstractRowsRenderer.encodeRows(AbstractRowsRenderer.java:88)
>>> > >>
>>> > >>
>>> org.richfaces.renderkit.AbstractRowsRenderer.encodeChildren(AbstractRowsRenderer.java:137)
>>> > >>
>>> > >>
>>> javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:627)
>>> > >>
>>> > >>
>>> org.ajax4jsf.renderkit.RendererBase.renderChild(RendererBase.java:277)
>>> > >>
>>> > >>
>>> org.ajax4jsf.renderkit.RendererBase.renderChildren(RendererBase.java:258)
>>> > >>
>>> > >>
>>> org.ajax4jsf.renderkit.html.AjaxOutputPanelRenderer.encodeChildren(AjaxOutputPanelRenderer.java:78)
>>> > >>
>>> > >>
>>> javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:627)
>>> > >>
>>> > >>
>>> org.apache.myfaces.shared_tomahawk.renderkit.RendererUtils.renderChild(RendererUtils.java:528)
>>> > >>
>>> > >>
>>> org.apache.myfaces.shared_tomahawk.renderkit.RendererUtils.renderChildren(RendererUtils.java:511)
>>> > >>
>>> > >>
>>> org.apache.myfaces.custom.htmlTag.HtmlTagRenderer.encodeChildren(HtmlTagRenderer.java:111)
>>> > >>
>>> > >>
>>> javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:627)
>>> > >>
>>> javax.faces.component.UIComponent.encodeAll(UIComponent.java:250)
>>> > >>
>>> > >>
>>> com.sun.facelets.component.RepeatRenderer.encodeChildren(RepeatRenderer.java:64)
>>> > >>
>>> com.sun.facelets.component.UIRepeat.process(UIRepeat.java:423)
>>> > >>
>>> > >>
>>> com.sun.facelets.component.UIRepeat.encodeChildren(UIRepeat.java:684)
>>> > >>
>>> > >>
>>> org.ajax4jsf.renderkit.RendererBase.renderChild(RendererBase.java:277)
>>> > >>
>>> > >>
>>> org.ajax4jsf.renderkit.RendererBase.renderChildren(RendererBase.java:258)
>>> > >>
>>> > >>
>>> org.richfaces.renderkit.html.PanelRenderer.doEncodeChildren(PanelRenderer.java:200)
>>> > >>
>>> > >>
>>> org.richfaces.renderkit.html.PanelRenderer.doEncodeChildren(PanelRenderer.java:195)
>>> > >>
>>> > >>
>>> org.ajax4jsf.renderkit.RendererBase.encodeChildren(RendererBase.java:120)
>>> > >>
>>> > >>
>>> javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:627)
>>> > >>
>>> > >>
>>> org.ajax4jsf.renderkit.RendererBase.renderChild(RendererBase.java:277)
>>> > >>
>>> > >>
>>> org.ajax4jsf.renderkit.RendererBase.renderChildren(RendererBase.java:258)
>>> > >>
>>> > >>
>>> org.ajax4jsf.renderkit.RendererBase.renderChild(RendererBase.java:279)
>>> > >>
>>> > >>
>>> org.ajax4jsf.renderkit.RendererBase.renderChildren(RendererBase.java:258)
>>> > >>
>>> > >>
>>> org.ajax4jsf.renderkit.html.AjaxOutputPanelRenderer.encodeChildren(AjaxOutputPanelRenderer.java:78)
>>> > >>
>>> > >>
>>> javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:627)
>>> > >>
>>> > >>
>>> org.apache.myfaces.shared_tomahawk.renderkit.RendererUtils.renderChild(RendererUtils.java:528)
>>> > >>
>>> > >>
>>> org.apache.myfaces.shared_tomahawk.renderkit.RendererUtils.renderChildren(RendererUtils.java:511)
>>> > >>
>>> > >>
>>> org.apache.myfaces.custom.htmlTag.HtmlTagRenderer.encodeChildren(HtmlTagRenderer.java:111)
>>> > >>
>>> > >>
>>> javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:627)
>>> > >>
>>> > >>
>>> org.apache.myfaces.shared_tomahawk.renderkit.RendererUtils.renderChild(RendererUtils.java:528)
>>> > >>
>>> > >>
>>> org.apache.myfaces.shared_tomahawk.renderkit.RendererUtils.renderChildren(RendererUtils.java:511)
>>> > >>
>>> > >>
>>> org.apache.myfaces.shared_tomahawk.renderkit.RendererUtils.renderChild(RendererUtils.java:532)
>>> > >>
>>> > >>
>>> org.apache.myfaces.shared_tomahawk.renderkit.RendererUtils.renderChildren(RendererUtils.java:511)
>>> > >>
>>> > >>
>>> org.apache.myfaces.custom.htmlTag.HtmlTagRenderer.encodeChildren(HtmlTagRenderer.java:111)
>>> > >>
>>> > >>
>>> javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:627)
>>> > >>
>>> > >>
>>> org.apache.myfaces.shared_tomahawk.renderkit.RendererUtils.renderChild(RendererUtils.java:528)
>>> > >>
>>> > >>
>>> org.apache.myfaces.shared_tomahawk.renderkit.RendererUtils.renderChildren(RendererUtils.java:511)
>>> > >>
>>> > >>
>>> org.apache.myfaces.custom.htmlTag.HtmlTagRenderer.encodeChildren(HtmlTagRenderer.java:111)
>>> > >>
>>> > >>
>>> javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:627)
>>> > >>
>>> > >>
>>> org.apache.myfaces.shared_tomahawk.renderkit.RendererUtils.renderChild(RendererUtils.java:528)
>>> > >>
>>> > >>
>>> org.apache.myfaces.shared_tomahawk.renderkit.RendererUtils.renderChildren(RendererUtils.java:511)
>>> > >>
>>> > >>
>>> org.apache.myfaces.custom.htmlTag.HtmlTagRenderer.encodeChildren(HtmlTagRenderer.java:111)
>>> > >>
>>> > >>
>>> javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:627)
>>> > >>
>>> > >>
>>> org.apache.myfaces.shared_tomahawk.renderkit.RendererUtils.renderChild(RendererUtils.java:528)
>>> > >>
>>> > >>
>>> org.apache.myfaces.shared_tomahawk.renderkit.RendererUtils.renderChildren(RendererUtils.java:511)
>>> > >>
>>> > >>
>>> org.apache.myfaces.custom.htmlTag.HtmlTagRenderer.encodeChildren(HtmlTagRenderer.java:111)
>>> > >>
>>> > >>
>>> javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:627)
>>> > >>
>>> javax.faces.component.UIComponent.encodeAll(UIComponent.java:250)
>>> > >>
>>> javax.faces.component.UIComponent.encodeAll(UIComponent.java:257)
>>> > >>
>>> > >>
>>> com.sun.facelets.FaceletViewHandler.renderView(FaceletViewHandler.java:594)
>>> > >>
>>> > >>
>>> org.ajax4jsf.application.ViewHandlerWrapper.renderView(ViewHandlerWrapper.java:100)
>>> > >>
>>> > >>
>>> org.ajax4jsf.application.AjaxViewHandler.renderView(AjaxViewHandler.java:176)
>>> > >>
>>> > >>
>>> org.apache.myfaces.lifecycle.RenderResponseExecutor.execute(RenderResponseExecutor.java:41)
>>> > >>
>>> > >>
>>> org.apache.myfaces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:140)
>>> > >>
>>> javax.faces.webapp.FacesServlet.service(FacesServlet.java:187)
>>> > >>
>>> > >>
>>> weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)
>>> > >>
>>> > >>
>>> weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)
>>> > >>
>>> > >>
>>> weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:283)
>>> > >>
>>> weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:26)
>>> > >>
>>> > >>
>>> weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42)
>>> > >>
>>> > >>
>>> org.ajax4jsf.webapp.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:206)
>>> > >>
>>> org.ajax4jsf.webapp.BaseFilter.handleRequest(BaseFilter.java:290)
>>> > >>
>>> > >>
>>> org.ajax4jsf.webapp.BaseFilter.processUploadsAndHandleRequest(BaseFilter.java:388)
>>> > >>
>>> org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:515)
>>> > >>
>>> > >>
>>> weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42)
>>> > >>
>>> > >>
>>> org.tuckey.web.filters.urlrewrite.RuleChain.handleRewrite(RuleChain.java:164)
>>> > >>
>>> > >>
>>> org.tuckey.web.filters.urlrewrite.RuleChain.doRules(RuleChain.java:141)
>>> > >>
>>> > >>
>>> org.tuckey.web.filters.urlrewrite.UrlRewriter.processRequest(UrlRewriter.java:90)
>>> > >>
>>> > >>
>>> org.tuckey.web.filters.urlrewrite.UrlRewriteFilter.doFilter(UrlRewriteFilter.java:407)
>>> > >>
>>> > >>
>>> weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42)
>>> > >>
>>> > >>
>>> org.apache.myfaces.webapp.filter.ExtensionsFilter.doFilter(ExtensionsFilter.java:384)
>>> > >>
>>> > >>
>>> weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42)
>>> > >>
>>> > >>
>>> com.xxx.yyy.zzz.CookieCartCountFilter.doFilter(CookieCartCountFilter.java:69)
>>> > >>
>>> > >>
>>> weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42)
>>> > >>
>>> > >>
>>> com.xxx.yyy.zzz.webservice.onesite.OneSiteCacheFilter.doFilter(OneSiteCacheFilter.java:388)
>>> > >>
>>> > >>
>>> weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42)
>>> > >>
>>> > >>
>>> com.xxx.yyy.zzz.util.CachingFilter.doFilter(CachingFilter.java:143)
>>> > >>
>>> > >>
>>> weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42)
>>> > >>
>>> > >>
>>> com.xxx.yyy.zzz.util.JsessionidFilter.doFilter(JsessionidFilter.java:43)
>>> > >>
>>> > >>
>>> weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42)
>>> > >>
>>> > >>
>>> com.xxx.yyy.zzz.util.SessionCookieSupportFilter.doFilter(SessionCookieSupportFilter.java:180)
>>> > >>
>>> > >>
>>> weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42)
>>> > >>
>>> > >>
>>> de.hybris.platform.util.RootRequestFilter.doFilter(RootRequestFilter.java:741)
>>> > >>
>>> > >>
>>> weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42)
>>> > >>
>>> > >>
>>> weblogic.servlet.internal.RequestEventsFilter.doFilter(RequestEventsFilter.java:26)
>>> > >>
>>> > >>
>>> weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42)
>>> > >>
>>> > >>
>>> weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3229)
>>> > >>
>>> > >>
>>> weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
>>> > >>
>>> > >>
>>> weblogic.security.service.SecurityManager.runAs(SecurityManager.java:121)
>>> > >>
>>> > >>
>>> weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2002)
>>> > >>
>>> > >>
>>> weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:1908)
>>> > >>
>>> > >>
>>> weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1362)
>>> > >>
>>> weblogic.work.ExecuteThread.execute(ExecuteThread.java:209)
>>> > >>
>>> weblogic.work.ExecuteThread.run(ExecuteThread.java:181)
>>> > >>
>>> > >> Thanks, rajadurai
>>> > >> --
>>> > >> View this message in context:
>>> > >> http://old.nabble.com/MyFaces---Thread-issues-under-High-load-tp31953250p31953250.html
>>> > >> Sent from the MyFaces - Users mailing list
>>> archive at Nabble.com.
>>> > >>
>>> > >>
>>> > >
>>> > >
>>> > http://old.nabble.com/file/p31991479/Weblogic%2BThread%2BDump.zip
>>> > Weblogic+Thread+Dump.zip
>>> > http://old.nabble.com/file/p31991479/Weblogic%2BThread%2BDump.zip
>>> > Weblogic+Thread+Dump.zip
>>> > --
>>> > View this message in context: http://old.nabble.com/MyFaces---Thread-issues-under-High-load-tp31953250p31991479.html
>>> > Sent from the MyFaces - Users mailing list archive at
>>> Nabble.com.
>>>
>>>
>>>
>>
>

Mime
View raw message