[jira] [Updated] (HIVE-7710) Rename table across database might fail

2014-08-17 Thread Navis (JIRA)

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

Navis updated HIVE-7710:


   Resolution: Fixed
Fix Version/s: 0.14.0
   Status: Resolved  (was: Patch Available)

Committed to trunk. Thanks Chun Chen, for the contribution!

 Rename table across database might fail
 ---

 Key: HIVE-7710
 URL: https://issues.apache.org/jira/browse/HIVE-7710
 Project: Hive
  Issue Type: Bug
Reporter: Chun Chen
Assignee: Chun Chen
 Fix For: 0.14.0

 Attachments: HIVE-7710.patch


 If there is already a table d1.t2, the following rename statement would fail. 
 {code}
 alter table  d1.t1 rename to d2.t2; 
 //Exception
 2014-08-13 03:32:40,512 ERROR Datastore.Persist (Log4JLogger.java:error(115)) 
 - Update of object org.apache.hadoop.hive.metastore.model.MTable@729c5167 
 using statement UPDATE TBLS SET TBL_NAME=? WHERE TBL_ID=? failed : 
 java.sql.SQLIntegrityConstraintViolationException: The statement was aborted 
 because it would have caused a duplicate key value in a unique or primary key 
 constraint or unique index identified by 'UNIQUETABLE' defined on 'TBLS'.
   at 
 org.apache.derby.impl.jdbc.SQLExceptionFactory40.getSQLException(Unknown 
 Source)
   at org.apache.derby.impl.jdbc.Util.generateCsSQLException(Unknown 
 Source)
   at 
 org.apache.derby.impl.jdbc.TransactionResourceImpl.wrapInSQLException(Unknown 
 Source)
   at 
 org.apache.derby.impl.jdbc.TransactionResourceImpl.handleException(Unknown 
 Source)
   at org.apache.derby.impl.jdbc.EmbedConnection.handleException(Unknown 
 Source)
   at org.apache.derby.impl.jdbc.ConnectionChild.handleException(Unknown 
 Source)
   at org.apache.derby.impl.jdbc.EmbedStatement.executeStatement(Unknown 
 Source)
   at 
 org.apache.derby.impl.jdbc.EmbedPreparedStatement.executeStatement(Unknown 
 Source)
   at 
 org.apache.derby.impl.jdbc.EmbedPreparedStatement.executeLargeUpdate(Unknown 
 Source)
   at 
 org.apache.derby.impl.jdbc.EmbedPreparedStatement.executeUpdate(Unknown 
 Source)
   at 
 com.jolbox.bonecp.PreparedStatementHandle.executeUpdate(PreparedStatementHandle.java:205)
   at 
 org.datanucleus.store.rdbms.ParamLoggingPreparedStatement.executeUpdate(ParamLoggingPreparedStatement.java:399)
   at 
 org.datanucleus.store.rdbms.SQLController.executeStatementUpdate(SQLController.java:439)
   at 
 org.datanucleus.store.rdbms.request.UpdateRequest.execute(UpdateRequest.java:374)
   at 
 org.datanucleus.store.rdbms.RDBMSPersistenceHandler.updateTable(RDBMSPersistenceHandler.java:417)
   at 
 org.datanucleus.store.rdbms.RDBMSPersistenceHandler.updateObject(RDBMSPersistenceHandler.java:390)
   at 
 org.datanucleus.state.JDOStateManager.flush(JDOStateManager.java:5027)
   at org.datanucleus.flush.FlushOrdered.execute(FlushOrdered.java:106)
   at 
 org.datanucleus.ExecutionContextImpl.flushInternal(ExecutionContextImpl.java:4119)
   at 
 org.datanucleus.ExecutionContextThreadedImpl.flushInternal(ExecutionContextThreadedImpl.java:450)
   at 
 org.datanucleus.ExecutionContextImpl.markDirty(ExecutionContextImpl.java:3879)
   at 
 org.datanucleus.ExecutionContextThreadedImpl.markDirty(ExecutionContextThreadedImpl.java:422)
   at 
 org.datanucleus.state.JDOStateManager.postWriteField(JDOStateManager.java:4815)
   at 
 org.datanucleus.state.JDOStateManager.replaceField(JDOStateManager.java:3356)
   at 
 org.datanucleus.state.JDOStateManager.updateField(JDOStateManager.java:2018)
   at 
 org.datanucleus.state.JDOStateManager.setStringField(JDOStateManager.java:1791)
   at 
 org.apache.hadoop.hive.metastore.model.MStorageDescriptor.jdoSetlocation(MStorageDescriptor.java)
   at 
 org.apache.hadoop.hive.metastore.model.MStorageDescriptor.setLocation(MStorageDescriptor.java:88)
   at 
 org.apache.hadoop.hive.metastore.ObjectStore.copyMSD(ObjectStore.java:2699)
   at 
 org.apache.hadoop.hive.metastore.ObjectStore.alterTable(ObjectStore.java:2572)
   at sun.reflect.GeneratedMethodAccessor20.invoke(Unknown Source)
   at 
 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
   at java.lang.reflect.Method.invoke(Method.java:597)
   at 
 org.apache.hadoop.hive.metastore.RawStoreProxy.invoke(RawStoreProxy.java:98)
   at com.sun.proxy.$Proxy6.alterTable(Unknown Source)
   at 
 org.apache.hadoop.hive.metastore.HiveAlterHandler.alterTable(HiveAlterHandler.java:205)
   at 
 org.apache.hadoop.hive.metastore.HiveMetaStore$HMSHandler.alter_table_with_environment_context(HiveMetaStore.java:2771)
   at sun.reflect.GeneratedMethodAccessor19.invoke(Unknown Source)
   at 
 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
   at 

