Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [jetty-dev] jetty 9.4.4 with http2 enabled produces many "idletimeout" exceptions

Hi,

On Tue, May 2, 2017 at 11:22 AM, Michele Rossi <michele.rossi@xxxxxxxxx> wrote:
> hi,
>
> I have recently re-enabled HTTP/2.0 on my Jetty 9.4.4 system and I am now
> seeing loads of these exceptions:
>
> 11:10:47.745|WARN |        o.e.j.s.HttpInput||
> java.util.concurrent.TimeoutException: Idle timeout expired: 30000/30000 ms

[snip]

> I reported a similar problem in the past - back then however it was always
> in coincidence with large HTTP PUT uploads. Now it does not seem to be the
> case.
>
> However the reason could well be again that some clients connecting to my
> systems are outdated and are not playing by the (strict?) rules of HTTP/2.0.
>
> I remember that Simone Bordet helped narrow down the problem to misbehaving
> clients.

Well, if you can confirm that this is again the case would be great.

> I tried getting in touch with the developers of CURL and libcurl in the past
> but I didn't get very far.
>
>
>
> Since it's likely that those non-compliant clients will stick around out
> there for a while I am wondering whether it would make sense to make Jetty
> more tolerant to them.

I'm not sure there is a simple way.

If the client says it will send more content, but then it does not,
there is not much that the server can do apart timeout.

Even assuming you can identify a misbehaving client, what would you do ?
Discard every request it makes ? Wait a bit and then assume it sent
the whole content ?

In any case perhaps this logic can be implemented in the application.

Easier solution would be to use good clients. Can you use Jetty's HttpClient ?

-- 
Simone Bordet
----
http://cometd.org
http://webtide.com
Developer advice, training, services and support
from the Jetty & CometD experts.


Back to the top