httpKeepAliveTimeout option not taken into account

This issue is archived. You can view it, but you can't modify it. Learn more

XMLWordPrintable

    • Type: Bug
    • Resolution: Unresolved
    • Priority: Critical
    • Component/s: cli, winstone-jetty
    • Environment:

      Hello,

      With my previous version of Jenkins (2.176.4), I successfully used the

      --httpKeepAliveTimeout=15000

      option to solve TimeoutException when dealing with long running jobs called remotely via the jenkins-cli (see https://issues.jenkins.io/browse/JENKINS-59267).

      A couple of days ago, Jenkins has been upgraded to 2.263.3 (both war and jenkins-cli.jar files) and same issues are back. 

      According to the logs below, timeout value is not taken into account anymore (no idea where this 1000ms value comes from).

      This is how the call is performed :

      java -jar jenkins-cli.jar -s http://blabla.host.com:8080 -http -auth @/usr/home/blablauser/.jenkins-cli build -r 900 -s -v /path/to/my/pipeline

      Here's how the Jenkins process is defined (started as a service) :

      /etc/alternatives/java -Dcom.sun.akuma.Daemon=daemonized -Djava.awt.headless=true -DJENKINS_HOME=/var/lib/jenkins -jar /usr/lib/jenkins/jenkins.war --logfile=/var/log/jenkins/jenkins.log --webroot=/var/cache/jenkins/war --daemon --httpPort=8080 --debug=5 --handlerCountMax=100 --handlerCountMaxIdle=20 --httpKeepAliveTimeout=15000
      

       

      Error on client side :

      java.net.SocketException: Unexpected end of file from server
       at sun.net.www.http.HttpClient.parseHTTPHeader(HttpClient.java:851)
       at sun.net.www.http.HttpClient.parseHTTP(HttpClient.java:678)
       at sun.net.www.http.HttpClient.parseHTTPHeader(HttpClient.java:848)
       at sun.net.www.http.HttpClient.parseHTTP(HttpClient.java:678)
       at sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1587)
       at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1492)
       at hudson.cli.FullDuplexHttpStream.<init>(FullDuplexHttpStream.java:74)
       at hudson.cli.CLI.plainHttpConnection(CLI.java:374)
       at hudson.cli.CLI._main(CLI.java:312)
       at hudson.cli.CLI.main(CLI.java:96)

      Error on server side :

       

      Diagnosis problem:
       java.io.IOException: java.util.concurrent.TimeoutException: Idle timeout expired: 1512/1000 ms
       at org.eclipse.jetty.server.HttpInput$ErrorState.noContent(HttpInput.java:1091)
       at org.eclipse.jetty.server.HttpInput.read(HttpInput.java:321)
       at org.eclipse.jetty.server.HttpInput.read(HttpInput.java:258)
       at io.jenkins.cli.shaded.org.apache.commons.io.input.ProxyInputStream.read(ProxyInputStream.java:62)
       at hudson.cli.FlightRecorderInputStream$1.run(FlightRecorderInputStream.java:61)
       Caused by: java.util.concurrent.TimeoutException: Idle timeout expired: 1512/1000 ms
       at org.eclipse.jetty.io.IdleTimeout.checkIdleTimeout(IdleTimeout.java:171)
       at org.eclipse.jetty.io.IdleTimeout.idleCheck(IdleTimeout.java:113)
       at org.eclipse.jetty.io.IdleTimeout.activate(IdleTimeout.java:136)
       at org.eclipse.jetty.io.IdleTimeout.setIdleTimeout(IdleTimeout.java:100)
       at org.eclipse.jetty.server.LowResourceMonitor.setLowResources(LowResourceMonitor.java:412)
       at org.eclipse.jetty.server.LowResourceMonitor.monitor(LowResourceMonitor.java:352)
       at org.eclipse.jetty.server.LowResourceMonitor$1.run(LowResourceMonitor.java:84)
       at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
       at java.util.concurrent.FutureTask.run(FutureTask.java:266)
       at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180)
      

       

      FYI : there's no proxy since the Automic software (i.e. the client) is installed on the same host than Jenkins.

            Assignee:
            Unassigned
            Reporter:
            Phil
            Archiver:
            Jenkins Service Account

              Created:
              Updated:
              Archived: