Re: java.util.ConcurrentModificationException in tapestry 5.3.3 under stress

2012-05-24 Thread Thiago H. de Paula Figueiredo
On Wed, 23 May 2012 20:01:46 -0300, Sean sean.whet...@sirsidynix.com  
wrote:



Thanks for the quick reply.

I changed selected to initialize in setupRender, and now I'm getting the
following exception.


Howard has been working on improvements to Tapestry internals under high  
loads, so please try again with 5.4-SNAPSHOT.



What's wierd about this one is that if I set a breakpoint in the
setCurrentCheckout method, it reports that selected and item are both
non-null and I can add strings to selected using the debugger, but  
somehow

it still throws this NullPointerException there.



com.mycompany.product.module.components.search.account.CheckoutsList.setCurrentCheckout(CheckoutsList.java:170)


What's the code in this method?

--
Thiago H. de Paula Figueiredo
Independent Java, Apache Tapestry 5 and Hibernate consultant, developer,  
and instructor

Owner, Ars Machina Tecnologia da Informação Ltda.
http://www.arsmachina.com.br

-
To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org
For additional commands, e-mail: users-h...@tapestry.apache.org



Re: java.util.ConcurrentModificationException in tapestry 5.3.3 under stress

2012-05-24 Thread Sean

Thiago H de Paula Figueiredo wrote
 
 On Wed, 23 May 2012 20:01:46 -0300, Sean lt;sean.whetten@gt;  
 wrote:
 
 com.mycompany.product.module.components.search.account.CheckoutsList.setCurrentCheckout(CheckoutsList.java:170)
 
 What's the code in this method?
 

You can find the code for that method in my original post.

Anyways, I figured out that the second error I reported was due to the fact
that selected does not have @Persist, so it is expected for it to begin as
null when the form variables are being filled in. Tapestry is just lazier
that I expected (good job tapestry guys.)

I fixed it by adding 

if(selected == null)
{
selected = new ArrayListString();
}

to the beginning of the getCurrentCheckout method.

And with that, my original problem is solved. Thanks for all the help.

-Sean

--
View this message in context: 
http://tapestry.1045711.n5.nabble.com/java-util-ConcurrentModificationException-in-tapestry-5-3-3-under-stress-tp5713368p5713389.html
Sent from the Tapestry - User mailing list archive at Nabble.com.

-
To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org
For additional commands, e-mail: users-h...@tapestry.apache.org



Re: java.util.ConcurrentModificationException in tapestry 5.3.3 under stress

2012-05-23 Thread David Rees
On Wed, May 23, 2012 at 2:28 PM, Sean sean.whet...@sirsidynix.com wrote:
 I recently upgraded to tapestry 5.3.3 from 5.0.1.x, and while running some
 load tests using jmeter, I saw some new ConcurrentModificationException
 errors. The test is simple, it just selects the first checkbox on the form,
 then submits it.