[jira] [Updated] (HIVE-7710) Rename table across database might fail

2014-08-13 Thread Chun Chen (JIRA)

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

Chun Chen updated HIVE-7710:


Attachment: HIVE-7710.patch

 Rename table across database might fail
 ---

 Key: HIVE-7710
 URL: https://issues.apache.org/jira/browse/HIVE-7710
 Project: Hive
  Issue Type: Bug
Reporter: Chun Chen
Assignee: Chun Chen
 Attachments: HIVE-7710.patch


 If there is already a table d1.t2, the following rename statement would fail. 
 {code}
 alter table  d1.t1 rename to d2.t2; 
 //Exception
 2014-08-13 03:32:40,512 ERROR Datastore.Persist (Log4JLogger.java:error(115)) 
 - Update of object org.apache.hadoop.hive.metastore.model.MTable@729c5167 
 using statement UPDATE TBLS SET TBL_NAME=? WHERE TBL_ID=? failed : 
 java.sql.SQLIntegrityConstraintViolationException: The statement was aborted 
 because it would have caused a duplicate key value in a unique or primary key 
 constraint or unique index identified by 'UNIQUETABLE' defined on 'TBLS'.
   at 
 org.apache.derby.impl.jdbc.SQLExceptionFactory40.getSQLException(Unknown 
 Source)
   at org.apache.derby.impl.jdbc.Util.generateCsSQLException(Unknown 
 Source)
   at 
 org.apache.derby.impl.jdbc.TransactionResourceImpl.wrapInSQLException(Unknown 
 Source)
   at 
 org.apache.derby.impl.jdbc.TransactionResourceImpl.handleException(Unknown 
 Source)
   at org.apache.derby.impl.jdbc.EmbedConnection.handleException(Unknown 
 Source)
   at org.apache.derby.impl.jdbc.ConnectionChild.handleException(Unknown 
 Source)
   at org.apache.derby.impl.jdbc.EmbedStatement.executeStatement(Unknown 
 Source)
   at 
 org.apache.derby.impl.jdbc.EmbedPreparedStatement.executeStatement(Unknown 
 Source)
   at 
 org.apache.derby.impl.jdbc.EmbedPreparedStatement.executeLargeUpdate(Unknown 
 Source)
   at 
 org.apache.derby.impl.jdbc.EmbedPreparedStatement.executeUpdate(Unknown 
 Source)
   at 
 com.jolbox.bonecp.PreparedStatementHandle.executeUpdate(PreparedStatementHandle.java:205)
   at 
 org.datanucleus.store.rdbms.ParamLoggingPreparedStatement.executeUpdate(ParamLoggingPreparedStatement.java:399)
   at 
 org.datanucleus.store.rdbms.SQLController.executeStatementUpdate(SQLController.java:439)
   at 
 org.datanucleus.store.rdbms.request.UpdateRequest.execute(UpdateRequest.java:374)
   at 
 org.datanucleus.store.rdbms.RDBMSPersistenceHandler.updateTable(RDBMSPersistenceHandler.java:417)
   at 
 org.datanucleus.store.rdbms.RDBMSPersistenceHandler.updateObject(RDBMSPersistenceHandler.java:390)
   at 
 org.datanucleus.state.JDOStateManager.flush(JDOStateManager.java:5027)
   at org.datanucleus.flush.FlushOrdered.execute(FlushOrdered.java:106)
   at 
 org.datanucleus.ExecutionContextImpl.flushInternal(ExecutionContextImpl.java:4119)
   at 
 org.datanucleus.ExecutionContextThreadedImpl.flushInternal(ExecutionContextThreadedImpl.java:450)
   at 
 org.datanucleus.ExecutionContextImpl.markDirty(ExecutionContextImpl.java:3879)
   at 
 org.datanucleus.ExecutionContextThreadedImpl.markDirty(ExecutionContextThreadedImpl.java:422)
   at 
 org.datanucleus.state.JDOStateManager.postWriteField(JDOStateManager.java:4815)
   at 
 org.datanucleus.state.JDOStateManager.replaceField(JDOStateManager.java:3356)
   at 
 org.datanucleus.state.JDOStateManager.updateField(JDOStateManager.java:2018)
   at 
 org.datanucleus.state.JDOStateManager.setStringField(JDOStateManager.java:1791)
   at 
 org.apache.hadoop.hive.metastore.model.MStorageDescriptor.jdoSetlocation(MStorageDescriptor.java)
   at 
 org.apache.hadoop.hive.metastore.model.MStorageDescriptor.setLocation(MStorageDescriptor.java:88)
   at 
 org.apache.hadoop.hive.metastore.ObjectStore.copyMSD(ObjectStore.java:2699)
   at 
 org.apache.hadoop.hive.metastore.ObjectStore.alterTable(ObjectStore.java:2572)
   at sun.reflect.GeneratedMethodAccessor20.invoke(Unknown Source)
   at 
 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
   at java.lang.reflect.Method.invoke(Method.java:597)
   at 
 org.apache.hadoop.hive.metastore.RawStoreProxy.invoke(RawStoreProxy.java:98)
   at com.sun.proxy.$Proxy6.alterTable(Unknown Source)
   at 
 org.apache.hadoop.hive.metastore.HiveAlterHandler.alterTable(HiveAlterHandler.java:205)
   at 
 org.apache.hadoop.hive.metastore.HiveMetaStore$HMSHandler.alter_table_with_environment_context(HiveMetaStore.java:2771)
   at sun.reflect.GeneratedMethodAccessor19.invoke(Unknown Source)
   at 
 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
   at java.lang.reflect.Method.invoke(Method.java:597)
   at 
 org.apache.hadoop.hive.metastore.RetryingHMSHandler.invoke(RetryingHMSHandler.java:105)
   at 

