Uploaded image for project: 'Maven Remote Resources Plugin'
  1. Maven Remote Resources Plugin
  2. MRRESOURCES-106

ProcessRemoteResourcesMojo#getProjects() can end up consuming a lot of memory for big projects

    XMLWordPrintableJSON

    Details

    • Type: Bug
    • Status: Reopened
    • Priority: Major
    • Resolution: Unresolved
    • Affects Version/s: 1.5
    • Fix Version/s: None
    • Labels:
      None

      Description

      At XWiki we are using the remote resource plugin to generate a NOTICE files we put in the META-INF of all jars. The file can be found on https://github.com/xwiki/xwiki-commons/blob/master/xwiki-commons-tools/xwiki-commons-tool-license-resources/src/main/resources/META-INF/NOTICE.vm.

      We have a lot of memory issues and we kept increasing the max memory but it was starting to be a bit insane (we now get a OOM with -Xmx2500m) so I finally took a profiler to try to figure out where all this memory goes.

      We did noticed for a while that remote resource plugin is taking longer and longer to execute during the build so I had my doubts already.
      What Yourkit is telling me is that almost half of the memory (400MB here because I reduced the max memory for it to fail earlier) is retained by an ArrayList of MavenProject instances located in ProcessRemoteResourcesMojo#getProjects().

      It can be reproduced by building https://github.com/xwiki/xwiki-platform (you will need to add some repositories in your settings.xml, you can find them on http://dev.xwiki.org/xwiki/bin/view/Community/Building/#HInstallingMaven).

      Also I can probably put the memory dump I have somewhere if someone wants to download it.

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                hboutemy Herve Boutemy
                Reporter:
                tmortagne Thomas Mortagne
              • Votes:
                0 Vote for this issue
                Watchers:
                4 Start watching this issue

                Dates

                • Created:
                  Updated: