How to configure jetty in gerrit.config

618 views
Skip to first unread message

Clouds08

unread,
Nov 3, 2015, 3:38:35 AM11/3/15
to Repo and Gerrit Discussion
The version of our gerrit is v2.10.5, and wo use 'http' to download code.But sometimes there is some question as followings:

[2015-11-03 11:03:46,284] WARN  org.eclipse.jetty.servlet.ServletHandler : /ProjectXXX/info/refs
java.io.IOException: java.util.concurrent.TimeoutException: Idle timeout expired: 30034/30000 ms
        at org.eclipse.jetty.util.SharedBlockingCallback$Blocker.block(SharedBlockingCallback.java:216)
        at org.eclipse.jetty.server.HttpOutput.write(HttpOutput.java:128)
        at org.eclipse.jetty.server.HttpOutput.write(HttpOutput.java:342)
        at java.io.BufferedOutputStream.write(BufferedOutputStream.java:122)
        at org.eclipse.jgit.util.TemporaryBuffer.switchToOverflow(TemporaryBuffer.java:333)
        at org.eclipse.jgit.util.TemporaryBuffer.reachedInCoreLimit(TemporaryBuffer.java:320)
        at org.eclipse.jgit.util.TemporaryBuffer.write(TemporaryBuffer.java:144)
        at java.io.OutputStream.write(OutputStream.java:75)
        at org.eclipse.jgit.transport.PacketLineOut.writePacket(PacketLineOut.java:119)
        at org.eclipse.jgit.transport.PacketLineOut.writeString(PacketLineOut.java:103)
        at org.eclipse.jgit.transport.RefAdvertiser$PacketLineOutRefAdvertiser.writeOne(RefAdvertiser.java:81)
        at org.eclipse.jgit.transport.RefAdvertiser.advertiseId(RefAdvertiser.java:294)
        at org.eclipse.jgit.transport.RefAdvertiser.advertiseAny(RefAdvertiser.java:258)
        at org.eclipse.jgit.transport.RefAdvertiser.send(RefAdvertiser.java:202)
        at org.eclipse.jgit.transport.UploadPack.sendAdvertisedRefs(UploadPack.java:815)
        at org.eclipse.jgit.http.server.UploadPackServlet$InfoRefs.advertise(UploadPackServlet.java:118)
        at org.eclipse.jgit.http.server.SmartServiceInfoRefs.service(SmartServiceInfoRefs.java:132)
        at org.eclipse.jgit.http.server.SmartServiceInfoRefs.access$200(SmartServiceInfoRefs.java:73)
        at org.eclipse.jgit.http.server.SmartServiceInfoRefs$Chain.doFilter(SmartServiceInfoRefs.java:164)
        at com.google.gerrit.httpd.GitOverHttpServlet$UploadFilter.doFilter(GitOverHttpServlet.java:253)
        at org.eclipse.jgit.http.server.SmartServiceInfoRefs$Chain.doFilter(SmartServiceInfoRefs.java:162)
        at org.eclipse.jgit.http.server.SmartServiceInfoRefs.doFilter(SmartServiceInfoRefs.java:112)
        at org.eclipse.jgit.http.server.glue.UrlPipeline$Chain.doFilter(UrlPipeline.java:235)
        at org.eclipse.jgit.http.server.RepositoryFilter.doFilter(RepositoryFilter.java:151)
        at org.eclipse.jgit.http.server.glue.UrlPipeline$Chain.doFilter(UrlPipeline.java:235)
        at org.eclipse.jgit.http.server.NoCacheFilter.doFilter(NoCacheFilter.java:80)
        at org.eclipse.jgit.http.server.glue.UrlPipeline$Chain.doFilter(UrlPipeline.java:235)
        at org.eclipse.jgit.http.server.glue.UrlPipeline.service(UrlPipeline.java:215)
        at org.eclipse.jgit.http.server.glue.SuffixPipeline.service(SuffixPipeline.java:101)
        at org.eclipse.jgit.http.server.glue.MetaFilter.doFilter(MetaFilter.java:175)
        at org.eclipse.jgit.http.server.glue.MetaServlet.service(MetaServlet.java:133)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:725)
        at com.google.inject.servlet.ServletDefinition.doServiceImpl(ServletDefinition.java:279)
        at com.google.inject.servlet.ServletDefinition.doService(ServletDefinition.java:269)
        at com.google.inject.servlet.ServletDefinition.service(ServletDefinition.java:180)
        at com.google.inject.servlet.ManagedServletPipeline.service(ManagedServletPipeline.java:91)
        at com.google.gerrit.pgm.http.jetty.GetUserFilter.doFilter(GetUserFilter.java:76)
        at com.google.gwtexpui.server.CacheControlFilter.doFilter(CacheControlFilter.java:70)
        at com.google.gerrit.httpd.RunAsFilter.doFilter(RunAsFilter.java:113)
        at com.google.gerrit.httpd.ProjectBasicAuthFilter.doFilter(ProjectBasicAuthFilter.java:101)
        at com.google.gerrit.httpd.AllRequestFilter$FilterProxy$1.doFilter(AllRequestFilter.java:64)
        at com.google.gerrit.httpd.AllRequestFilter$FilterProxy.doFilter(AllRequestFilter.java:57)
        at com.google.gerrit.httpd.RequestContextFilter.doFilter(RequestContextFilter.java:75)
        at com.google.inject.servlet.ManagedFilterPipeline.dispatch(ManagedFilterPipeline.java:119)
        at com.google.inject.servlet.GuiceFilter$1.call(GuiceFilter.java:133)
        at com.google.inject.servlet.GuiceFilter$1.call(GuiceFilter.java:130)
        at com.google.inject.servlet.GuiceFilter$Context.call(GuiceFilter.java:203)
        at com.google.inject.servlet.GuiceFilter.doFilter(GuiceFilter.java:130)
        at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1636)
        at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:564)
        at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:219)
        at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1111)
       at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:498)
        at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:183)
        at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1045)
        at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)
        at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:98)
        at org.eclipse.jetty.server.handler.RequestLogHandler.handle(RequestLogHandler.java:92)
        at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:98)
        at org.eclipse.jetty.server.Server.handle(Server.java:461)
        at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:284)
        at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:244)
        at org.eclipse.jetty.io.AbstractConnection$2.run(AbstractConnection.java:534)
        at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:607)
        at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:536)
        at java.lang.Thread.run(Thread.java:722)
