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

Lefty Leverenz commented on HIVE-6113:
--------------------------------------

[~sershe] and [~osayankin], are these two sentences from "Metastore Schema 
Consistency and Upgrades" and "Metastore Schema Verification" still valid?

{quote}
To suppress the schema check and allow the metastore to implicitly modify the 
schema, you need to set a configuration property 
hive.metastore.schema.verification to false in hive-site.xml.
{quote}

{quote}
By default the configuration property hive.metastore.schema.verification is 
false and metastore to implicitly write the schema version if it's not 
matching. To enable the strict schema verification, you need to set this 
property to true in hive-site.xml.
{quote}

I don't understand why *hive.metastore.schema.verification* would need to be 
set to false in hive-site.xml since it is already false by default in 
HiveConf.java.  I also don't know which hive-site.xml file(s) should be set, or 
whether the parameter could be set in HiveConf.java instead.  HIVE-12841 asks 
for better documentation of hive-site.xml.

Also, in the second sentence quoted above should "... and metastore to 
implicitly write" be changed to "... will implicitly write" (or "... implicitly 
writes")?

Finally, I don't understand what is meant by implicitly modifying the schema or 
implicitly writing the schema version -- are they the same thing, that is, 
"modify the schema" means "modify the schema version"?  If you're not the right 
people to ask, perhaps you could suggest someone else.  Thanks.

Here are the quoted sections:

* [Admin Manual -- Metastore Admin -- 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]

> Upgrade DataNucleus [was: Unable to instantiate 
> org.apache.hadoop.hive.metastore.HiveMetaStoreClient]
> -----------------------------------------------------------------------------------------------------
>
>                 Key: HIVE-6113
>                 URL: https://issues.apache.org/jira/browse/HIVE-6113
>             Project: Hive
>          Issue Type: Bug
>          Components: Database/Schema
>    Affects Versions: 0.12.0, 0.13.0, 0.14.0, 1.0.0, 1.2.1
>         Environment: hadoop-0.20.2-cdh3u3,hive-0.12.0
>            Reporter: William Stone
>            Assignee: Oleksiy Sayankin
>            Priority: Critical
>              Labels: HiveMetaStoreClient, TODOC2.0, metastore, 
> unable_instantiate
>             Fix For: 2.0.0, 2.1.0
>
>         Attachments: HIVE-6113-2.patch, HIVE-6113.10.patch, 
> HIVE-6113.3.patch, HIVE-6113.4.patch, HIVE-6113.5.patch, HIVE-6113.6.patch, 
> HIVE-6113.7.patch, HIVE-6113.8.patch, HIVE-6113.9.patch, HIVE-6113.patch, 
> HIVE-6113.with.reflection.patch
>
>
> CLEAR LIBRARY CACHE
> When I exccute SQL "use fdm; desc formatted fdm.tableName;"  in python, throw 
> Error as followed.
> but when I tryit again , It will success.
> 2013-12-25 03:01:32,290 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.getDatabase(Hive.java:1143)
>       at 
> org.apache.hadoop.hive.ql.metadata.Hive.databaseExists(Hive.java:1128)
>       at 
> org.apache.hadoop.hive.ql.exec.DDLTask.switchDatabase(DDLTask.java:3479)
>       at org.apache.hadoop.hive.ql.exec.DDLTask.execute(DDLTask.java:237)
>       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:260)
>       at org.apache.hadoop.hive.cli.CliDriver.processCmd(CliDriver.java:217)
>       at org.apache.hadoop.hive.cli.CliDriver.processLine(CliDriver.java:507)
>       at 
> org.apache.hadoop.hive.cli.CliDriver.executeDriver(CliDriver.java:875)
>       at org.apache.hadoop.hive.cli.CliDriver.run(CliDriver.java:769)
>       at org.apache.hadoop.hive.cli.CliDriver.main(CliDriver.java:708)
>       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:197)
> Caused by: java.lang.RuntimeException: Unable to instantiate 
> org.apache.hadoop.hive.metastore.HiveMetaStoreClient
>       at 
> org.apache.hadoop.hive.metastore.MetaStoreUtils.newInstance(MetaStoreUtils.java:1217)
>       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.getDatabase(Hive.java:1139)
>       ... 20 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)
>       ... 25 more
> Caused by: javax.jdo.JDODataStoreException: Exception thrown flushing changes 
> to datastore
> NestedThrowables:
> java.sql.BatchUpdateException: Duplicate entry 'default' for key 
> 'UNIQUE_DATABASE'
>       at 
> org.datanucleus.api.jdo.NucleusJDOHelper.getJDOExceptionForNucleusException(NucleusJDOHelper.java:451)
>       at 
> org.datanucleus.api.jdo.JDOTransaction.commit(JDOTransaction.java:165)
>       at 
> org.apache.hadoop.hive.metastore.ObjectStore.commitTransaction(ObjectStore.java:358)
>       at 
> org.apache.hadoop.hive.metastore.ObjectStore.createDatabase(ObjectStore.java:404)
>       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 $Proxy9.createDatabase(Unknown Source)
>       at 
> org.apache.hadoop.hive.metastore.HiveMetaStore$HMSHandler.createDefaultDB_core(HiveMetaStore.java:422)
>       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)
>       ... 30 more
> Caused by: java.sql.BatchUpdateException: Duplicate entry 'default' for key 
> 'UNIQUE_DATABASE'
>       at 
> com.mysql.jdbc.PreparedStatement.executeBatchSerially(PreparedStatement.java:2028)
>       at 
> com.mysql.jdbc.PreparedStatement.executeBatch(PreparedStatement.java:1451)
>       at 
> com.jolbox.bonecp.StatementHandle.executeBatch(StatementHandle.java:469)
>       at 
> org.datanucleus.store.rdbms.ParamLoggingPreparedStatement.executeBatch(ParamLoggingPreparedStatement.java:372)
>       at 
> org.datanucleus.store.rdbms.SQLController.processConnectionStatement(SQLController.java:628)
>       at 
> org.datanucleus.store.rdbms.SQLController.processStatementsForConnection(SQLController.java:596)
>       at 
> org.datanucleus.store.rdbms.SQLController$1.transactionFlushed(SQLController.java:683)
>       at 
> org.datanucleus.store.connection.AbstractManagedConnection.transactionFlushed(AbstractManagedConnection.java:86)
>       at 
> org.datanucleus.store.connection.ConnectionManagerImpl$2.transactionFlushed(ConnectionManagerImpl.java:454)
>       at org.datanucleus.TransactionImpl.flush(TransactionImpl.java:199)
>       at org.datanucleus.TransactionImpl.commit(TransactionImpl.java:263)
>       at org.datanucleus.api.jdo.JDOTransaction.commit(JDOTransaction.java:98)
>       ... 46 more
> Caused by: 
> com.mysql.jdbc.exceptions.jdbc4.MySQLIntegrityConstraintViolationException: 
> Duplicate entry 'default' for key 'UNIQUE_DATABASE'
>       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 com.mysql.jdbc.Util.handleNewInstance(Util.java:411)
>       at com.mysql.jdbc.Util.getInstance(Util.java:386)
>       at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1039)
>       at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3609)
>       at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3541)
>       at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2002)
>       at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2163)
>       at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2624)
>       at 
> com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:2127)
>       at 
> com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2427)
>       at 
> com.mysql.jdbc.PreparedStatement.executeBatchSerially(PreparedStatement.java:1980)
>       ... 57 more



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

Reply via email to