[
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://192.168.99.9:9083",
> "hive.metastore.sasl.enabled": "false"
> }
> }
> }' http://192.168.99.9:8047/storage/hive.json
> {code}
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)