Caused by: java.util.concurrent.TimeoutException: Idle timeout expired: 30034/30000 ms
        at org.eclipse.jetty.io.IdleTimeout.checkIdleTimeout(IdleTimeout.java:154)
        at org.eclipse.jetty.io.IdleTimeout$1.run(IdleTimeout.java:50)
        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
        at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
        at java.util.concurrent.FutureTask.run(FutureTask.java:166)
        at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:178)
        at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:292)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
        ... 1 more

The default value of idletimeout for jetty connections was 30000ms, so wo  increased the value of  jetty idletimeout with ‘container.javaOptions = -Dhttp.timeout=120000’.
But the operation was not efficient, and who knows how to configure  jetty in  gerrit.config?


Thanks

FlyBy

unread,
Nov 12, 2015, 5:36:56 PM11/12/15
to Repo and Gerrit Discussion
On Tuesday, November 3, 2015 at 9:38:35 AM UTC+1, Clouds08 wrote:
java.io.IOException: java.util.concurrent.TimeoutException: Idle timeout expired: 30034/30000 ms


The timeout can be configured in etc/gerrit.config since commit 6e4dfddfec8edc6a855bab008565abbfde4f7229
to me the default 30 seconds sounds like not a lot .

[transfer]
  timeout = 100 // in seconds

Reply all
Reply to author
Forward
0 new messages