snip

 public class CheckoutsList {
    @Property
    private ListCheckoutsInfoType currentCheckouts;
    @Property
    private CheckoutsInfoType item;

    private ListString selected = new ArrayListString();

Don't initialize selected here, do it in onActivate or setupRender.

-Dave

-
To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org
For additional commands, e-mail: users-h...@tapestry.apache.org



Re: java.util.ConcurrentModificationException in tapestry 5.3.3 under stress

2012-05-23 Thread Sean
Thanks for the quick reply.

I changed selected to initialize in setupRender, and now I'm getting the
following exception.

What's wierd about this one is that if I set a breakpoint in the
setCurrentCheckout method, it reports that selected and item are both
non-null and I can add strings to selected using the debugger, but somehow
it still throws this NullPointerException there.


org.apache.tapestry5.ioc.internal.OperationException: Failure writing
parameter 'value' of component
search/Account:checkouts.checkoutslist.checkbox:
org.apache.tapestry5.ioc.internal.util.TapestryException [at
classpath:com/mycompany/product/module/components/search/account/CheckoutsList.tml,
line 14]
at
org.apache.tapestry5.ioc.internal.OperationTrackerImpl.logAndRethrow(OperationTrackerImpl.java:121)
at
org.apache.tapestry5.ioc.internal.OperationTrackerImpl.invoke(OperationTrackerImpl.java:88)
at
org.apache.tapestry5.ioc.internal.PerThreadOperationTracker.invoke(PerThreadOperationTracker.java:87)
at
org.apache.tapestry5.ioc.internal.RegistryImpl.invoke(RegistryImpl.java:1121)
at
org.apache.tapestry5.internal.structure.ComponentPageElementResourcesImpl.invoke(ComponentPageElementResourcesImpl.java:146)
at
org.apache.tapestry5.internal.structure.ComponentPageElementImpl.triggerContextEvent(ComponentPageElementImpl.java:1047)
at
org.apache.tapestry5.internal.services.ComponentEventRequestHandlerImpl.handle(ComponentEventRequestHandlerImpl.java:81)
at
org.apache.tapestry5.internal.services.ImmediateActionRenderResponseFilter.handle(ImmediateActionRenderResponseFilter.java:42)
at $ComponentEventRequestHandler_2dee3deb32f7f.handle(Unknown
Source)
at
org.apache.tapestry5.internal.services.AjaxFilter.handle(AjaxFilter.java:42)
at $ComponentEventRequestHandler_2dee3deb32f7f.handle(Unknown
Source)
at
org.apache.tapestry5.upload.internal.services.UploadExceptionFilter.handle(UploadExceptionFilter.java:75)
at $ComponentEventRequestHandler_2dee3deb32f7f.handle(Unknown
Source)
at
org.apache.tapestry5.services.TapestryModule$40.handle(TapestryModule.java:2456)
at $ComponentEventRequestHandler_2dee3deb32f7f.handle(Unknown
Source)
at $ComponentEventRequestHandler_2dee3deb32afd.handle(Unknown
Source)
at
org.apache.tapestry5.internal.services.ComponentRequestHandlerTerminator.handleComponentEvent(ComponentRequestHandlerTerminator.java:43)
at
org.apache.tapestry5.services.InitializeActivePageName.handleComponentEvent(InitializeActivePageName.java:39)
at
$ComponentRequestHandler_2dee3deb32aff.handleComponentEvent(Unknown Source)
at
$ComponentRequestHandler_2dee3deb32ac7.handleComponentEvent(Unknown Source)
at
org.apache.tapestry5.internal.services.ComponentEventDispatcher.dispatch(ComponentEventDispatcher.java:46)
at $Dispatcher_2dee3deb32aca.dispatch(Unknown Source)
at $Dispatcher_2dee3deb32996.dispatch(Unknown Source)
at
org.apache.tapestry5.services.TapestryModule$RequestHandlerTerminator.service(TapestryModule.java:302)
at
nu.localhost.tapestry5.springsecurity.services.internal.RequestFilterWrapper$1.doFilter(RequestFilterWrapper.java:60)
at
nu.localhost.tapestry5.springsecurity.services.internal.SpringSecurityExceptionTranslationFilter.doFilter(SpringSecurityExceptionTranslationFilter.java:89)
at
nu.localhost.tapestry5.springsecurity.services.internal.RequestFilterWrapper.service(RequestFilterWrapper.java:55)
at $RequestHandler_2dee3deb32997.service(Unknown Source)
at
org.apache.tapestry5.internal.services.RequestErrorFilter.service(RequestErrorFilter.java:26)
at $RequestHandler_2dee3deb32997.service(Unknown Source)
at
org.apache.tapestry5.services.TapestryModule$3.service(TapestryModule.java:902)
at $RequestHandler_2dee3deb32997.service(Unknown Source)
at
org.apache.tapestry5.services.TapestryModule$2.service(TapestryModule.java:892)
at $RequestHandler_2dee3deb32997.service(Unknown Source)
at
com.mycompany.product.module.framework.SecurityFilter.service(SecurityFilter.java:79)
at $RequestHandler_2dee3deb32997.service(Unknown Source)
at
com.mycompany.product.module.framework.ProfileFilter.service(ProfileFilter.java:146)
at $RequestHandler_2dee3deb32997.service(Unknown Source)
at
com.mycompany.product.module.framework.WebResourceFilter.service(WebResourceFilter.java:39)
at $RequestHandler_2dee3deb32997.service(Unknown Source)
at
org.apache.tapestry5.internal.services.StaticFilesFilter.service(StaticFilesFilter.java:90)
at $RequestHandler_2dee3deb32997.service(Unknown Source)
at
com.mycompany.product.module.services.AppModule$4.service(AppModule.java:960)
at $RequestFilter_2dee3deb3298a.service(Unknown Source)
at $RequestHandler_2dee3deb32997.service(Unknown Source)
at