tomcat-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Mark Thomas <ma...@apache.org>
Subject Re: seeing RemoteEndpoint.Basic BINARY_FULL_WRITING errors under load in Tomcat 7.0.48-dev (trunk)
Date Mon, 09 Dec 2013 22:37:49 GMT
On 09/12/2013 22:16, Bob DeRemer wrote:

> It appears that we are getting the following IOException:
> 
> java.io.IOException: java.util.concurrent.TimeoutException
> immediately before we got the BINARY_FULL_WRITING errors.
> 
> Would this TimeoutException be caused because the underlying socket
> did not receive an ACK for the sent websocket message, or could
> something else cause this when trying to write to the websocket?

My experience debugging IO issues with WebSocket is that a write is
reported to Tomcat as complete once it has been written to the TCP
output buffer. Tomcat has no visibility what happens after that point.

All you can really be sure of when you see the TimeoutException is that
Tomcat has not been able to write the data it was trying to write to the
TCP output buffer within the time it was given to complete the write.

Possible causes are:
- client is reading data more slowly than Tomcat is writing it
- client has silently dropped the connection
- the machine where Tomcat is running is is overloaded it can't write
the data fast enough

My money would be on the first two options rather than the third.

HTH,

Mark


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
For additional commands, e-mail: users-help@tomcat.apache.org


Mime
View raw message