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