Jason Dere created HIVE-20298:
---------------------------------
Summary: Illegal null value in column `TBLS`.`WRITE_ID`
Key: HIVE-20298
URL: https://issues.apache.org/jira/browse/HIVE-20298
Project: Hive
Issue Type: Bug
Components: Metastore
Reporter: Jason Dere
Manually upgraded my existing local metastore using
upgrade-3.0.0-to-3.1.0.mysql.sql, upgrade-3.1.0-to-3.2.0.mysql.sql,
upgrade-3.2.0-to-4.0.0.mysql.sql. When running DESCRIBE EXTENDED of an existing
table, I was getting the following error in hive.log. It looks like the
ObjectStore/MTable classes don't seem to be able to support null values in the
new writeId column that was added to the TBLS table in the metastore.
cc [~sershe] [~ekoifman]
{noformat}
Caused by: javax.jdo.JDODataStoreException: Illegal null value in column
`TBLS`.`WRITE_ID`
NestedThrowables:
org.datanucleus.store.rdbms.exceptions.NullValueException: Illegal null value
in column `TBLS`.`WRITE_ID`
at
org.datanucleus.api.jdo.NucleusJDOHelper.getJDOExceptionForNucleusException(NucleusJDOHelper.java:553)
at org.datanucleus.api.jdo.JDOQuery.executeInternal(JDOQuery.java:391)
at org.datanucleus.api.jdo.JDOQuery.execute(JDOQuery.java:255)
at
org.apache.hadoop.hive.metastore.ObjectStore.getMTable(ObjectStore.java:1802)
at
org.apache.hadoop.hive.metastore.ObjectStore.getMTable(ObjectStore.java:1838)
at
org.apache.hadoop.hive.metastore.ObjectStore.getTable(ObjectStore.java:1424)
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:97)
at com.sun.proxy.$Proxy39.getTable(Unknown Source)
at
org.apache.hadoop.hive.metastore.HiveMetaStore$HMSHandler.get_table_core(HiveMetaStore.java:2950)
at
org.apache.hadoop.hive.metastore.HiveMetaStore$HMSHandler.getTableInternal(HiveMetaStore.java:2898)
at
org.apache.hadoop.hive.metastore.HiveMetaStore$HMSHandler.get_table_req(HiveMetaStore.java:2882)
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.RetryingHMSHandler.invokeInternal(RetryingHMSHandler.java:147)
... 36 more
Caused by: org.datanucleus.store.rdbms.exceptions.NullValueException: Illegal
null value in column `TBLS`.`WRITE_ID`
at
org.datanucleus.store.rdbms.mapping.datastore.BigIntRDBMSMapping.getLong(BigIntRDBMSMapping.java:140)
at
org.datanucleus.store.rdbms.mapping.java.SingleFieldMapping.getLong(SingleFieldMapping.java:155)
at
org.datanucleus.store.rdbms.fieldmanager.ResultSetGetter.fetchLongField(ResultSetGetter.java:124)
at
org.datanucleus.state.AbstractStateManager.replacingLongField(AbstractStateManager.java:1549)
at
org.datanucleus.state.StateManagerImpl.replacingLongField(StateManagerImpl.java:120)
at
org.apache.hadoop.hive.metastore.model.MTable.dnReplaceField(MTable.java)
at
org.apache.hadoop.hive.metastore.model.MTable.dnReplaceFields(MTable.java)
at
org.datanucleus.state.StateManagerImpl.replaceFields(StateManagerImpl.java:3109)
at
org.datanucleus.store.rdbms.query.PersistentClassROF$1.fetchFields(PersistentClassROF.java:465)
at
org.datanucleus.state.StateManagerImpl.loadFieldValues(StateManagerImpl.java:2238)
at
org.datanucleus.state.StateManagerImpl.initialiseForHollow(StateManagerImpl.java:263)
at
org.datanucleus.state.ObjectProviderFactoryImpl.newForHollow(ObjectProviderFactoryImpl.java:112)
at
org.datanucleus.ExecutionContextImpl.findObject(ExecutionContextImpl.java:3097)
at
org.datanucleus.store.rdbms.query.PersistentClassROF.getObjectForDatastoreId(PersistentClassROF.java:460)
at
org.datanucleus.store.rdbms.query.PersistentClassROF.getObject(PersistentClassROF.java:385)
at
org.datanucleus.store.rdbms.query.ForwardQueryResult.nextResultSetElement(ForwardQueryResult.java:188)
at
org.datanucleus.store.rdbms.query.ForwardQueryResult$QueryResultIterator.next(ForwardQueryResult.java:416)
at
org.datanucleus.store.rdbms.query.ForwardQueryResult.processNumberOfResults(ForwardQueryResult.java:143)
at
org.datanucleus.store.rdbms.query.ForwardQueryResult.advanceToEndOfResultSet(ForwardQueryResult.java:171)
at
org.datanucleus.store.rdbms.query.ForwardQueryResult.getSizeUsingMethod(ForwardQueryResult.java:527)
at
org.datanucleus.store.query.AbstractQueryResult.size(AbstractQueryResult.java:357)
at org.datanucleus.store.query.Query.executeQuery(Query.java:1874)
at org.datanucleus.store.query.Query.executeWithArray(Query.java:1744)
at org.datanucleus.api.jdo.JDOQuery.executeInternal(JDOQuery.java:368)
... 54 more
{noformat}
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)