Vitalii Diravka created DRILL-6412:
--------------------------------------

             Summary: Hive default storage plugin template shows "null" when 
drillbit is started
                 Key: DRILL-6412
                 URL: https://issues.apache.org/jira/browse/DRILL-6412
             Project: Apache Drill
          Issue Type: Bug
          Components: Storage - Hive, Storage - Other
    Affects Versions: 1.13.0
            Reporter: Vitalii Diravka
            Assignee: Vitalii Diravka
             Fix For: Future


The storage plugin configs for Hive storage plugin is not shown for the case 
when some error happened while instantiating HiveMetaStoreClient:
{code}
 
distribution/target/apache-drill-1.14.0-SNAPSHOT/apache-drill-1.14.0-SNAPSHOT/bin/drill-embedded
 
May 12, 2018 5:21:45 PM org.glassfish.jersey.server.ApplicationHandler 
initialize
INFO: Initiating Jersey application, version Jersey: 2.8 2014-04-29 01:25:26...
apache drill 1.14.0-SNAPSHOT 
"the only truly happy people are children, the creative minority and drill 
users"
0: jdbc:drill:zk=local> 17:21:54.609 [qtp17064901-66] ERROR 
o.a.h.h.metastore.RetryingHMSHandler - MetaException(message:Version 
information not found in metastore. )
        at 
org.apache.hadoop.hive.metastore.ObjectStore.checkSchema(ObjectStore.java:7564)
        at 
org.apache.hadoop.hive.metastore.ObjectStore.verifySchema(ObjectStore.java:7542)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:498)
        at 
org.apache.hadoop.hive.metastore.RawStoreProxy.invoke(RawStoreProxy.java:101)
        at com.sun.proxy.$Proxy72.verifySchema(Unknown Source)
        at 
org.apache.hadoop.hive.metastore.HiveMetaStore$HMSHandler.getMSForConf(HiveMetaStore.java:591)
        at 
org.apache.hadoop.hive.metastore.HiveMetaStore$HMSHandler.getMS(HiveMetaStore.java:584)
        at 
org.apache.hadoop.hive.metastore.HiveMetaStore$HMSHandler.createDefaultDB(HiveMetaStore.java:651)
....
at 
org.apache.drill.exec.store.hive.DrillHiveMetaStoreClient.createCloseableClientWithCaching(DrillHiveMetaStoreClient.java:136)
        at 
org.apache.drill.exec.store.hive.schema.HiveSchemaFactory.<init>(HiveSchemaFactory.java:76)
        at 
org.apache.drill.exec.store.hive.HiveStoragePlugin.<init>(HiveStoragePlugin.java:69)
        at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
        at 
sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
        at 
sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
        at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
        at 
org.apache.drill.exec.store.StoragePluginRegistryImpl.create(StoragePluginRegistryImpl.java:345)
        at 
org.apache.drill.exec.store.StoragePluginRegistryImpl.createOrUpdate(StoragePluginRegistryImpl.java:238)
{code}

When drillbit is starting and StoragePluginRegistryImpl creates the 
HIveStoragePlugin the DrillHiveMetaStoreClient is instantiated even when it is 
disabled in the plugin template configs and there is no Hive on the machine. 

The solution is to check status for plugin from the template, when it is 
disabled there is no need to instantiate the client for the appropriate storage.

The workaround is to use  "hive.metastore.schema.verification": "false", for 
this case DrillHiveMetaStoreClient is created successfully (but for proper 
working it should be performed only when plugin is enabled).



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to