[JIRA] (JENKINS-38867) Major Optimization: Create and Use FlowNode.getAction w/o TransientActionFactories
Title: Message Title SCM/JIRA link daemon commented on JENKINS-38867 Re: Major Optimization: Create and Use FlowNode.getAction w/o TransientActionFactories Code changed in jenkins User: Jesse Glick Path: core/src/main/java/jenkins/model/TransientActionFactory.java http://jenkins-ci.org/commit/jenkins/9ecc77b9badd65d9eabd34d2baad1742d5566894 Log: JENKINS-38867 Since tag for #2582. Add Comment This message was sent by Atlassian JIRA (v7.1.7#71011-sha1:2526d7c) -- You received this message because you are subscribed to the Google Groups "Jenkins Issues" group. To unsubscribe from this group and stop receiving emails from it, send an email to jenkinsci-issues+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.
[JIRA] (JENKINS-38867) Major Optimization: Create and Use FlowNode.getAction w/o TransientActionFactories
Title: Message Title SCM/JIRA link daemon commented on JENKINS-38867 Re: Major Optimization: Create and Use FlowNode.getAction w/o TransientActionFactories Code changed in jenkins User: Jesse Glick Path: core/src/main/java/hudson/model/Actionable.java core/src/main/java/jenkins/model/TransientActionFactory.java test/src/test/java/jenkins/model/TransientActionFactoryTest.java http://jenkins-ci.org/commit/jenkins/6360b96464f6c2498fe91a089a21992411b2ec34 Log: JENKINS-38867 Optimize performance of Actionable.getAllActions (#2582) Optimize Actionable.getAllActions. Also need to invalidate the cache when new plugins are installed. Various improvements to TransientActionFactory caching. · Move the cache code to TransientActionFactory itself, for better encapsulation. · Optimize getAction(Class) to not need to call getAllActions; avoids copying lists, and can avoid calling TransientActionFactory at all. · Ensure that we maintain a separate cache per ExtensionList instance, so that static state is not leaked across Jenkins restarts. Updated TransientActionFactory to specify what kinds of actions it could produce. It turns out that changing type parameters for an extension, while generally binary-compatible, breaks reflective code in Jenkins and so this is not an option. … hudson.ExtensionFinder$GuiceFinder$SezpozModule configure WARNING: Failed to load com.cloudbees.hudson.plugins.folder.relocate.RelocationAction$TransientActionFactoryImpl java.lang.LinkageError: Failed to resolve class com.cloudbees.hudson.plugins.folder.relocate.RelocationAction$TransientActionFactoryImpl at hudson.ExtensionFinder$GuiceFinder$SezpozModule.resolve(ExtensionFinder.java:489) at hudson.ExtensionFinder$GuiceFinder$SezpozModule.configure(ExtensionFinder.java:506) at … at hudson.ExtensionFinder$GuiceFinder.(ExtensionFinder.java:280) at … at hudson.ClassicPluginStrategy.findComponents(ClassicPluginStrategy.java:472) at hudson.ExtensionList.load(ExtensionList.java:349) at hudson.ExtensionList.ensureLoaded(ExtensionList.java:287) at hudson.ExtensionList.getComponents(ExtensionList.java:167) at jenkins.model.Jenkins$8.onInitMilestoneAttained(Jenkins.java:1082) at jenkins.InitReactorRunner$1.onAttained(InitReactorRunner.java:82) at org.jvnet.hudson.reactor.ReactorListener$Aggregator.onAttained(ReactorListener.java:104) at org.jvnet.hudson.reactor.Reactor$1.run(Reactor.java:176) at org.jvnet.hudson.reactor.Reactor$Node.run(Reactor.java:117) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) at java.lang.Thread.run(Thread.java:745) Caused by: java.lang.reflect.MalformedParameterizedTypeException at sun.reflect.generics.reflectiveObjects.ParameterizedTypeImpl.validateConstructorArguments(ParameterizedTypeImpl.java:58) at
[JIRA] (JENKINS-38867) Major Optimization: Create and Use FlowNode.getAction w/o TransientActionFactories
Title: Message Title Oleg Nenashev commented on JENKINS-38867 Re: Major Optimization: Create and Use FlowNode.getAction w/o TransientActionFactories In addition to the original fix we have also integrated https://github.com/jenkinsci/jenkins/pull/2582 towards jenkins-2.34. Same issue ID Add Comment This message was sent by Atlassian JIRA (v7.1.7#71011-sha1:2526d7c) -- You received this message because you are subscribed to the Google Groups "Jenkins Issues" group. To unsubscribe from this group and stop receiving emails from it, send an email to jenkinsci-issues+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.
[JIRA] (JENKINS-38867) Major Optimization: Create and Use FlowNode.getAction w/o TransientActionFactories
Title: Message Title Oleg Nenashev updated an issue Jenkins / JENKINS-38867 Major Optimization: Create and Use FlowNode.getAction w/o TransientActionFactories Change By: Oleg Nenashev Component/s: core Add Comment This message was sent by Atlassian JIRA (v7.1.7#71011-sha1:2526d7c) -- You received this message because you are subscribed to the Google Groups "Jenkins Issues" group. To unsubscribe from this group and stop receiving emails from it, send an email to jenkinsci-issues+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.
[JIRA] (JENKINS-38867) Major Optimization: Create and Use FlowNode.getAction w/o TransientActionFactories
Title: Message Title Sam Van Oort updated JENKINS-38867 Released as workflow-api plugin v 2.5 Jenkins / JENKINS-38867 Major Optimization: Create and Use FlowNode.getAction w/o TransientActionFactories Change By: Sam Van Oort Status: In Review Closed Resolution: Done Add Comment This message was sent by Atlassian JIRA (v7.1.7#71011-sha1:2526d7c) -- You received this message because you are subscribed to the Google Groups "Jenkins Issues" group. To unsubscribe from this group and stop receiving emails from it, send an email to jenkinsci-issues+unsubscr...@googlegroups.com. For more options, visit
[JIRA] (JENKINS-38867) Major Optimization: Create and Use FlowNode.getAction w/o TransientActionFactories
Title: Message Title Sam Van Oort updated an issue Jenkins / JENKINS-38867 Major Optimization: Create and Use FlowNode.getAction w/o TransientActionFactories Change By: Sam Van Oort In most cases we only care about the directly attached actions on flownodes. FlowNode.getAction has been identified as ~25% of runtime for pipeline flow analysis, and it is likely b/c this queries all TransientActionFactories for actions. We should:1. Add a FlowNode.getAction API version (name TBD) that only iterates through the directly added actions (already cached in-object)2. Switch the pipeline-graph-analysis plugin and stage view's REST API to use this exclusively3. Benchmark to see what the performance difference isUPDATE: * 50% improvement in Doubles stage view performance, which should carry through to a large extent anywhere we use flow analysis.* Add Comment This message was sent by Atlassian JIRA (v7.1.7#71011-sha1:2526d7c) -- You received this message because you are subscribed to the Google Groups "Jenkins Issues"
[JIRA] (JENKINS-38867) Major Optimization: Create and Use FlowNode.getAction w/o TransientActionFactories
Title: Message Title Sam Van Oort updated an issue Jenkins / JENKINS-38867 Major Optimization: Create and Use FlowNode.getAction w/o TransientActionFactories Change By: Sam Van Oort Component/s: pipeline-graph-analysis-plugin Component/s: pipeline-stage-view-plugin Add Comment This message was sent by Atlassian JIRA (v7.1.7#71011-sha1:2526d7c) -- You received this message because you are subscribed to the Google Groups "Jenkins Issues" group. To unsubscribe from this group and stop receiving emails from it, send an email to jenkinsci-issues+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.
[JIRA] (JENKINS-38867) Major Optimization: Create and Use FlowNode.getAction w/o TransientActionFactories
Title: Message Title Sam Van Oort updated an issue Jenkins / JENKINS-38867 Major Optimization: Create and Use FlowNode.getAction w/o TransientActionFactories Change By: Sam Van Oort In most cases we only care about the directly attached actions on flownodes. FlowNode.getAction has been identified as ~25% of runtime for pipeline flow analysis, and it is likely b/c this queries all TransientActionFactories for actions. We should:1. Add a FlowNode.getAction API version (name TBD) that only iterates through the directly added actions (already cached in-object)2. Switch the pipeline-graph-analysis plugin and stage view's REST API to use this exclusively3. Benchmark to see what the performance difference is UPDATE: *50% improvement in stage view performance, which should carry through to a large extent anywhere we use flow analysis.* Add Comment This message was sent by Atlassian JIRA (v7.1.7#71011-sha1:2526d7c) -- You received this message because you are subscribed to the Google Groups "Jenkins Issues" group. To
[JIRA] (JENKINS-38867) Major Optimization: Create and Use FlowNode.getAction w/o TransientActionFactories
Title: Message Title Sam Van Oort updated JENKINS-38867 Jenkins / JENKINS-38867 Major Optimization: Create and Use FlowNode.getAction w/o TransientActionFactories Change By: Sam Van Oort Status: In Progress Review Add Comment This message was sent by Atlassian JIRA (v7.1.7#71011-sha1:2526d7c) -- You received this message because you are subscribed to the Google Groups "Jenkins Issues" group. To unsubscribe from this group and stop receiving emails from it, send an email to jenkinsci-issues+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.
[JIRA] (JENKINS-38867) Major Optimization: Create and Use FlowNode.getAction w/o TransientActionFactories
Title: Message Title Sam Van Oort commented on JENKINS-38867 Re: Major Optimization: Create and Use FlowNode.getAction w/o TransientActionFactories As noted in the PR, I think you have misunderstood the intended use case. Add Comment This message was sent by Atlassian JIRA (v7.1.7#71011-sha1:2526d7c) -- You received this message because you are subscribed to the Google Groups "Jenkins Issues" group. To unsubscribe from this group and stop receiving emails from it, send an email to jenkinsci-issues+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.
[JIRA] (JENKINS-38867) Major Optimization: Create and Use FlowNode.getAction w/o TransientActionFactories
Title: Message Title Jesse Glick commented on JENKINS-38867 Re: Major Optimization: Create and Use FlowNode.getAction w/o TransientActionFactories As noted in the PR I think this cannot happen. Add Comment This message was sent by Atlassian JIRA (v7.1.7#71011-sha1:2526d7c) -- You received this message because you are subscribed to the Google Groups "Jenkins Issues" group. To unsubscribe from this group and stop receiving emails from it, send an email to jenkinsci-issues+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.
[JIRA] (JENKINS-38867) Major Optimization: Create and Use FlowNode.getAction w/o TransientActionFactories
Title: Message Title Sam Van Oort created an issue Jenkins / JENKINS-38867 Major Optimization: Create and Use FlowNode.getAction w/o TransientActionFactories Issue Type: Improvement Assignee: Sam Van Oort Components: pipeline-graph-analysis-plugin, pipeline-stage-view-plugin, workflow-api-plugin Created: 2016/Oct/10 2:47 PM Priority: Major Reporter: Sam Van Oort In most cases we only care about the directly attached actions on flownodes. FlowNode.getAction has been identified as ~25% of runtime for pipeline flow analysis, and it is likely b/c this queries all TransientActionFactories for actions. We should: 1. Add a FlowNode.getAction API version (name TBD) that only iterates through the directly added actions (already cached in-object) 2. Switch the pipeline-graph-analysis plugin and stage view's REST API to use this exclusively 3. Benchmark to see what the performance difference is Add Comment
[JIRA] (JENKINS-38867) Major Optimization: Create and Use FlowNode.getAction w/o TransientActionFactories
Title: Message Title Sam Van Oort started work on JENKINS-38867 Change By: Sam Van Oort Status: Open In Progress Add Comment This message was sent by Atlassian JIRA (v7.1.7#71011-sha1:2526d7c) -- You received this message because you are subscribed to the Google Groups "Jenkins Issues" group. To unsubscribe from this group and stop receiving emails from it, send an email to jenkinsci-issues+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.