drill-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Joseph Barefoot (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (DRILL-3590) storage plugin config API doesn't log exceptions or yield any useful error
Date Sat, 13 Aug 2016 23:12:20 GMT

     [ https://issues.apache.org/jira/browse/DRILL-3590?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel

Joseph Barefoot updated DRILL-3590:
    Affects Version/s: 1.7.0

> storage plugin config API doesn't log exceptions or yield any useful error 
> ---------------------------------------------------------------------------
>                 Key: DRILL-3590
>                 URL: https://issues.apache.org/jira/browse/DRILL-3590
>             Project: Apache Drill
>          Issue Type: Improvement
>          Components: Storage - Other
>    Affects Versions: 1.7.0
>         Environment: Linux
>            Reporter: Joseph Barefoot
>             Fix For: Future
> Not sure if I have the component right here.  This is regarding the REST API for configuring
a storage plugin.  It's not specific to any particular plugin, rather how you configure any
of them.  The REST API is critical for automating setup of Drill within a cluster, as such
being able to debug it is pretty critical as well.
> The problem lies with how the endpoints handle exceptions as you can see here:
> https://github.com/apache/drill/blob/9e164662f5296f7048c880c40bc551030fb58cca/exec/java-exec/src/main/java/org/apache/drill/exec/server/rest/StorageResources.java
> Every method/endpoint in that class eats the exception, there's really no way to figure
out what's going wrong without connecting a debugger (besides just guessing).  The generic
error return messages in the REST response aren't so bad, but not logging the exception on
the server makes life tough for devs like me.  Ideally all of the endpoints (not just the
one for storage config that tripped me up) would log the exceptions and maybe even return
them in the error response as well.
> In my particular case, I was configuring Hive and simply had the Metastore port wrong
(typo).  I imagine that would have been pretty obvious from a nested exception stack trace,
if I had been able to see it in the log.  Instead I couldn't tell if there was some internal
Drill error or what.  Here's the curl call I was using, just for reference:
> {code}
> curl -X POST -H "Content-Type: application/json" -d '
> {"name":"hive",
>  "config":
>     {
>       "type": "hive",
>       "enabled": true,
>       "configProps": {
>         "hive.metastore.uris": "thrift://",  
>         "hive.metastore.sasl.enabled": "false"
>       }
>     }       
> }'
> {code}

This message was sent by Atlassian JIRA

View raw message