performance problem in AbstractJavadocMojo.getModulesLinks()
------------------------------------------------------------

                 Key: MJAVADOC-268
                 URL: http://jira.codehaus.org/browse/MJAVADOC-268
             Project: Maven 2.x Javadoc Plugin
          Issue Type: Bug
    Affects Versions: 2.6
         Environment: Apache Maven 2.2.0 (r788681; 2009-06-26 15:04:01+0200)
Java version: 1.6.0_13
Java home: /home/mkleint/javatools/jdk1.6.0_13/jre
Default locale: en_US, platform encoding: UTF-8
OS name: "linux" version: "2.6.29.6-desktop-2mnb" arch: "i386" Family: "unix"
            Reporter: Milos Kleint
            Priority: Critical
         Attachments: javadoc.patch

The getModulesLinks() method is unacceptably slow under certain conditions:
1. project's url is defined
2. one or more projects in reactor do not have any java sources and are not of 
"pom" packaging.
For such projects the apidocs/ output folder is never created resulting in 
repeated invokation of a forked javadoc goal. It's more severe with high number 
of modules in reactor and high number of modules without any java sources.

as an example checkout "hg clone https://hg.kenai.com/hg/forceten~src";

The immediate problem is in the apidocsFile.exists() condition that re-triggers 
the forked invokation. The attached patch fixes that. However it looks 
suspicitions that the method is being called repeatedly for each module at all. 
Maybe the aborting condition at the start of the method body is wrong (I was 
not able to decypher that)

workaround is to use 2.5 or not to specify the url in pom.xml or set the 
detectOfflineLinks parameter to "false".

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: 
http://jira.codehaus.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to