[ https://issues.apache.org/jira/browse/DRILL-3742?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14970368#comment-14970368 ]
ASF GitHub Bot commented on DRILL-3742: --------------------------------------- Github user jacques-n commented on a diff in the pull request: https://github.com/apache/drill/pull/148#discussion_r42830643 --- Diff: exec/java-exec/src/main/java/org/apache/drill/exec/physical/base/PhysicalOperatorUtil.java --- @@ -33,14 +32,10 @@ private PhysicalOperatorUtil() {} - public synchronized static Class<?>[] getSubTypes(final DrillConfig config) { - final Class<?>[] ops = - PathScanner.scanForImplementationsArr(PhysicalOperator.class, - config.getStringList(CommonConstants.PHYSICAL_OPERATOR_SCAN_PACKAGES)); - final String lineBrokenList = - ops.length == 0 ? "" : "\n\t- " + Joiner.on("\n\t- ").join(ops); - logger.debug("Found {} physical operator classes: {}.", ops.length, - lineBrokenList); + public synchronized static Set<Class<? extends PhysicalOperator>> getSubTypes(ScanResult classpathScan) { --- End diff -- Remove synchronized. > Improve classpath scanning to reduce the time it takes > ------------------------------------------------------ > > Key: DRILL-3742 > URL: https://issues.apache.org/jira/browse/DRILL-3742 > Project: Apache Drill > Issue Type: Improvement > Reporter: Julien Le Dem > Fix For: Future > > > classpath scanning and function registry take a long time (seconds every > time). > We'd want to avoid loading the classes (use bytecode inspection instead) and > have a build time cache to avoid doing the scanning at startup. -- This message was sent by Atlassian JIRA (v6.3.4#6332)