We used to have the same exceptions in our logs as well. We just turned off GZIPCompression at Jenkins level and everything went fine afterward… This is done by adding the following arguments to the Jenkins launch command:
-Dorg.kohsuke.stapler.compression.CompressionFilter.disabled=true On the other hand, we also notice many more exceptions about Jenkins being unable to parse some of its data – something like "unable to parse date: 0" Builds artefacts are kept in their own directory, named after the build number. In addition (on Unix at least), a symlink is created with the build date pointing to the directory where the actual build files are stored. In our case, we noticed that old builds didn't have any symlinks pointing to them – so they couldn't be accessed "by date". Hence the exceptions in the log about being unable to parse the build number into a date… We simply deleted those (very) old builds, the exceptions disappeared and Jenkins became faster. Hope this helps… /Bertrand From: David Resnick <abune...@gmail.com<mailto:abune...@gmail.com>> Reply-To: "jenkinsci-users@googlegroups.com<mailto:jenkinsci-users@googlegroups.com>" <jenkinsci-users@googlegroups.com<mailto:jenkinsci-users@googlegroups.com>> Date: Wednesday 24 October 2012 07:21 To: "jenkinsci-users@googlegroups.com<mailto:jenkinsci-users@googlegroups.com>" <jenkinsci-users@googlegroups.com<mailto:jenkinsci-users@googlegroups.com>> Subject: Re: Very long load time for main dashboard since 1.486 Thanks! I was hoping for some attention by core developers to this thread, but I think you have made the next right step. - David On Tuesday, October 23, 2012 3:07:29 PM UTC+2, jcsirot wrote: Hi David, I opened a ticket in Jenkins JIRA: https://issues.jenkins-ci.org/browse/JENKINS-15601 Feel free to add details or comments to complete my short description of the issue. -- J.-C. Sirot Le mardi 23 octobre 2012 12:54:47 UTC+2, David Resnick a écrit : Hi Jean-Christophe, I can confirm that I have similar exceptions in my log too (you can find a sample at http://pastebin.com/NEXWMMa3 ). I am not able though to correlate the exceptions with the long loading times. Right now my main dashboard loads very quickly (with a Jenkins instance that has been up for over 5 days). - David On Tuesday, October 23, 2012 10:40:58 AM UTC+2, jcsirot wrote: Helle David, I'm facing the same issue too. Looking at the log I noticed this exception. I don't know if it is linked but after this exception has been printed in the log trail the dashboard loads immediately. Did someone have any unexpected exception in the log file? Oct 22, 2012 6:53:59 PM org.kohsuke.stapler.compression.CompressionFilter reportException WARNING: Untrapped servlet exception winstone.ClientSocketException: Failed to write to client at winstone.ClientOutputStream.write(ClientOutputStream.java:41) at winstone.WinstoneOutputStream.commit(WinstoneOutputStream.java:181) at winstone.WinstoneOutputStream.flush(WinstoneOutputStream.java:219) at winstone.WinstoneOutputStream.close(WinstoneOutputStream.java:229) at java.util.zip.DeflaterOutputStream.close(DeflaterOutputStream.java:149) at org.kohsuke.stapler.compression.FilterServletOutputStream.close(FilterServletOutputStream.java:36) at java.io.FilterOutputStream.close(FilterOutputStream.java:143) at sun.nio.cs.StreamEncoder.implClose(StreamEncoder.java:301) at sun.nio.cs.StreamEncoder.close(StreamEncoder.java:130) at java.io.OutputStreamWriter.close(OutputStreamWriter.java:216) at java.io.BufferedWriter.close(BufferedWriter.java:248) at org.dom4j.io.XMLWriter.close(XMLWriter.java:286) at org.kohsuke.stapler.jelly.HTMLWriterOutput.close(HTMLWriterOutput.java:70) at org.kohsuke.stapler.jelly.DefaultScriptInvoker.invokeScript(DefaultScriptInvoker.java:56) at org.kohsuke.stapler.jelly.JellyClassTearOff.serveIndexJelly(JellyClassTearOff.java:107) at org.kohsuke.stapler.jelly.JellyFacet.handleIndexRequest(JellyFacet.java:127) at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:563) at org.kohsuke.stapler.Stapler.invoke(Stapler.java:659) at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:625) at org.kohsuke.stapler.Stapler.invoke(Stapler.java:659) at org.kohsuke.stapler.Stapler.invoke(Stapler.java:488) at org.kohsuke.stapler.Stapler.service(Stapler.java:162) at javax.servlet.http.HttpServlet.service(HttpServlet.java:45) at winstone.ServletConfiguration.execute(ServletConfiguration.java:248) at winstone.RequestDispatcher.forward(RequestDispatcher.java:333) at winstone.RequestDispatcher.doFilter(RequestDispatcher.java:376) at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:95) at hudson.util.PluginServletFilter.doFilter(PluginServletFilter.java:87) at winstone.FilterConfiguration.execute(FilterConfiguration.java:194) at winstone.RequestDispatcher.doFilter(RequestDispatcher.java:366) at hudson.security.csrf.CrumbFilter.doFilter(CrumbFilter.java:47) at winstone.FilterConfiguration.execute(FilterConfiguration.java:194) at winstone.RequestDispatcher.doFilter(RequestDispatcher.java:366) at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:84) at hudson.security.UnwrapSecurityExceptionFilter.doFilter(UnwrapSecurityExceptionFilter.java:51) at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87) at org.acegisecurity.ui.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:166) at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87) at org.acegisecurity.providers.anonymous.AnonymousProcessingFilter.doFilter(AnonymousProcessingFilter.java:125) at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87) at org.acegisecurity.ui.rememberme.RememberMeProcessingFilter.doFilter(RememberMeProcessingFilter.java:142) at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87) at org.acegisecurity.ui.AbstractProcessingFilter.doFilter(AbstractProcessingFilter.java:271) at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87) at org.acegisecurity.ui.basicauth.BasicProcessingFilter.doFilter(BasicProcessingFilter.java:173) at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87) at jenkins.security.ApiTokenFilter.doFilter(ApiTokenFilter.java:63) at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87) at org.acegisecurity.context.HttpSessionContextIntegrationFilter.doFilter(HttpSessionContextIntegrationFilter.java:249) at hudson.security.HttpSessionContextIntegrationFilter2.doFilter(HttpSessionContextIntegrationFilter2.java:66) at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87) at hudson.security.ChainedServletFilter.doFilter(ChainedServletFilter.java:76) at hudson.security.HudsonFilter.doFilter(HudsonFilter.java:164) at winstone.FilterConfiguration.execute(FilterConfiguration.java:194) at winstone.RequestDispatcher.doFilter(RequestDispatcher.java:366) at org.kohsuke.stapler.compression.CompressionFilter.doFilter(CompressionFilter.java:50) at winstone.FilterConfiguration.execute(FilterConfiguration.java:194) at winstone.RequestDispatcher.doFilter(RequestDispatcher.java:366) at hudson.util.CharacterEncodingFilter.doFilter(CharacterEncodingFilter.java:81) at winstone.FilterConfiguration.execute(FilterConfiguration.java:194) at winstone.RequestDispatcher.doFilter(RequestDispatcher.java:366) at winstone.RequestDispatcher.forward(RequestDispatcher.java:331) at winstone.RequestHandlerThread.processRequest(RequestHandlerThread.java:215) at winstone.RequestHandlerThread.run(RequestHandlerThread.java:138) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441) at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303) at java.util.concurrent.FutureTask.run(FutureTask.java:138) at winstone.BoundedExecutorService$1.run(BoundedExecutorService.java:77) at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) at java.lang.Thread.run(Thread.java:619) Caused by: java.net.SocketException: Broken pipe at java.net.SocketOutputStream.socketWrite0(Native Method) at java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:92) at java.net.SocketOutputStream.write(SocketOutputStream.java:136) at winstone.ClientOutputStream.write(ClientOutputStream.java:39) ... 70 more -- Jean-Christophe Sirot Le dimanche 21 octobre 2012 11:52:13 UTC+2, David Resnick a écrit : Since upgrading to 1.486 I've noticed long load times for some views on our Jenkins instance. Longest load times are for the main dashboard (which includes over 100 jobs and thousands of builds) -- I just timed 4 minutes 45 seconds for the page to load. Note that all pages do load eventually. Has anyone else encountered this regression? - David