You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@struts.apache.org by Rahul Jain <Ra...@csr.com> on 2010/02/04 05:33:54 UTC
scalability issue in AnnotationActionValidatorManager
Hi,
When I run a load test with 10 or more concurrent users I see that a few
threads are blocked in AnnotationActionValidatorManager.java,
getValidators(). I saw an old post which says that ConcurrentHaspMap
should be used in this class. I am using struts version 2.0.14. Does
anyone has a working fix for this in xwork? This problem is causing
scalability issues.
Below is the stack trace of a blocked thread.
------------------------------------------------
Name: http-8080-1
State: BLOCKED on
com.opensymphony.xwork2.validator.AnnotationActionValidatorManager@1cade
4 owned by: http-8080-16
Total blocked: 3,957 Total waited: 719
Stack trace:
com.opensymphony.xwork2.validator.AnnotationActionValidatorManager.getVa
lidators(AnnotationActionValidatorManager.java:62)
com.opensymphony.xwork2.validator.AnnotationActionValidatorManager.valid
ate(AnnotationActionValidatorManager.java:138)
com.opensymphony.xwork2.validator.AnnotationActionValidatorManager.valid
ate(AnnotationActionValidatorManager.java:113)
com.opensymphony.xwork2.validator.AnnotationActionValidatorManager.valid
ate(AnnotationActionValidatorManager.java:100)
com.opensymphony.xwork2.validator.ValidationInterceptor.doBeforeInvocati
on(ValidationInterceptor.java:142)
com.opensymphony.xwork2.validator.ValidationInterceptor.doIntercept(Vali
dationInterceptor.java:148)
org.apache.struts2.interceptor.validation.AnnotationValidationIntercepto
r.doIntercept(AnnotationValidationInterceptor.java:48)
com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(Me
thodFilterInterceptor.java:86)
com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultAct
ionInvocation.java:224)
com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultAct
ionInvocation.java:223)
com.opensymphony.xwork2.util.profiling.UtilTimerStack.profile(UtilTimerS
tack.java:455)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvo
cation.java:221)
com.opensymphony.xwork2.interceptor.ConversionErrorInterceptor.intercept
(ConversionErrorInterceptor.java:123)
com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultAct
ionInvocation.java:224)
com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultAct
ionInvocation.java:223)
com.opensymphony.xwork2.util.profiling.UtilTimerStack.profile(UtilTimerS
tack.java:455)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvo
cation.java:221)
com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(Pa
rametersInterceptor.java:184)
com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(Me
thodFilterInterceptor.java:86)
com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultAct
ionInvocation.java:224)
com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultAct
ionInvocation.java:223)
com.opensymphony.xwork2.util.profiling.UtilTimerStack.profile(UtilTimerS
tack.java:455)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvo
cation.java:221)
com.opensymphony.xwork2.interceptor.StaticParametersInterceptor.intercep
t(StaticParametersInterceptor.java:105)
com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultAct
ionInvocation.java:224)
com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultAct
ionInvocation.java:223)
com.opensymphony.xwork2.util.profiling.UtilTimerStack.profile(UtilTimerS
tack.java:455)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvo
cation.java:221)
org.apache.struts2.interceptor.CheckboxInterceptor.intercept(CheckboxInt
erceptor.java:83)
com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultAct
ionInvocation.java:224)
com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultAct
ionInvocation.java:223)
com.opensymphony.xwork2.util.profiling.UtilTimerStack.profile(UtilTimerS
tack.java:455)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvo
cation.java:221)
------------------------------------------------------
Thanks,
Rahul
Member of the CSR plc group of companies. CSR plc registered in England and Wales, registered number 4187346, registered office Churchill House, Cambridge Business Park, Cowley Road, Cambridge, CB4 0WZ, United Kingdom
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@struts.apache.org
For additional commands, e-mail: dev-help@struts.apache.org
RE: scalability issue in AnnotationActionValidatorManager
Posted by Rahul Jain <Ra...@csr.com>.
Yes, I did, but I think firewall removed it. I am sending it again after zipping.
Regards,
Rahul
-----Original Message-----
From: Lukasz Lenart [mailto:lukasz.lenart@googlemail.com]
Sent: Thursday, February 04, 2010 2:47 PM
To: Struts Developers List
Subject: Re: scalability issue in AnnotationActionValidatorManager
W dniu 4 lutego 2010 09:36 u�ytkownik Rahul Jain <Ra...@csr.com> napisa�:
> Hi Lukasz,
>
> I have raised it @ https://issues.apache.org/jira/browse/XW-376
>
> I tried a fix for this, can some one review it. Changed file is attached.
>
> I have also done a similar change in LocalizedTextUtil please review that one too.
Superb, could you attach your patch?
Regards
--
�ukasz
http://www.lenart.org.pl/
Kapitu�a Javarsovia 2010
http://javarsovia.pl
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@struts.apache.org
For additional commands, e-mail: dev-help@struts.apache.org
To report this email as spam click https://www.mailcontrol.com/sr/wQw0zmjPoHdJTZGyOCrrhg== .
Member of the CSR plc group of companies. CSR plc registered in England and Wales, registered number 4187346, registered office Churchill House, Cambridge Business Park, Cowley Road, Cambridge, CB4 0WZ, United Kingdom
Re: scalability issue in AnnotationActionValidatorManager
Posted by Lukasz Lenart <lu...@googlemail.com>.
W dniu 4 lutego 2010 09:36 użytkownik Rahul Jain <Ra...@csr.com> napisał:
> Hi Lukasz,
>
> I have raised it @ https://issues.apache.org/jira/browse/XW-376
>
> I tried a fix for this, can some one review it. Changed file is attached.
>
> I have also done a similar change in LocalizedTextUtil please review that one too.
Superb, could you attach your patch?
Regards
--
Łukasz
http://www.lenart.org.pl/
Kapituła Javarsovia 2010
http://javarsovia.pl
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@struts.apache.org
For additional commands, e-mail: dev-help@struts.apache.org
RE: scalability issue in AnnotationActionValidatorManager
Posted by Rahul Jain <Ra...@csr.com>.
Hi Lukasz,
I have raised it @ https://issues.apache.org/jira/browse/XW-376
I tried a fix for this, can some one review it. Changed file is attached.
I have also done a similar change in LocalizedTextUtil please review that one too.
Regards,
Rahul
-----Original Message-----
From: Lukasz Lenart [mailto:lukasz.lenart@googlemail.com]
Sent: Thursday, February 04, 2010 1:24 PM
To: Struts Developers List
Subject: Re: scalability issue in AnnotationActionValidatorManager
2010/2/4 Rahul Jain <Ra...@csr.com>:
> When I run a load test with 10 or more concurrent users I see that a few
> threads are blocked in AnnotationActionValidatorManager.java,
> getValidators(). I saw an old post which says that ConcurrentHaspMap
> should be used in this class. I am using struts version 2.0.14. Does
> anyone has a working fix for this in xwork? This problem is causing
> scalability issues.
I don't see any registered issue to that, feel free to register one
https://issues.apache.org/jira/browse/XW
Regards
--
Lukasz
http://www.lenart.org.pl/
Kapitu�a Javarsovia 2010
http://javarsovia.pl
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@struts.apache.org
For additional commands, e-mail: dev-help@struts.apache.org
To report this email as spam click https://www.mailcontrol.com/sr/wQw0zmjPoHdJTZGyOCrrhg== .
Member of the CSR plc group of companies. CSR plc registered in England and Wales, registered number 4187346, registered office Churchill House, Cambridge Business Park, Cowley Road, Cambridge, CB4 0WZ, United Kingdom
Re: scalability issue in AnnotationActionValidatorManager
Posted by Lukasz Lenart <lu...@googlemail.com>.
2010/2/4 Rahul Jain <Ra...@csr.com>:
> When I run a load test with 10 or more concurrent users I see that a few
> threads are blocked in AnnotationActionValidatorManager.java,
> getValidators(). I saw an old post which says that ConcurrentHaspMap
> should be used in this class. I am using struts version 2.0.14. Does
> anyone has a working fix for this in xwork? This problem is causing
> scalability issues.
I don't see any registered issue to that, feel free to register one
https://issues.apache.org/jira/browse/XW
Regards
--
Lukasz
http://www.lenart.org.pl/
Kapituła Javarsovia 2010
http://javarsovia.pl
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@struts.apache.org
For additional commands, e-mail: dev-help@struts.apache.org