[
https://issues.apache.org/jira/browse/HIVE-5457?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13818791#comment-13818791
]
Andy Jefferson commented on HIVE-5457:
--------------------------------------
This is with an old version of DataNucleus, yet Hive upgraded a while ago
(before this was raised). Using current DataNucleus there are zero reported
concurrency problems, particularly if using either an auto-start mechanism or
persistence.xml with datanucleus.persistenceUnitLoadClasses=true
> Concurrent calls to getTable() result in: MetaException:
> org.datanucleus.exceptions.NucleusException: Invalid index 1 for
> DataStoreMapping. NucleusException: Invalid index 1 for DataStoreMapping
> ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
>
> Key: HIVE-5457
> URL: https://issues.apache.org/jira/browse/HIVE-5457
> Project: Hive
> Issue Type: Bug
> Components: Metastore
> Affects Versions: 0.10.0
> Reporter: Lenni Kuff
> Priority: Critical
>
> Concurrent calls to getTable() result in: MetaException:
> org.datanucleus.exceptions.NucleusException: Invalid index 1 for
> DataStoreMapping. NucleusException: Invalid index 1 for DataStoreMapping
> This happens when using a Hive Metastore Service directly connecting to the
> backend metastore db. I have been able to hit this with as few as 2
> concurrent calls. When I update my app to serialize all calls to getTable()
> this problem is resolved.
> Stack Trace:
> {code}
> Caused by: org.datanucleus.exceptions.NucleusException: Invalid index 1 for
> DataStoreMapping.
> at
> org.datanucleus.store.mapped.mapping.PersistableMapping.getDatastoreMapping(PersistableMapping.java:307)
> at
> org.datanucleus.store.rdbms.scostore.RDBMSElementContainerStoreSpecialization.getSizeStmt(RDBMSElementContainerStoreSpecialization.java:407)
> at
> org.datanucleus.store.rdbms.scostore.RDBMSElementContainerStoreSpecialization.getSize(RDBMSElementContainerStoreSpecialization.java:257)
> at
> org.datanucleus.store.rdbms.scostore.RDBMSJoinListStoreSpecialization.getSize(RDBMSJoinListStoreSpecialization.java:46)
> at
> org.datanucleus.store.mapped.scostore.ElementContainerStore.size(ElementContainerStore.java:440)
> at org.datanucleus.sco.backed.List.size(List.java:557)
> at
> org.apache.hadoop.hive.metastore.ObjectStore.convertToSkewedValues(ObjectStore.java:1029)
> at
> org.apache.hadoop.hive.metastore.ObjectStore.convertToStorageDescriptor(ObjectStore.java:1007)
> at
> org.apache.hadoop.hive.metastore.ObjectStore.convertToStorageDescriptor(ObjectStore.java:1017)
> at
> org.apache.hadoop.hive.metastore.ObjectStore.convertToTable(ObjectStore.java:872)
> at
> org.apache.hadoop.hive.metastore.ObjectStore.getTable(ObjectStore.java:743)
> 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:111)
> at $Proxy6.getTable(Unknown Source)
> at
> org.apache.hadoop.hive.metastore.HiveMetaStore$HMSHandler.get_table(HiveMetaStore.java:1349)
> {code}
--
This message was sent by Atlassian JIRA
(v6.1#6144)