[
https://issues.apache.org/jira/browse/DRILL-5910?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16222569#comment-16222569
]
ASF GitHub Bot commented on DRILL-5910:
---------------------------------------
Github user vrozov commented on a diff in the pull request:
https://github.com/apache/drill/pull/1013#discussion_r147445561
--- Diff:
exec/java-exec/src/main/java/org/apache/drill/exec/rpc/security/ClientAuthenticatorProvider.java
---
@@ -57,17 +57,17 @@ private ClientAuthenticatorProvider() {
// then, custom factories
if (customFactories != null) {
- try {
- final String[] factories = customFactories.split(",");
- for (final String factory : factories) {
+ final String[] factories = customFactories.split(",");
+ for (final String factory : factories) {
+ try {
final Class<?> clazz = Class.forName(factory);
if (AuthenticatorFactory.class.isAssignableFrom(clazz)) {
final AuthenticatorFactory instance = (AuthenticatorFactory)
clazz.newInstance();
authFactories.put(instance.getSimpleName(), instance);
}
+ } catch (final ClassNotFoundException | IllegalAccessException |
InstantiationException e) {
+ throw new DrillRuntimeException(String.format("Failed to create
auth factory '%s'", factory), e);
--- End diff --
Not directly related to this PR, but should it continue with the default
set of factories if one of custom factories can't be instantiated?
> ClassNotFoundException message enhancement
> -------------------------------------------
>
> Key: DRILL-5910
> URL: https://issues.apache.org/jira/browse/DRILL-5910
> Project: Apache Drill
> Issue Type: Improvement
> Affects Versions: 1.11.0
> Reporter: Volodymyr Tkach
> Assignee: Volodymyr Tkach
> Priority: Minor
> Labels: ready-to-commit
> Fix For: 1.12.0
>
>
> We need to add factory name in exception message when ClassNotFoundException
> is caught and DrillRuntimeException is than re-thrown in
> ClientAuthenticatorProvider constructor.
> Steps to repoduce:
> 1) Configure plain authentication
> 2) Add
> -Ddrill.customAuthFactories=org.apache.drill.exec.rpc.security.maprsasl.MapRSaslFactory
> to SQLLINE_JAVA_OPTS or another class that is not present in classpath.
> 3) Run sqlline and connect to drillbit
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)