Re: java.util.ConcurrentModificationException in tapestry 5.3.3 under stress
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
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
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
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