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)