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 18:17:31 GMT
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