On Mon, Nov 28, 2011 at 6:45 AM, Brown, Berlin [GCG-PFS] <berlin.br...@primerica.com> wrote: > I had one question about an issue we are having with our wicket > applications and was wondering if anyone else has seen something similar > with other wicket apps. > > ---------- > 1. Here is the exception/error we are seeing: > ---------- > > [11/22/11 8:17:37:683 EST] 00000119 SRTServletReq E SRVE0133E: An > error occurred while parsing parameters. > java.net.SocketTimeoutException: Async operation timed out > at > com.ibm.ws.tcp.channel.impl.AioTCPReadRequestContextImpl.processSyncRead > Request(AioTCPReadRequestContextImpl.java:157) > at > com.ibm.ws.tcp.channel.impl.TCPReadRequestContextImpl.read(TCPReadReques > tContextImpl.java:109) > at > com.ibm.ws.ssl.channel.impl.SSLReadServiceContext.read(SSLReadServiceCon > text.java:226) > at > com.ibm.ws.http.channel.impl.HttpServiceContextImpl.fillABuffer(HttpServ > iceContextImpl.java:4127) > at > com.ibm.ws.http.channel.impl.HttpServiceContextImpl.readSingleBlock(Http > ServiceContextImpl.java:3371) > at > com.ibm.ws.http.channel.impl.HttpServiceContextImpl.readBodyBuffer(HttpS > erviceContextImpl.java:3476) > at > com.ibm.ws.http.channel.inbound.impl.HttpInboundServiceContextImpl.getRe > questBodyBuffer(HttpInboundServiceContextImpl.java:1604) > at > com.ibm.ws.webcontainer.channel.WCCByteBufferInputStream.bufferIsGood(WC > CByteBufferInputStream.java:235) > at > com.ibm.ws.webcontainer.channel.WCCByteBufferInputStream.read(WCCByteBuf > ferInputStream.java:153) > at > com.ibm.ws.webcontainer.srt.http.HttpInputStream.read(HttpInputStream.ja > va:308) > at > com.ibm.ws.webcontainer.servlet.RequestUtils.parsePostData(RequestUtils. > java:302) > at > com.ibm.ws.webcontainer.srt.SRTServletRequest.parseParameters(SRTServlet > Request.java:1814) > at > com.ibm.ws.webcontainer.srt.SRTServletRequest.getParameter(SRTServletReq > uest.java:1428) > ... > ... > at > org.apache.wicket.protocol.http.servlet.ServletWebRequest.getParameter(S > ervletWebRequest.java:133) > at > org.apache.wicket.protocol.http.request.WebRequestCodingStrategy.decode( > WebRequestCodingStrategy.java:209) > at org.apache.wicket.Request.getRequestParameters(Request.java:183) > at org.apache.wicket.RequestCycle.step(RequestCycle.java:1310) > at org.apache.wicket.RequestCycle.steps(RequestCycle.java:1436) > at org.apache.wicket.RequestCycle.request(RequestCycle.java:545) > at > org.apache.wicket.protocol.http.WicketFilter.doGet(WicketFilter.java:484 > ) > at > org.apache.wicket.protocol.http.WicketServlet.doPost(WicketServlet.java: > 160) > > > And here the user experiences a DELAY of 60 seconds. > > 70718 [11/18/11 8:37:20:198 EST] 00000173 TCPReadReques > > read(64,60000) Entry > 70720 [11/18/11 8:37:20:199 EST] 00000173 AioSocketIOCh > readAIOSync > Entry > 70721 [11/18/11 8:37:20:199 EST] 00000173 AioSocketIOCh 3 calling > asyncHelper.read > 70722 [11/18/11 8:37:20:199 EST] 00000173 AbstractAsync > > multiIO(.,0,true,false,64,false,.,false Entry > ... (60 second delay / hung thread here) <<< > 1 [11/18/11 8:38:20:201 EST] 00000173 AbstractAsync 3 done waiting for > completion notification for future: com.ibm.io.async.AsyncFuture@1940194 > <mailto:com.ibm.io.async.AsyncFuture@1940194> > 2 [11/18/11 8:38:20:201 EST] 00000173 AbstractAsync 3 Sync operation > timed out > 3 [11/18/11 8:38:20:201 EST] 00000173 HttpServiceCo 3 IOException, > closing the reads: java.net.SocketTimeoutException: Async operation > timed out > > > ---------- > 2. Here is our application code that we see at the error: An example > snippet. > ---------- > > public WelcomePanel( final String id ) { > super( id ); > this.add( new AjaxLink< Object >( "getStartedNextLink" ) { > > @Override > public void onEvent( final AjaxRequestTarget target ) { > ... Here the application code is not relevant: > } > > } ); > > } > > > ---------- > 3. Here is our application code that we see at the error: An example > snippet. > ---------- > > If I look at the stack trace above, here is the code where the error > happens from the wicket source. > > at > org.apache.wicket.protocol.http.servlet.ServletWebRequest.getParameter(S > ervletWebRequest.java:133) > > public String getParameter(final String key) > { > return httpServletRequest.getParameter(key); > } > > ... > > ---------- > 4. My thoughts on this error > ---------- > > - It could be our container. We are using IBM Websphere6. We are > talking to the IBM but we haven't heard back yet. It could be a patch > fix we need to apply.
this is most likely the case > - It could be web server load with our configuration. We only receive > about 20,000 requests on that machine. With our recent wicket > applications, we have seen > that request count move from around 10,000 requests to 20,000. Maybe > the increase in load is causing the the issue. this would still qualify as "your container" > - Because wicket launches two page mapping clean up threads, maybe those > threads lockup with IBM's request handling threads? i dont see how our threads can block a container thread...so this is very doubtful. -igor --------------------------------------------------------------------- To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org