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

Vitalii Diravka updated DRILL-6412:
-----------------------------------
    Description: 
in case of updating plugins 

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).

  was:
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).


> Clients are created for all storages even for disabled plugins
> --------------------------------------------------------------
>
>                 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
>            Priority: Minor
>             Fix For: Future
>
>
> in case of updating plugins 
> 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