Jetty IdleTimeout

Anuj Khandelwal picture Anuj Khandelwal · Aug 28, 2014 · Viewed 33.3k times · Source

I am migrating from jetty7.6 to jetty-9.2. I am seeing that default value of idletimeout for jetty connections is reduced 10 times.

In jetty-7.6

<Set name="maxIdleTime">300000</Set>

In jetty-9.2:

<Set name="idleTimeout"><Property name="http.timeout" default="30000"/></Set>

Why So ?

And because of this I am continuously getting below exception :

WARN:oejs.HttpChannel:qtp607635164-14195: Commit failed
java.util.concurrent.TimeoutException: Idle timeout expired: 30000/30000 ms
at org.eclipse.jetty.io.IdleTimeout.checkIdleTimeout(IdleTimeout.java:156)
at org.eclipse.jetty.io.IdleTimeout$1.run(IdleTimeout.java:50)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)..........

Thanks, Anuj

Answer

Joakim Erdfelt picture Joakim Erdfelt · Aug 29, 2014

put this in your ${jetty.base}/start.ini

jetty.http.idleTimeout=300000

that will restore your previous expectations.

It was changed from a default of 5 minutes to 30 seconds as a timeout simply because that's a better choice for the majority of websites.