-
Bug
-
Resolution: Duplicate
-
Critical
-
None
-
Windows
Our work areas contain huge build environments (>40G) each. Hudson becomes excessively slow after configuration operations, when the configuration contains artifact publishers. The artifact paths do contain wildcards like "dir*ectory/smthng/*/" but the resulting artifact fileset is actually very small. It seems as if the configuration makes some artifact path checks 1) over the whole workarea, using 2) slow methods.
All other operations (builds & checkouts etc.) become also slow for the duration. Repeating the configuration operations / stop/reload on GUI seems to produce more GET operations s left on the same checkArtifacts scanning, and Hudson becomes unusable.
A similar issue was mentioned here: http://hudson.361315.n4.nabble.com/Want-to-disable-file-mask-validation-150k-files-tt2256867.html#a2256867.
Here is the relevant dump of one such thread:
"Handling GET /job/jobname/descriptorByName/hudson.tasks.ArtifactArchiver/checkArtifacts : RequestHandlerThread4"
daemon prio=6 tid=0x4c421c00 nid=0x1394 runnable [0x4ec7e000]
java.lang.Thread.State: RUNNABLE
at org.apache.tools.ant.util.VectorSet.doAdd(VectorSet.java:64)
- locked <0x2d266708> (a org.apache.tools.ant.util.VectorSet)
at org.apache.tools.ant.util.VectorSet.add(VectorSet.java:45) - locked <0x2d266708> (a org.apache.tools.ant.util.VectorSet)
at org.apache.tools.ant.DirectoryScanner.processIncluded(DirectoryScanner.java:1322)
at org.apache.tools.ant.DirectoryScanner.accountForIncludedFile(DirectoryScanner.java:1280)
at org.apache.tools.ant.DirectoryScanner.scandir(DirectoryScanner.java:1233)
at org.apache.tools.ant.DirectoryScanner.accountForIncludedDir(DirectoryScanner.java:1305)
at org.apache.tools.ant.DirectoryScanner.scandir(DirectoryScanner.java:1253)
at org.apache.tools.ant.DirectoryScanner.accountForIncludedDir(DirectoryScanner.java:1305)
at org.apache.tools.ant.DirectoryScanner.scandir(DirectoryScanner.java:1253)
at org.apache.tools.ant.DirectoryScanner.accountForIncludedDir(DirectoryScanner.java:1305)
at org.apache.tools.ant.DirectoryScanner.scandir(DirectoryScanner.java:1253)
at org.apache.tools.ant.DirectoryScanner.accountForIncludedDir(DirectoryScanner.java:1305)
at org.apache.tools.ant.DirectoryScanner.scandir(DirectoryScanner.java:1253)
at org.apache.tools.ant.DirectoryScanner.accountForIncludedDir(DirectoryScanner.java:1305)
at org.apache.tools.ant.DirectoryScanner.scandir(DirectoryScanner.java:1253)
at org.apache.tools.ant.DirectoryScanner.accountForIncludedDir(DirectoryScanner.java:1305)
at org.apache.tools.ant.DirectoryScanner.scandir(DirectoryScanner.java:1253)
at org.apache.tools.ant.DirectoryScanner.accountForIncludedDir(DirectoryScanner.java:1305)
at org.apache.tools.ant.DirectoryScanner.scandir(DirectoryScanner.java:1253)
at org.apache.tools.ant.DirectoryScanner.accountForIncludedDir(DirectoryScanner.java:1305)
at org.apache.tools.ant.DirectoryScanner.scandir(DirectoryScanner.java:1253)
at org.apache.tools.ant.DirectoryScanner.accountForIncludedDir(DirectoryScanner.java:1305)
at org.apache.tools.ant.DirectoryScanner.scandir(DirectoryScanner.java:1253)
at org.apache.tools.ant.DirectoryScanner.accountForIncludedDir(DirectoryScanner.java:1305)
at org.apache.tools.ant.DirectoryScanner.scandir(DirectoryScanner.java:1253)
at org.apache.tools.ant.DirectoryScanner.scandir(DirectoryScanner.java:1184)
at org.apache.tools.ant.DirectoryScanner.scandir(DirectoryScanner.java:1146)
at org.apache.tools.ant.DirectoryScanner.checkIncludePatterns(DirectoryScanner.java:928)
at org.apache.tools.ant.DirectoryScanner.scan(DirectoryScanner.java:882) - locked <0x2d264738> (a org.apache.tools.ant.DirectoryScanner)
at org.apache.tools.ant.types.AbstractFileSet.getDirectoryScanner(AbstractFileSet.java:490)
at hudson.FilePath$34.hasMatch(FilePath.java:1715)
at hudson.FilePath$34.invoke(FilePath.java:1648)
at hudson.FilePath$34.invoke(FilePath.java:1615)
at hudson.FilePath.act(FilePath.java:753)
at hudson.FilePath.act(FilePath.java:735)
at hudson.FilePath.validateAntFileMask(FilePath.java:1615)
at hudson.FilePath.validateFileMask(FilePath.java:1765)
at hudson.FilePath.validateFileMask(FilePath.java:1745)
at hudson.FilePath.validateFileMask(FilePath.java:1738)
at hudson.tasks.ArtifactArchiver$DescriptorImpl.doCheckArtifacts(ArtifactArchiver.java:197)
at sun.reflect.GeneratedMethodAccessor815.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.kohsuke.stapler.Function$InstanceFunction.invoke(Function.java:259)
at org.kohsuke.stapler.Function.bindAndInvoke(Function.java:126)
at org.kohsuke.stapler.Function.bindAndInvokeAndServeResponse(Function.java:65)
at org.kohsuke.stapler.MetaClass$1.doDispatch(MetaClass.java:79)
at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:30)
at org.kohsuke.stapler.Stapler.invoke(Stapler.java:537)
at org.kohsuke.stapler.MetaClass$7.doDispatch(MetaClass.java:219)
at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:30)
at org.kohsuke.stapler.Stapler.invoke(Stapler.java:537)
at org.kohsuke.stapler.MetaClass$7.doDispatch(MetaClass.java:219)
at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:30)
at org.kohsuke.stapler.Stapler.invoke(Stapler.java:537)
at org.kohsuke.stapler.Stapler.invoke(Stapler.java:453)
at org.kohsuke.stapler.Stapler.service(Stapler.java:135)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:45)
at winstone.ServletConfiguration.execute(ServletConfiguration.java:249)
at winstone.RequestDispatcher.forward(RequestDispatcher.java:335)
at winstone.RequestDispatcher.doFilter(RequestDispatcher.java:378)
at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:94)
at net.bull.javamelody.MonitoringFilter.doFilter(MonitoringFilter.java:420)
at org.jvnet.hudson.plugins.monitoring.HudsonMonitoringFilter.doFilter(HudsonMonitoringFilter.java:43)
at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:97)
at hudson.util.PluginServletFilter.doFilter(PluginServletFilter.java:86)
at winstone.FilterConfiguration.execute(FilterConfiguration.java:195)
at winstone.RequestDispatcher.doFilter(RequestDispatcher.java:368)
at hudson.security.csrf.CrumbFilter.doFilter(CrumbFilter.java:47)
at winstone.FilterConfiguration.execute(FilterConfiguration.java:195)
at winstone.RequestDispatcher.doFilter(RequestDispatcher.java:368)
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 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:195)
at winstone.RequestDispatcher.doFilter(RequestDispatcher.java:368)
at winstone.RequestDispatcher.forward(RequestDispatcher.java:333)
at winstone.RequestHandlerThread.processRequest(RequestHandlerThread.java:244)
at winstone.RequestHandlerThread.run(RequestHandlerThread.java:150)
at java.lang.Thread.run(Thread.java:619)
- duplicates
-
JENKINS-7214 FilePath.validateAntFileMask too slow for /configure
- Resolved