Uploaded image for project: 'Maven'
  1. Maven
  2. MNG-6311

Maven intolerably slow when import scope used heavily in large project

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • 3.5.0, 3.5.2
    • 3.6.0
    • Core, Performance

    Description

      I have a build performance problem that is identical to MNG-5312, and has appeared since MNG-6030 in Maven v3.5.0 reversed the patch for MNG-5312, removing the ModelCache from some of the overloads for DefaultProjectBuilder.build.

      As in MNG-5312 the problem is in a large proprietary project. It uses up to 8 levels of parent POMs, many of which use the import scope and have large dependency-management sections, and has hundreds of dependencies that also use the same parent POM hierarchy. Adding some logging shows that Maven does over 800,000 uncached reads of parent POM files, which takes about half an hour. With model caching this goes down to a few seconds.

      I've attached a patch that fixes this by using a class-level ModelCache in DefaultProjectBuilder. This does not suffer from the memory usage problems reported in MNG-6030.

      Attachments

        1. modelcachefix.diff
          4 kB
          David Churcher
        2. anon-hierarchy-maven-output.zip
          816 kB
          David Churcher
        3. Call-tree-–-All-threads-together.html
          288 kB
          Thomas Nikolay

        Issue Links

          Activity

            People

              slachiewicz Sylwester Lachiewicz
              dchr David Churcher
              Votes:
              2 Vote for this issue
              Watchers:
              15 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: