drill-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "ASF GitHub Bot (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (DRILL-5910) ClassNotFoundException message enhancement
Date Sat, 28 Oct 2017 00:58:00 GMT

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

ASF GitHub Bot commented on DRILL-5910:
---------------------------------------

Github user sohami commented on a diff in the pull request:

    https://github.com/apache/drill/pull/1013#discussion_r147541442
  
    --- 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 --
    
    @vrozov  +1 - It makes sense to log the error and continue rather than failing because
a custom factory cannot be instantiated. This is because client environment might be set to
configure these custom factories but then for authentication it might be using other mechanism
like Plain/Kerberos in which case connection should succeed.


> 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)

Mime
View raw message