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

Reply via email to