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

Arvind Prabhakar updated HIVE-1176:
-----------------------------------

      Status: Patch Available  (was: Open)
    Assignee: Arvind Prabhakar

This problem is due to [a bug in Datanucleus 
JDOQL|http://www.jpox.org/servlet/jira/browse/NUCCORE-427] implementation and 
has been fixed in version 2.0.x.

The fix is therefore to upgrade datanucleus plugins to the latest stable 
release.

*Details:*
- Replaced the old datanucleus plugins version 1.1.2 with the latest stable 
release.
- Updated jdo2-api library with the version required by datanucleus - 2.3-0ec, 
available from datanucleus maven repository at 
http://www.datanucleus.org/downloads/maven2/javax/jdo/jdo2-api/2.3-ec/, Apache 
licensed
- Modified the build files to suppress auto-enhancement of all complied 
classes, a new feature introduced in the latest version.
- Modified the HiveMetaStoreClient implementation to create deep-copies of 
non-primitive objects being returned from the thrift server. Without this 
change, some collections were being fetched as semi-populated proxies with 
missing session context leading to NPEs.

*Testing Done:*
Built and ran all tests. Only two failures were reported - clientpositive test 
for input20.q and input33.q. These tests appear to be failing on the trunk as 
well.

> 'create if not exists' fails for a table name with 'select' in it
> -----------------------------------------------------------------
>
>                 Key: HIVE-1176
>                 URL: https://issues.apache.org/jira/browse/HIVE-1176
>             Project: Hadoop Hive
>          Issue Type: Bug
>          Components: Metastore, Query Processor
>            Reporter: Prasad Chakka
>            Assignee: Arvind Prabhakar
>         Attachments: HIVE-1176.lib-files.tar.gz, HIVE-1176.patch
>
>
> hive> create table if not exists tmp_select(s string, c string, n int);
> org.apache.hadoop.hive.ql.metadata.HiveException: MetaException(message:Got 
> exception: javax.jdo.JDOUserException JDOQL Single-String query should always 
> start with SELECT)
>         at 
> org.apache.hadoop.hive.ql.metadata.Hive.getTablesForDb(Hive.java:441)
>         at 
> org.apache.hadoop.hive.ql.metadata.Hive.getTablesByPattern(Hive.java:423)
>         at 
> org.apache.hadoop.hive.ql.parse.SemanticAnalyzer.analyzeCreateTable(SemanticAnalyzer.java:5538)
>         at 
> org.apache.hadoop.hive.ql.parse.SemanticAnalyzer.analyzeInternal(SemanticAnalyzer.java:5192)
>         at 
> org.apache.hadoop.hive.ql.parse.BaseSemanticAnalyzer.analyze(BaseSemanticAnalyzer.java:105)
>         at org.apache.hadoop.hive.ql.Driver.compile(Driver.java:275)
>         at org.apache.hadoop.hive.ql.Driver.runCommand(Driver.java:320)
>         at org.apache.hadoop.hive.ql.Driver.run(Driver.java:312)
>         at org.apache.hadoop.hive.cli.CliDriver.processCmd(CliDriver.java:123)
>         at 
> org.apache.hadoop.hive.cli.CliDriver.processLine(CliDriver.java:181)
>         at org.apache.hadoop.hive.cli.CliDriver.main(CliDriver.java:287)
>         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.util.RunJar.main(RunJar.java:156)
> Caused by: MetaException(message:Got exception: javax.jdo.JDOUserException 
> JDOQL Single-String query should always start with SELECT)
>         at 
> org.apache.hadoop.hive.metastore.MetaStoreUtils.logAndThrowMetaException(MetaStoreUtils.java:612)
>         at 
> org.apache.hadoop.hive.metastore.HiveMetaStoreClient.getTables(HiveMetaStoreClient.java:450)
>         at 
> org.apache.hadoop.hive.ql.metadata.Hive.getTablesForDb(Hive.java:439)
>         ... 15 more

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to