Bing Li created HIVE-6990:
-----------------------------

             Summary: Direct SQL fails when the explicit schema setting is 
different from the default one
                 Key: HIVE-6990
                 URL: https://issues.apache.org/jira/browse/HIVE-6990
             Project: Hive
          Issue Type: Bug
          Components: Query Processor
    Affects Versions: 0.12.0
         Environment: hive + derby
            Reporter: Bing Li
            Assignee: Bing Li
             Fix For: 0.14.0


I got the following ERROR in hive.log
2014-04-23 17:30:23,331 ERROR metastore.ObjectStore 
(ObjectStore.java:handleDirectSqlError(1756)) - Direct SQL failed, falling back 
to ORM
javax.jdo.JDODataStoreException: Error executing SQL query "select 
PARTITIONS.PART_ID from PARTITIONS  inner join TBLS on PARTITIONS.TBL_ID = 
TBLS.TBL_ID   inner join DBS on TBLS.DB_ID = DBS.DB_ID inner join 
PARTITION_KEY_VALS as FILTER0 on FILTER0.PART_ID = PARTITIONS.PART_ID and 
FILTER0.INTEGER_IDX = 0 where TBLS.TBL_NAME = ? and DBS.NAME = ? and 
((FILTER0.PART_KEY_VAL = ?))".
        at 
org.datanucleus.api.jdo.NucleusJDOHelper.getJDOExceptionForNucleusException(NucleusJDOHelper.java:451)
        at org.datanucleus.api.jdo.JDOQuery.executeWithArray(JDOQuery.java:321)
        at 
org.apache.hadoop.hive.metastore.MetaStoreDirectSql.getPartitionsViaSqlFilterInternal(MetaStoreDirectSql.java:181)
        at 
org.apache.hadoop.hive.metastore.MetaStoreDirectSql.getPartitionsViaSqlFilter(MetaStoreDirectSql.java:98)
        at 
org.apache.hadoop.hive.metastore.ObjectStore.getPartitionsByFilterInternal(ObjectStore.java:1833)
        at 
org.apache.hadoop.hive.metastore.ObjectStore.getPartitionsByFilter(ObjectStore.java:1806)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:94)
        at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:55)
        at java.lang.reflect.Method.invoke(Method.java:619)
        at 
org.apache.hadoop.hive.metastore.RetryingRawStore.invoke(RetryingRawStore.java:124)
        at com.sun.proxy.$Proxy11.getPartitionsByFilter(Unknown Source)
        at 
org.apache.hadoop.hive.metastore.HiveMetaStore$HMSHandler.get_partitions_by_filter(HiveMetaStore.java:3310)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:94)
        at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:55)
        at java.lang.reflect.Method.invoke(Method.java:619)
        at 
org.apache.hadoop.hive.metastore.RetryingHMSHandler.invoke(RetryingHMSHandler.java:103)
        at com.sun.proxy.$Proxy12.get_partitions_by_filter(Unknown Source)


Reproduce steps:
1. set the following properties in hive-site.xml
 <property>
  <name>javax.jdo.mapping.Schema</name>
  <value>HIVE</value>
 </property>
 <property>
  <name>javax.jdo.option.ConnectionUserName</name>
  <value>user1</value>
 </property>

2. execute hive queries
hive> create table mytbl ( key int, value string);
hive> load data local inpath 'examples/files/kv1.txt' overwrite into table 
mytbl;
hive> select * from mytbl;
hive> create view myview partitioned on (value) as select key, value from mytbl 
where key=98;
hive> alter view myview add partition (value='val_98') partition 
(value='val_xyz');
hive> alter view myview drop partition (value='val_xyz');



--
This message was sent by Atlassian JIRA
(v6.2#6252)

Reply via email to