-
Bug
-
Resolution: Fixed
-
Major
-
1.532.1 with cloudbees-template
Creating a template using a Groovy transformer (in this case actually a folder template inside a parent folder, with two job templates created inside it) was remarkably slow:
"Handling POST /job/.../createItem : http-8089-6" Id=5527 Group=main RUNNABLE at java.util.zip.ZipFile.getEntry(Native Method) at java.util.zip.ZipFile.getEntry(Unknown Source) - locked java.util.jar.JarFile@1951d8d7 at java.util.jar.JarFile.getEntry(Unknown Source) at java.util.jar.JarFile.getJarEntry(Unknown Source) at org.apache.catalina.loader.WebappClassLoader.findResources(WebappClassLoader.java:1315) - locked [Ljava.util.jar.JarFile;@7b9a0ac at java.lang.ClassLoader.getResources(Unknown Source) at java.lang.ClassLoader.getResources(Unknown Source) at java.lang.ClassLoader.getResources(Unknown Source) at org.apache.tools.ant.AntClassLoader.findResources(AntClassLoader.java:957) at org.apache.tools.ant.AntClassLoader.findResources(AntClassLoader.java:935) at sun.reflect.GeneratedMethodAccessor24.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at jenkins.ClassLoaderReflectionToolkit.findResources(ClassLoaderReflectionToolkit.java:60) at hudson.ClassicPluginStrategy$DependencyClassLoader.findResources(ClassicPluginStrategy.java:594) at java.lang.ClassLoader.getResources(Unknown Source) at org.apache.tools.ant.AntClassLoader.findResources(AntClassLoader.java:957) at org.apache.tools.ant.AntClassLoader.findResources(AntClassLoader.java:935) at sun.reflect.GeneratedMethodAccessor24.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at jenkins.ClassLoaderReflectionToolkit.findResources(ClassLoaderReflectionToolkit.java:60) at hudson.ClassicPluginStrategy$DependencyClassLoader.findResources(ClassicPluginStrategy.java:594) at java.lang.ClassLoader.getResources(Unknown Source) at org.apache.tools.ant.AntClassLoader.findResources(AntClassLoader.java:957) at org.apache.tools.ant.AntClassLoader.findResources(AntClassLoader.java:935) at sun.reflect.GeneratedMethodAccessor24.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at jenkins.ClassLoaderReflectionToolkit.findResources(ClassLoaderReflectionToolkit.java:60) at hudson.ClassicPluginStrategy$DependencyClassLoader.findResources(ClassicPluginStrategy.java:594) at java.lang.ClassLoader.getResources(Unknown Source) at org.apache.tools.ant.AntClassLoader.findResources(AntClassLoader.java:957) at org.apache.tools.ant.AntClassLoader.findResources(AntClassLoader.java:935) at sun.reflect.GeneratedMethodAccessor24.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at jenkins.ClassLoaderReflectionToolkit.findResources(ClassLoaderReflectionToolkit.java:60) at hudson.ClassicPluginStrategy$DependencyClassLoader.findResources(ClassicPluginStrategy.java:594) at java.lang.ClassLoader.getResources(Unknown Source) at org.apache.tools.ant.AntClassLoader.findResources(AntClassLoader.java:957) at org.apache.tools.ant.AntClassLoader.findResources(AntClassLoader.java:935) at sun.reflect.GeneratedMethodAccessor24.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at jenkins.ClassLoaderReflectionToolkit.findResources(ClassLoaderReflectionToolkit.java:60) at hudson.ClassicPluginStrategy$DependencyClassLoader.findResources(ClassicPluginStrategy.java:594) at java.lang.ClassLoader.getResources(Unknown Source) at org.apache.tools.ant.AntClassLoader.findResources(AntClassLoader.java:957) at hudson.PluginFirstClassLoader.findResources(PluginFirstClassLoader.java:79) at org.apache.tools.ant.AntClassLoader.findResources(AntClassLoader.java:935) at hudson.PluginFirstClassLoader.findResources(PluginFirstClassLoader.java:87) at sun.reflect.GeneratedMethodAccessor24.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at jenkins.ClassLoaderReflectionToolkit.findResources(ClassLoaderReflectionToolkit.java:60) at hudson.PluginManager$UberClassLoader.findResources(PluginManager.java:1016) at java.lang.ClassLoader.getResources(Unknown Source) at java.lang.ClassLoader.getResources(Unknown Source) at org.codehaus.groovy.transform.ASTTransformationVisitor.doAddGlobalTransforms(ASTTransformationVisitor.java:194) at org.codehaus.groovy.transform.ASTTransformationVisitor.addGlobalTransforms(ASTTransformationVisitor.java:187) at org.codehaus.groovy.transform.ASTTransformationVisitor.addPhaseOperations(ASTTransformationVisitor.java:150) at org.codehaus.groovy.control.CompilationUnit.<init>(CompilationUnit.java:186) at org.codehaus.groovy.control.CompilationUnit.<init>(CompilationUnit.java:118) at groovy.lang.GroovyClassLoader.createCompilationUnit(GroovyClassLoader.java:476) at groovy.lang.GroovyClassLoader.doParseClass(GroovyClassLoader.java:290) at groovy.lang.GroovyClassLoader.parseClass(GroovyClassLoader.java:281) - locked java.util.HashMap@70971d3 at groovy.lang.GroovyShell.parseClass(GroovyShell.java:731) at groovy.lang.GroovyShell.parse(GroovyShell.java:743) at groovy.lang.GroovyShell.parse(GroovyShell.java:770) at com.cloudbees.hudson.plugins.modeling.impl.SimpleTemplateEngine.parseScript(SimpleTemplateEngine.java:134) at com.cloudbees.hudson.plugins.modeling.impl.SimpleTemplateEngine.createTemplate(SimpleTemplateEngine.java:122) at com.cloudbees.hudson.plugins.modeling.impl.SimpleTemplateEngine.createTemplate(SimpleTemplateEngine.java:116) at groovy.text.TemplateEngine.createTemplate(TemplateEngine.java:38) at com.cloudbees.hudson.plugins.modeling.transformer.GroovyTemplateModelTransformer.compile(GroovyTemplateModelTransformer.java:83) at com.cloudbees.hudson.plugins.modeling.transformer.GroovyTemplateModelTransformer.compileTemplate(GroovyTemplateModelTransformer.java:75) at com.cloudbees.hudson.plugins.modeling.transformer.GroovyTemplateModelTransformer.transform(GroovyTemplateModelTransformer.java:97) at com.cloudbees.hudson.plugins.modeling.impl.entity.EntityInstance.produce(EntityInstance.java:149) at com.cloudbees.hudson.plugins.modeling.impl.entity.EntityInstance.produce(EntityInstance.java:121) at com.cloudbees.hudson.plugins.modeling.impl.jobTemplate.JobTemplateDescriptor.newInstance(JobTemplateDescriptor.java:47) at hudson.model.ItemGroupMixIn.createProject(ItemGroupMixIn.java:259) - locked com.cloudbees.hudson.plugins.folder.Folder$MixInImpl@37ee014f at com.cloudbees.hudson.plugins.folder.Folder.createProject(Folder.java:666) at com.cloudbees.hudson.plugins.folder.Folder.createProject(Folder.java:662) at com.cloudbees.hudson.plugins.modeling.impl.folder.activities.CreateItemActivity.perform(CreateItemActivity.java:42) at com.cloudbees.hudson.plugins.modeling.impl.folder.FolderTemplateDescriptor.newInstance(FolderTemplateDescriptor.java:54) at com.cloudbees.hudson.plugins.modeling.impl.folder.FolderTemplateDescriptor.newInstance(FolderTemplateDescriptor.java:22) at hudson.model.ItemGroupMixIn.createProject(ItemGroupMixIn.java:259) - locked com.cloudbees.hudson.plugins.folder.Folder$MixInImpl@22c07d34 at hudson.model.ItemGroupMixIn.createTopLevelItem(ItemGroupMixIn.java:175) - locked com.cloudbees.hudson.plugins.folder.Folder$MixInImpl@22c07d34 at com.cloudbees.hudson.plugins.folder.Folder.doCreateItem(Folder.java:597) at com.cloudbees.hudson.plugins.folder.Folder.doCreateItem(Folder.java:122)
UberClassLoader.findResources calls findResources on each plugin, which would be fine, except apparently some of these calls involve deep recursions into plugin dependencies, and probably a lot of overlapping calls to findResources in the root web application. I am guessing this all turns out to be vastly slower than just checking each plugin ZIP file, plus the parent, once.
- is blocking
-
JENKINS-18677 Some jobs not loaded after jenkins restart: java.lang.NoSuchFieldError: triggers
- Resolved
-
JENKINS-22310 CLI slow performance investigation
- Resolved