On Sun, Nov 10, 2013 at 5:08 PM, Igor Cicimov <icici...@gmail.com> wrote:

> For Sun Java for example you can try the following:
>
> -Dsun.net.client.defaultReadTimeout=1800000
>
> which will increase the socket timeout to 30 minutes lets say if the
> default one is not enough in case or slow client. Another thing to check is
> your OS socket timeout setting, on linux systems for example:
>
> net.ipv4.tcp_keepalive_time = 300
>
> and try adjusting it according to your needs.
>
> Would love to hear some other people experiences and thoughts regarding
> this as well, this is really annoying one to troubleshoot.
>

I like the following that was mentioned in a stackoverflow answer[1]:

> It just means the client isn't sending. You don't need to worry about it.
Browser clients come and go in all sorts of strange ways.

> I wouldn't put the server read timeout too high: it ties up a thread. If
a client opens a connection to the server and doesn't send anything
immediately it is misbehaving pretty badly.

I agree with all of that and based on that, I will not modify the NIO
connectiontimeout value. I would like to prevent the stacktrace from being
logged in tomcat7-stderr log file, so I think I will catch the exception in
my servlet filter.


[1] http://stackoverflow.com/a/17079991/933054

Reply via email to