[ 
https://issues.apache.org/jira/browse/HIVE-5606?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14229024#comment-14229024
 ] 

Lefty Leverenz commented on HIVE-5606:
--------------------------------------

Doc issues:  *hive.metastore.schema.verification* needs to be changed in 
HiveConf.java to remove (Default) at the end of the description for True -- 
this error was in the description from the start in Hive 0.12.0, although the 
actual default setting was always false.

In the wiki, the description is correct in Configuration Properties but 
incorrect in the Metastore Admin doc (compare Hive Schema Tool's first 
section).  Both sections need revision to clarify which Hive property settings 
implicitly create or alter the existing schema.

* [Configuration Properties -- hive.metastore.schema.verification | 
https://cwiki.apache.org/confluence/display/Hive/Configuration+Properties#ConfigurationProperties-hive.metastore.schema.verification]
* [Metastore Administration -- Metastore Schema Consistency and Upgrades | 
https://cwiki.apache.org/confluence/display/Hive/AdminManual+MetastoreAdmin#AdminManualMetastoreAdmin-MetastoreSchemaConsistencyandUpgrades]
* [Hive Schema Tool -- Metastore Schema Verification | 
https://cwiki.apache.org/confluence/display/Hive/Hive+Schema+Tool#HiveSchemaTool-MetastoreSchemaVerification]

Can someone help with this?

> Default Derby metastore_db initial creation fails if 
> hive.metastore.schema.verification=true
> --------------------------------------------------------------------------------------------
>
>                 Key: HIVE-5606
>                 URL: https://issues.apache.org/jira/browse/HIVE-5606
>             Project: Hive
>          Issue Type: Bug
>          Components: Database/Schema
>    Affects Versions: 0.12.0
>         Environment: JDK 1.6.0_43, Hadoop 1.2.1
>            Reporter: Brett Randall
>
> Hive cannot create the default//initial/Derby metastore_db, if new 0.12 
> configuration property {{hive.metastore.schema.verification}} is set to 
> {{true}}.
> # Start with a clean 0.12 installation, or remove any existing (Derby) 
> default metastore_db directory
> # In {{hive-site.xml}}, set {{hive.metastore.schema.verification=true}}
> # Start hive CLI
> # Run {{hive> create database if not exists mydb;}}
> The following exception occurs:
> {noformat}
> 2013-10-22 15:02:59,390 WARN  bonecp.BoneCPConfig 
> (BoneCPConfig.java:sanitize(1537)) - Max Connections < 1. Setting to 20
> 2013-10-22 15:03:01,899 ERROR exec.DDLTask (DDLTask.java:execute(435)) - 
> org.apache.hadoop.hive.ql.metadata.HiveException: java.lang.RuntimeException: 
> Unable to instantiate org.apache.hadoop.hive.metastore.HiveMetaStoreClient
>         at 
> org.apache.hadoop.hive.ql.metadata.Hive.createDatabase(Hive.java:231)
>         at 
> org.apache.hadoop.hive.ql.exec.DDLTask.createDatabase(DDLTask.java:3442)
>         at org.apache.hadoop.hive.ql.exec.DDLTask.execute(DDLTask.java:227)
>         at org.apache.hadoop.hive.ql.exec.Task.executeTask(Task.java:151)
>         at 
> org.apache.hadoop.hive.ql.exec.TaskRunner.runSequential(TaskRunner.java:65)
>         at org.apache.hadoop.hive.ql.Driver.launchTask(Driver.java:1414)
>         at org.apache.hadoop.hive.ql.Driver.execute(Driver.java:1192)
>         at org.apache.hadoop.hive.ql.Driver.runInternal(Driver.java:1020)
>         at org.apache.hadoop.hive.ql.Driver.run(Driver.java:888)
>         at 
> org.apache.hadoop.hive.cli.CliDriver.processLocalCmd(CliDriver.java:259)
>         at org.apache.hadoop.hive.cli.CliDriver.processCmd(CliDriver.java:216)
>         at 
> org.apache.hadoop.hive.cli.CliDriver.processLine(CliDriver.java:413)
>         at 
> org.apache.hadoop.hive.cli.CliDriver.executeDriver(CliDriver.java:781)
>         at org.apache.hadoop.hive.cli.CliDriver.run(CliDriver.java:675)
>         at org.apache.hadoop.hive.cli.CliDriver.main(CliDriver.java:614)
>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>         at 
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>         at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>         at java.lang.reflect.Method.invoke(Method.java:597)
>         at org.apache.hadoop.util.RunJar.main(RunJar.java:160)
> Caused by: java.lang.RuntimeException: Unable to instantiate 
> org.apache.hadoop.hive.metastore.HiveMetaStoreClient
>         at 
> org.apache.hadoop.hive.metastore.MetaStoreUtils.newInstance(MetaStoreUtils.java:1212)
>         at 
> org.apache.hadoop.hive.metastore.RetryingMetaStoreClient.<init>(RetryingMetaStoreClient.java:62)
>         at 
> org.apache.hadoop.hive.metastore.RetryingMetaStoreClient.getProxy(RetryingMetaStoreClient.java:72)
>         at 
> org.apache.hadoop.hive.ql.metadata.Hive.createMetaStoreClient(Hive.java:2372)
>         at org.apache.hadoop.hive.ql.metadata.Hive.getMSC(Hive.java:2383)
>         at 
> org.apache.hadoop.hive.ql.metadata.Hive.createDatabase(Hive.java:225)
>         ... 19 more
> Caused by: java.lang.reflect.InvocationTargetException
>         at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native 
> Method)
>         at 
> sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
>         at 
> sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
>         at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
>         at 
> org.apache.hadoop.hive.metastore.MetaStoreUtils.newInstance(MetaStoreUtils.java:1210)
>         ... 24 more
> Caused by: MetaException(message:Version information not found in metastore. )
>         at 
> org.apache.hadoop.hive.metastore.ObjectStore.checkSchema(ObjectStore.java:5638)
>         at 
> org.apache.hadoop.hive.metastore.ObjectStore.verifySchema(ObjectStore.java:5622)
>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>         at 
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>         at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>         at java.lang.reflect.Method.invoke(Method.java:597)
>         at 
> org.apache.hadoop.hive.metastore.RetryingRawStore.invoke(RetryingRawStore.java:124)
>         at com.sun.proxy.$Proxy10.verifySchema(Unknown Source)
>         at 
> org.apache.hadoop.hive.metastore.HiveMetaStore$HMSHandler.getMS(HiveMetaStore.java:403)
>         at 
> org.apache.hadoop.hive.metastore.HiveMetaStore$HMSHandler.createDefaultDB(HiveMetaStore.java:441)
>         at 
> org.apache.hadoop.hive.metastore.HiveMetaStore$HMSHandler.init(HiveMetaStore.java:326)
>         at 
> org.apache.hadoop.hive.metastore.HiveMetaStore$HMSHandler.<init>(HiveMetaStore.java:286)
>         at 
> org.apache.hadoop.hive.metastore.RetryingHMSHandler.<init>(RetryingHMSHandler.java:54)
>         at 
> org.apache.hadoop.hive.metastore.RetryingHMSHandler.getProxy(RetryingHMSHandler.java:59)
>         at 
> org.apache.hadoop.hive.metastore.HiveMetaStore.newHMSHandler(HiveMetaStore.java:4060)
>         at 
> org.apache.hadoop.hive.metastore.HiveMetaStoreClient.<init>(HiveMetaStoreClient.java:121)
>         ... 29 more
> 2013-10-22 15:03:01,900 ERROR ql.Driver (SessionState.java:printError(419)) - 
> FAILED: Execution Error, return code 1 from 
> org.apache.hadoop.hive.ql.exec.DDLTask. java.lang.RuntimeException: Unable to 
> instantiate org.apache.hadoop.hive.metastore.HiveMetaStoreClient
> {noformat}
> The version check should not apply when creating the initial Derby 
> metastore_db.
> *Workaround*: set hive.metastore.schema.verification=false, run Hive CLI and 
> perform any operation that forces the metastore to be created.  On 0.12 this 
> will add the 0.12.0 version to the VERSION table.  You can then change 
> hive.metastore.schema.verification=true if you prefer for subsequent access.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to