Wicket error we are seeing, timeout issues?

2011-11-28 Thread Brown, Berlin [GCG-PFS]
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] 0119 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] 0173 TCPReadReques 
read(64,6) Entry
70720 [11/18/11 8:37:20:199 EST] 0173 AioSocketIOCh   readAIOSync
Entry
70721 [11/18/11 8:37:20:199 EST] 0173 AioSocketIOCh 3   calling
asyncHelper.read
70722 [11/18/11 8:37:20:199 EST] 0173 AbstractAsync 
multiIO(.,0,true,false,64,false,.,false Entry
... (60 second delay / hung thread here)  
1 [11/18/11 8:38:20:201 EST] 0173 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] 0173 AbstractAsync 3   Sync operation
timed out
3 [11/18/11 8:38:20:201 EST] 0173 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.
 
- 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.
 
- Because wicket launches two page mapping clean up threads, maybe those
threads lockup with IBM's request handling threads?
 
 


Re: Wicket error we are seeing, timeout issues?

2011-11-28 Thread Igor Vaynberg
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] 0119 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] 0173 TCPReadReques 
 read(64,6) Entry
 70720 [11/18/11 8:37:20:199 EST] 0173 AioSocketIOCh   readAIOSync
 Entry
 70721 [11/18/11 8:37:20:199 EST] 0173 AioSocketIOCh 3   calling
 asyncHelper.read
 70722 [11/18/11 8:37:20:199 EST] 0173 AbstractAsync 
 multiIO(.,0,true,false,64,false,.,false Entry
 ... (60 second delay / hung thread here) 
 1 [11/18/11 8:38:20:201 EST] 0173 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] 0173 AbstractAsync 3   Sync operation
 timed out
 3 [11/18/11 8:38:20:201 EST] 0173 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