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

Oleksiy Sayankin updated HIVE-6113:
-----------------------------------
    Attachment: HIVE-6113.7.patch

Added Sergey's reflection code that makes Hive to be able to downgrade the DN 
JAR.

Reflection code is available in HIVE-6113.7.patch 

> 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, metastore, unable_instantiate
>         Attachments: HIVE-6113-2.patch, HIVE-6113.3.patch, HIVE-6113.4.patch, 
> HIVE-6113.5.patch, HIVE-6113.6.patch, HIVE-6113.7.patch, HIVE-6113.patch, 
> HIVE-6113.with.reflection.patch
>
>
> 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