drill-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Chris Westin (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (DRILL-1683) malformed config file parse exception silently swallowed - drill fails to start
Date Mon, 24 Nov 2014 23:48:12 GMT

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

Chris Westin commented on DRILL-1683:

It looks like whatever it was is at least not silently swallowing the exception anymore, although
it is concealing the original cause (which seems to be a pervasive problem).

I cloned a fresh repo, and then
mvn install -DskipTests
cd distribution/target/apache-drill-0.7.0-incubating-SNAPSHOT/apache-drill-0.7.0-incubating-SNAPSHOT/bin
./sqlline -u jdbc:drill:zk=local -n admin -p admin

Everything works fine. I don't know how the original file was considered damaged, but to reproduce
this here, I just opened up /tmp/drill/sys.storage_plugins/hbase.sys.drill and added an x
after the first opening brace. Then, when I try to start it up again (!quit, and restart using
the above command), I now get

wormsign:bin cwestin$ ./sqlline -u jdbc:drill:zk=local -n admin -p admin
Drill log directory /var/log/drill does not exist, defaulting to /Users/cwestin/git/drill-cleanup/distribution/target/apache-drill-0.7.0-incubating-SNAPSHOT/apache-drill-0.7.0-incubating-SNAPSHOT/log
Error: Failure while attempting to start Drillbit in embedded mode. (state=,code=0)
sqlline version 1.1.6

Before, I just got the sqlline prompt, but everything I did gave me a "no connection" error.
So it looks like the exception isn't being completely swallowed. We need to decide if that's
ok for now, or if we want the start failure to indicate the original cause (i.e., the json
storage configuration is damaged).
(Sooner or later, wherever the JSON parsing exception is being caught, it should be added
as a cause to the new exception that is being thrown.)

> malformed config file parse exception silently swallowed - drill fails to start
> -------------------------------------------------------------------------------
>                 Key: DRILL-1683
>                 URL: https://issues.apache.org/jira/browse/DRILL-1683
>             Project: Apache Drill
>          Issue Type: Bug
>          Components: Client - CLI
>         Environment: Running drill in embedded mode via sqlline on OSX under eclipse.
>            Reporter: Chris Westin
>            Assignee: Sean Hsuan-Yi Chu
>             Fix For: 0.7.0
> For unknown reasons, the file /tmp/drill/sys.storage_plugins/hbase.sys.drill contains
> {
>   "type" : "hbase",
>   "config" : {
>     "hbase.zookeeper.quorum" : "localhost",
>     "hbase.zookeeper.property.clientPort" : "2181"
>   },
>   "size.calculator.enabled" : false,
>   "enabled" : false
> }
> This causes a JsonMappingException with
> Could not resolve type id 'hbase' into a subtype of [simple type, class org.apache.drill.common.logical.StoragePluginConfig]
> at
> AsPropertyTypeDeserializer(TypeDeserializerBase)._findDeserializer(DeserializationContext,
String) line: 155	
> AsPropertyTypeDeserializer._deserializeTypedForId(JsonParser, DeserializationContext,
TokenBuffer) line: 98	
> AsPropertyTypeDeserializer.deserializeTypedFromObject(JsonParser, DeserializationContext)
line: 82	
> AbstractDeserializer.deserializeWithType(JsonParser, DeserializationContext, TypeDeserializer)
line: 107	
> TypeWrappedDeserializer.deserialize(JsonParser, DeserializationContext) line: 36	
> ObjectReader._bindAndClose(JsonParser, Object) line: 1206	
> ObjectReader.readValue(byte[]) line: 836	
> JacksonSerializer<X>.deserialize(byte[]) line: 44	
> LocalPStore<V>.get(String, boolean) line: 99	
> LocalPStore<V>.get(String) line: 89	
> LocalPStore$Iter$DeferredEntry.getValue() line: 197	
> StoragePluginRegistry.createPlugins() line: 166	
> StoragePluginRegistry.init() line: 130	
> Drillbit.run() line: 148	
> DrillJdbc41Factory$DrillJdbc41Connection(DrillConnectionImpl).<init>(Driver, AvaticaFactory,
String, Properties) line: 79	
> DrillJdbc41Factory$DrillJdbc41Connection.<init>(Driver, DrillFactory, String, Properties)
line: 88	
> DrillJdbc41Factory.newDrillConnection(Driver, DrillFactory, String, Properties) line:
> DrillJdbc41Factory.newDrillConnection(Driver, DrillFactory, String, Properties) line:
> DrillJdbc41Factory(DrillFactory).newConnection(UnregisteredDriver, AvaticaFactory, String,
Properties) line: 51	
> Driver(UnregisteredDriver).connect(String, Properties) line: 126	
> SqlLine$DatabaseConnection.connect() line: 4732	
> If I remove that file, I am then able to start the embedded drillbit. I note that after
I do so, the file has been recreated with different contents. If the problem is because the
configuration for this storage plugin has changed, then this seems like it will cause many
mysterious startup failures after upgrading.

This message was sent by Atlassian JIRA

View raw message