You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ambari.apache.org by "Hadoop QA (JIRA)" <ji...@apache.org> on 2017/03/01 21:53:45 UTC

[jira] [Commented] (AMBARI-20262) Startup Annotation Scanning Takes Too Long

    [ https://issues.apache.org/jira/browse/AMBARI-20262?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15891134#comment-15891134 ] 

Hadoop QA commented on AMBARI-20262:
------------------------------------

{color:red}-1 overall{color}.  Here are the results of testing the latest attachment 
  http://issues.apache.org/jira/secure/attachment/12855456/AMBARI-20262.patch
  against trunk revision .

    {color:green}+1 @author{color}.  The patch does not contain any @author tags.

    {color:green}+1 tests included{color}.  The patch appears to include 1 new or modified test files.

    {color:red}-1 javac{color:red}.  The patch appears to cause the build to fail.

Console output: https://builds.apache.org/job/Ambari-trunk-test-patch/10839//console

This message is automatically generated.

> Startup Annotation Scanning Takes Too Long
> ------------------------------------------
>
>                 Key: AMBARI-20262
>                 URL: https://issues.apache.org/jira/browse/AMBARI-20262
>             Project: Ambari
>          Issue Type: Bug
>          Components: ambari-server
>    Affects Versions: 2.5.0
>            Reporter: Jonathan Hurley
>            Assignee: Jonathan Hurley
>            Priority: Critical
>             Fix For: 2.5.0
>
>         Attachments: AMBARI-20262.patch
>
>
> Currently, Ambari uses Spring's {{ClassPathScanningCandidateComponentProvider}} along with an {{AnnotationTypeFilter}} to find classes annotated in our classpath:
> {code}
>       ClassPathScanningCandidateComponentProvider scanner =
>           new ClassPathScanningCandidateComponentProvider(false);
>       // match only singletons that are eager listeners
>       for (Class<? extends Annotation> cls : classes) {
>         scanner.addIncludeFilter(new AnnotationTypeFilter(cls));
>       }
>       beanDefinitions = scanner.findCandidateComponents(AMBARI_PACKAGE);
> {code}
> This takes roughly 19 seconds on normal deployments. We can reduce this time to roughly 8 seconds by switching over to Google's {{ClassPath}} via our internal {{ClasspathScannerUtils}}



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)