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

Lenni Kuff updated HIVE-5457:
-----------------------------

    Description: 
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}

  was:
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. 

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}


> 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)

Reply via email to