[ https://issues.apache.org/jira/browse/HIVE-5457?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Zheng Shao updated HIVE-5457: ----------------------------- Attachment: HIVE-5457.workaround.patch This patch will kill metastore on such error. It's *not* a proper fix, but is going to be used in production in our environment to make sure that the failing MetastoreServer does not continue to fail our workflows. > 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, 0.11.0 > Reporter: Lenni Kuff > Priority: Critical > Attachments: HIVE-5457.workaround.patch > > > 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.3.4#6332)