You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@maven.apache.org by "Jesse Glick (JIRA)" <ji...@codehaus.org> on 2012/07/17 22:28:21 UTC
[jira] (MNG-5312) MavenProject.getParent intolerably slow when
import scope used heavily
Jesse Glick created MNG-5312:
--------------------------------
Summary: MavenProject.getParent intolerably slow when import scope used heavily
Key: MNG-5312
URL: https://jira.codehaus.org/browse/MNG-5312
Project: Maven 2 & 3
Issue Type: Bug
Components: Embedding
Affects Versions: 3.0.4
Environment: JDK 7, Ubuntu
Reporter: Jesse Glick
Attachments: DefaultProjectBuilder.diff
For projects which make heavy use of {{<scope>import</scope>}} including in parent POMs, calling {{MavenProject.getParent}} (thus {{DefaultProjectBuilder.build(Artifact, ...)}}) can be intolerably slow - taking many minutes - even when loading the project (or its parent) via {{DefaultProjectBuilder.build(List<File>, ...)}} takes less than a second.
The discrepancy seems to be due to the fact that {{ReactorModelCache}} is crucial for the performance of {{DefaultModelBuilder.importDependencyManagement}}, yet only one {{DefaultProjectBuilder.build}} overload defines a {{ModelCache}}. For resolution of parents from a single POM, no model cache is likely to be needed under normal circumstances, but if you are missing a cache when import scope dependencies are processed for {{<dependencyManagement>}}, the builder takes exponential time to find these imports.
I do not have a minimal test case for this yet as the known test case involves a large and complex proprietary source base. Patch (baseline is 3.0.4) successfully tested against these sources and shown to reduce {{getParent}} times by orders of magnitude.
https://issues.jenkins-ci.org/browse/JENKINS-11362 is the downstream issue describing symptoms.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://jira.codehaus.org/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] (MNG-5312) MavenProject.getParent intolerably slow when
import scope used heavily
Posted by "Jason van Zyl (JIRA)" <ji...@codehaus.org>.
[ https://jira.codehaus.org/browse/MNG-5312?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=303908#comment-303908 ]
Jason van Zyl commented on MNG-5312:
------------------------------------
Done on all three issues.
> MavenProject.getParent intolerably slow when import scope used heavily
> ----------------------------------------------------------------------
>
> Key: MNG-5312
> URL: https://jira.codehaus.org/browse/MNG-5312
> Project: Maven 2 & 3
> Issue Type: Bug
> Components: Embedding
> Affects Versions: 3.0.4
> Environment: JDK 7, Ubuntu
> Reporter: Jesse Glick
> Assignee: Jason van Zyl
> Fix For: 3.0.5
>
> Attachments: DefaultProjectBuilder.diff
>
>
> For projects which make heavy use of {{<scope>import</scope>}} including in parent POMs, calling {{MavenProject.getParent}} (thus {{DefaultProjectBuilder.build(Artifact, ...)}}) can be intolerably slow - taking many minutes - even when loading the project (or its parent) via {{DefaultProjectBuilder.build(List<File>, ...)}} takes less than a second.
> The discrepancy seems to be due to the fact that {{ReactorModelCache}} is crucial for the performance of {{DefaultModelBuilder.importDependencyManagement}}, yet only one {{DefaultProjectBuilder.build}} overload defines a {{ModelCache}}. For resolution of parents from a single POM, no model cache is likely to be needed under normal circumstances, but if you are missing a cache when import scope dependencies are processed for {{<dependencyManagement>}}, the builder takes exponential time to find these imports.
> I do not have a minimal test case for this yet as the known test case involves a large and complex proprietary source base. Patch (baseline is 3.0.4) successfully tested against these sources and shown to reduce {{getParent}} times by orders of magnitude.
> https://issues.jenkins-ci.org/browse/JENKINS-11362 is the downstream issue describing symptoms.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://jira.codehaus.org/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] (MNG-5312) MavenProject.getParent intolerably slow when
import scope used heavily
Posted by "Jason van Zyl (JIRA)" <ji...@codehaus.org>.
[ https://jira.codehaus.org/browse/MNG-5312?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Jason van Zyl reassigned MNG-5312:
----------------------------------
Assignee: Jason van Zyl
> MavenProject.getParent intolerably slow when import scope used heavily
> ----------------------------------------------------------------------
>
> Key: MNG-5312
> URL: https://jira.codehaus.org/browse/MNG-5312
> Project: Maven 2 & 3
> Issue Type: Bug
> Components: Embedding
> Affects Versions: 3.0.4
> Environment: JDK 7, Ubuntu
> Reporter: Jesse Glick
> Assignee: Jason van Zyl
> Attachments: DefaultProjectBuilder.diff
>
>
> For projects which make heavy use of {{<scope>import</scope>}} including in parent POMs, calling {{MavenProject.getParent}} (thus {{DefaultProjectBuilder.build(Artifact, ...)}}) can be intolerably slow - taking many minutes - even when loading the project (or its parent) via {{DefaultProjectBuilder.build(List<File>, ...)}} takes less than a second.
> The discrepancy seems to be due to the fact that {{ReactorModelCache}} is crucial for the performance of {{DefaultModelBuilder.importDependencyManagement}}, yet only one {{DefaultProjectBuilder.build}} overload defines a {{ModelCache}}. For resolution of parents from a single POM, no model cache is likely to be needed under normal circumstances, but if you are missing a cache when import scope dependencies are processed for {{<dependencyManagement>}}, the builder takes exponential time to find these imports.
> I do not have a minimal test case for this yet as the known test case involves a large and complex proprietary source base. Patch (baseline is 3.0.4) successfully tested against these sources and shown to reduce {{getParent}} times by orders of magnitude.
> https://issues.jenkins-ci.org/browse/JENKINS-11362 is the downstream issue describing symptoms.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://jira.codehaus.org/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] (MNG-5312) MavenProject.getParent intolerably slow when
import scope used heavily
Posted by "Jason van Zyl (JIRA)" <ji...@codehaus.org>.
[ https://jira.codehaus.org/browse/MNG-5312?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Jason van Zyl closed MNG-5312.
------------------------------
Resolution: Fixed
> MavenProject.getParent intolerably slow when import scope used heavily
> ----------------------------------------------------------------------
>
> Key: MNG-5312
> URL: https://jira.codehaus.org/browse/MNG-5312
> Project: Maven 2 & 3
> Issue Type: Bug
> Components: Embedding
> Affects Versions: 3.0.4
> Environment: JDK 7, Ubuntu
> Reporter: Jesse Glick
> Assignee: Jason van Zyl
> Fix For: 3.0.5
>
> Attachments: DefaultProjectBuilder.diff
>
>
> For projects which make heavy use of {{<scope>import</scope>}} including in parent POMs, calling {{MavenProject.getParent}} (thus {{DefaultProjectBuilder.build(Artifact, ...)}}) can be intolerably slow - taking many minutes - even when loading the project (or its parent) via {{DefaultProjectBuilder.build(List<File>, ...)}} takes less than a second.
> The discrepancy seems to be due to the fact that {{ReactorModelCache}} is crucial for the performance of {{DefaultModelBuilder.importDependencyManagement}}, yet only one {{DefaultProjectBuilder.build}} overload defines a {{ModelCache}}. For resolution of parents from a single POM, no model cache is likely to be needed under normal circumstances, but if you are missing a cache when import scope dependencies are processed for {{<dependencyManagement>}}, the builder takes exponential time to find these imports.
> I do not have a minimal test case for this yet as the known test case involves a large and complex proprietary source base. Patch (baseline is 3.0.4) successfully tested against these sources and shown to reduce {{getParent}} times by orders of magnitude.
> https://issues.jenkins-ci.org/browse/JENKINS-11362 is the downstream issue describing symptoms.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://jira.codehaus.org/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] (MNG-5312) MavenProject.getParent intolerably slow when
import scope used heavily
Posted by "Jesse Glick (JIRA)" <ji...@codehaus.org>.
[ https://jira.codehaus.org/browse/MNG-5312?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=303902#comment-303902 ]
Jesse Glick commented on MNG-5312:
----------------------------------
I guess Fix Version should be 3.0.5 so as to appear in the changelog? I have no edit permission, I suppose because it is closed. (Ditto for linked issues.)
> MavenProject.getParent intolerably slow when import scope used heavily
> ----------------------------------------------------------------------
>
> Key: MNG-5312
> URL: https://jira.codehaus.org/browse/MNG-5312
> Project: Maven 2 & 3
> Issue Type: Bug
> Components: Embedding
> Affects Versions: 3.0.4
> Environment: JDK 7, Ubuntu
> Reporter: Jesse Glick
> Assignee: Jason van Zyl
> Attachments: DefaultProjectBuilder.diff
>
>
> For projects which make heavy use of {{<scope>import</scope>}} including in parent POMs, calling {{MavenProject.getParent}} (thus {{DefaultProjectBuilder.build(Artifact, ...)}}) can be intolerably slow - taking many minutes - even when loading the project (or its parent) via {{DefaultProjectBuilder.build(List<File>, ...)}} takes less than a second.
> The discrepancy seems to be due to the fact that {{ReactorModelCache}} is crucial for the performance of {{DefaultModelBuilder.importDependencyManagement}}, yet only one {{DefaultProjectBuilder.build}} overload defines a {{ModelCache}}. For resolution of parents from a single POM, no model cache is likely to be needed under normal circumstances, but if you are missing a cache when import scope dependencies are processed for {{<dependencyManagement>}}, the builder takes exponential time to find these imports.
> I do not have a minimal test case for this yet as the known test case involves a large and complex proprietary source base. Patch (baseline is 3.0.4) successfully tested against these sources and shown to reduce {{getParent}} times by orders of magnitude.
> https://issues.jenkins-ci.org/browse/JENKINS-11362 is the downstream issue describing symptoms.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://jira.codehaus.org/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] (MNG-5312) MavenProject.getParent intolerably slow when
import scope used heavily
Posted by "Milos Kleint (JIRA)" <ji...@codehaus.org>.
[ https://jira.codehaus.org/browse/MNG-5312?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Milos Kleint updated MNG-5312:
------------------------------
Fix Version/s: 3.0.5
> MavenProject.getParent intolerably slow when import scope used heavily
> ----------------------------------------------------------------------
>
> Key: MNG-5312
> URL: https://jira.codehaus.org/browse/MNG-5312
> Project: Maven 2 & 3
> Issue Type: Bug
> Components: Embedding
> Affects Versions: 3.0.4
> Environment: JDK 7, Ubuntu
> Reporter: Jesse Glick
> Assignee: Jason van Zyl
> Fix For: 3.0.5
>
> Attachments: DefaultProjectBuilder.diff
>
>
> For projects which make heavy use of {{<scope>import</scope>}} including in parent POMs, calling {{MavenProject.getParent}} (thus {{DefaultProjectBuilder.build(Artifact, ...)}}) can be intolerably slow - taking many minutes - even when loading the project (or its parent) via {{DefaultProjectBuilder.build(List<File>, ...)}} takes less than a second.
> The discrepancy seems to be due to the fact that {{ReactorModelCache}} is crucial for the performance of {{DefaultModelBuilder.importDependencyManagement}}, yet only one {{DefaultProjectBuilder.build}} overload defines a {{ModelCache}}. For resolution of parents from a single POM, no model cache is likely to be needed under normal circumstances, but if you are missing a cache when import scope dependencies are processed for {{<dependencyManagement>}}, the builder takes exponential time to find these imports.
> I do not have a minimal test case for this yet as the known test case involves a large and complex proprietary source base. Patch (baseline is 3.0.4) successfully tested against these sources and shown to reduce {{getParent}} times by orders of magnitude.
> https://issues.jenkins-ci.org/browse/JENKINS-11362 is the downstream issue describing symptoms.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://jira.codehaus.org/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] (MNG-5312) MavenProject.getParent intolerably slow when
import scope used heavily
Posted by "Jason van Zyl (JIRA)" <ji...@codehaus.org>.
[ https://jira.codehaus.org/browse/MNG-5312?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Jason van Zyl closed MNG-5312.
------------------------------
Resolution: Fixed
Patch applied. Thanks.
> MavenProject.getParent intolerably slow when import scope used heavily
> ----------------------------------------------------------------------
>
> Key: MNG-5312
> URL: https://jira.codehaus.org/browse/MNG-5312
> Project: Maven 2 & 3
> Issue Type: Bug
> Components: Embedding
> Affects Versions: 3.0.4
> Environment: JDK 7, Ubuntu
> Reporter: Jesse Glick
> Assignee: Jason van Zyl
> Attachments: DefaultProjectBuilder.diff
>
>
> For projects which make heavy use of {{<scope>import</scope>}} including in parent POMs, calling {{MavenProject.getParent}} (thus {{DefaultProjectBuilder.build(Artifact, ...)}}) can be intolerably slow - taking many minutes - even when loading the project (or its parent) via {{DefaultProjectBuilder.build(List<File>, ...)}} takes less than a second.
> The discrepancy seems to be due to the fact that {{ReactorModelCache}} is crucial for the performance of {{DefaultModelBuilder.importDependencyManagement}}, yet only one {{DefaultProjectBuilder.build}} overload defines a {{ModelCache}}. For resolution of parents from a single POM, no model cache is likely to be needed under normal circumstances, but if you are missing a cache when import scope dependencies are processed for {{<dependencyManagement>}}, the builder takes exponential time to find these imports.
> I do not have a minimal test case for this yet as the known test case involves a large and complex proprietary source base. Patch (baseline is 3.0.4) successfully tested against these sources and shown to reduce {{getParent}} times by orders of magnitude.
> https://issues.jenkins-ci.org/browse/JENKINS-11362 is the downstream issue describing symptoms.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://jira.codehaus.org/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] (MNG-5312) MavenProject.getParent intolerably slow when
import scope used heavily
Posted by "Jason van Zyl (JIRA)" <ji...@codehaus.org>.
[ https://jira.codehaus.org/browse/MNG-5312?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Jason van Zyl reopened MNG-5312:
--------------------------------
> MavenProject.getParent intolerably slow when import scope used heavily
> ----------------------------------------------------------------------
>
> Key: MNG-5312
> URL: https://jira.codehaus.org/browse/MNG-5312
> Project: Maven 2 & 3
> Issue Type: Bug
> Components: Embedding
> Affects Versions: 3.0.4
> Environment: JDK 7, Ubuntu
> Reporter: Jesse Glick
> Assignee: Jason van Zyl
> Fix For: 3.0.5
>
> Attachments: DefaultProjectBuilder.diff
>
>
> For projects which make heavy use of {{<scope>import</scope>}} including in parent POMs, calling {{MavenProject.getParent}} (thus {{DefaultProjectBuilder.build(Artifact, ...)}}) can be intolerably slow - taking many minutes - even when loading the project (or its parent) via {{DefaultProjectBuilder.build(List<File>, ...)}} takes less than a second.
> The discrepancy seems to be due to the fact that {{ReactorModelCache}} is crucial for the performance of {{DefaultModelBuilder.importDependencyManagement}}, yet only one {{DefaultProjectBuilder.build}} overload defines a {{ModelCache}}. For resolution of parents from a single POM, no model cache is likely to be needed under normal circumstances, but if you are missing a cache when import scope dependencies are processed for {{<dependencyManagement>}}, the builder takes exponential time to find these imports.
> I do not have a minimal test case for this yet as the known test case involves a large and complex proprietary source base. Patch (baseline is 3.0.4) successfully tested against these sources and shown to reduce {{getParent}} times by orders of magnitude.
> https://issues.jenkins-ci.org/browse/JENKINS-11362 is the downstream issue describing symptoms.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://jira.codehaus.org/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira