Github user jaltekruse commented on a diff in the pull request:
https://github.com/apache/drill/pull/252#discussion_r44728766
--- Diff:
common/src/main/java/org/apache/drill/common/scanner/ClassPathScanner.java ---
@@ -422,11 +423,16 @@ static ScanResult scan(Collection<URL> pathsToScan,
Collection<String> packagePr
}
}
- private static void verifyClassUnicity(List<AnnotatedClassDescriptor>
annotatedClasses) {
+ private static void verifyClassUnicity(List<AnnotatedClassDescriptor>
annotatedClasses, Collection<URL> pathsScanned) {
Set<String> scanned = new HashSet<>();
for (AnnotatedClassDescriptor annotated : annotatedClasses) {
if (!scanned.add(annotated.getClassName())) {
- throw new RuntimeException("BUG: " + annotated.getClassName() + "
scanned twice");
+ throw UserException.functionError()
+ .message(
+ "function %s scanned twice in %s\nDo you have conflicting
jars on the classpath?",
+ annotated.getClassName(), pathsScanned
--- End diff --
I did not know that, will have to remember it for future reference. In this
case it might make sense to put the URLs on separate lines. The message is
already multi-line and if these are going to be long paths it would make it
easier to read the list and look for duplicated jars.
---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at [email protected] or file a JIRA ticket
with INFRA.
---