[jira] [Updated] (HIVE-7710) Rename table across database might fail

2014-08-13 Thread Chun Chen (JIRA)

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

Chun Chen updated HIVE-7710:


Status: Patch Available  (was: Open)

 Rename table across database might fail
 ---

 Key: HIVE-7710
 URL: https://issues.apache.org/jira/browse/HIVE-7710
 Project: Hive
  Issue Type: Bug
Reporter: Chun Chen
Assignee: Chun Chen
 Attachments: HIVE-7710.patch


 If there is already a table d1.t2, the following rename statement would fail. 
 {code}
 alter table  d1.t1 rename to d2.t2; 
 //Exception
 2014-08-13 03:32:40,512 ERROR Datastore.Persist (Log4JLogger.java:error(115)) 
 - Update of object org.apache.hadoop.hive.metastore.model.MTable@729c5167 
 using statement UPDATE TBLS SET TBL_NAME=? WHERE TBL_ID=? failed : 
 java.sql.SQLIntegrityConstraintViolationException: The statement was aborted 
 because it would have caused a duplicate key value in a unique or primary key 
 constraint or unique index identified by 'UNIQUETABLE' defined on 'TBLS'.
   at 
 org.apache.derby.impl.jdbc.SQLExceptionFactory40.getSQLException(Unknown 
 Source)
   at org.apache.derby.impl.jdbc.Util.generateCsSQLException(Unknown 
 Source)
   at 
 org.apache.derby.impl.jdbc.TransactionResourceImpl.wrapInSQLException(Unknown 
 Source)
   at 
 org.apache.derby.impl.jdbc.TransactionResourceImpl.handleException(Unknown 
 Source)
   at org.apache.derby.impl.jdbc.EmbedConnection.handleException(Unknown 
 Source)
   at org.apache.derby.impl.jdbc.ConnectionChild.handleException(Unknown 
 Source)
   at org.apache.derby.impl.jdbc.EmbedStatement.executeStatement(Unknown 
 Source)
   at 
 org.apache.derby.impl.jdbc.EmbedPreparedStatement.executeStatement(Unknown 
 Source)
   at 
 org.apache.derby.impl.jdbc.EmbedPreparedStatement.executeLargeUpdate(Unknown 
 Source)
   at 
 org.apache.derby.impl.jdbc.EmbedPreparedStatement.executeUpdate(Unknown 
 Source)
   at 
 com.jolbox.bonecp.PreparedStatementHandle.executeUpdate(PreparedStatementHandle.java:205)
   at 
 org.datanucleus.store.rdbms.ParamLoggingPreparedStatement.executeUpdate(ParamLoggingPreparedStatement.java:399)
   at 
 org.datanucleus.store.rdbms.SQLController.executeStatementUpdate(SQLController.java:439)
   at 
 org.datanucleus.store.rdbms.request.UpdateRequest.execute(UpdateRequest.java:374)
   at 
 org.datanucleus.store.rdbms.RDBMSPersistenceHandler.updateTable(RDBMSPersistenceHandler.java:417)
   at 
 org.datanucleus.store.rdbms.RDBMSPersistenceHandler.updateObject(RDBMSPersistenceHandler.java:390)
   at 
 org.datanucleus.state.JDOStateManager.flush(JDOStateManager.java:5027)
   at org.datanucleus.flush.FlushOrdered.execute(FlushOrdered.java:106)
   at 
 org.datanucleus.ExecutionContextImpl.flushInternal(ExecutionContextImpl.java:4119)
   at 
 org.datanucleus.ExecutionContextThreadedImpl.flushInternal(ExecutionContextThreadedImpl.java:450)
   at 
 org.datanucleus.ExecutionContextImpl.markDirty(ExecutionContextImpl.java:3879)
   at 
 org.datanucleus.ExecutionContextThreadedImpl.markDirty(ExecutionContextThreadedImpl.java:422)
   at 
 org.datanucleus.state.JDOStateManager.postWriteField(JDOStateManager.java:4815)
   at 
 org.datanucleus.state.JDOStateManager.replaceField(JDOStateManager.java:3356)
   at 
 org.datanucleus.state.JDOStateManager.updateField(JDOStateManager.java:2018)
   at 
 org.datanucleus.state.JDOStateManager.setStringField(JDOStateManager.java:1791)
   at 
 org.apache.hadoop.hive.metastore.model.MStorageDescriptor.jdoSetlocation(MStorageDescriptor.java)
   at 
 org.apache.hadoop.hive.metastore.model.MStorageDescriptor.setLocation(MStorageDescriptor.java:88)
   at 
 org.apache.hadoop.hive.metastore.ObjectStore.copyMSD(ObjectStore.java:2699)
   at 
 org.apache.hadoop.hive.metastore.ObjectStore.alterTable(ObjectStore.java:2572)
   at sun.reflect.GeneratedMethodAccessor20.invoke(Unknown Source)
   at 
 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
   at java.lang.reflect.Method.invoke(Method.java:597)
   at 
 org.apache.hadoop.hive.metastore.RawStoreProxy.invoke(RawStoreProxy.java:98)
   at com.sun.proxy.$Proxy6.alterTable(Unknown Source)
   at 
 org.apache.hadoop.hive.metastore.HiveAlterHandler.alterTable(HiveAlterHandler.java:205)
   at 
 org.apache.hadoop.hive.metastore.HiveMetaStore$HMSHandler.alter_table_with_environment_context(HiveMetaStore.java:2771)
   at sun.reflect.GeneratedMethodAccessor19.invoke(Unknown Source)
   at 
 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
   at java.lang.reflect.Method.invoke(Method.java:597)
   at 
 org.apache.hadoop.hive.metastore.RetryingHMSHandler.invoke(RetryingHMSHandler.java:105)