[ https://issues.apache.org/jira/browse/HIVE-1428?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Pradeep Kamath updated HIVE-1428: --------------------------------- Attachment: HIVE-1428.patch Attached patch addresses the issue by throwing a NoSuchObjectException in ObjectStore for get_partition() method when there are no partitions matching the arguments. This requires a change in the thrift idl for hive_metastore. Hence the patch also has the compiler generated files. I have tested that the "ALTER TABLE ADD pARTITION.." works when hive client uses thrift and connects to a thrift server and also in the case it connects directly to the db - not sure how to test this in a unit test framework - would need some guidance in that area. > ALTER TABLE ADD PARTITION fails with a remote Thirft metastore > -------------------------------------------------------------- > > Key: HIVE-1428 > URL: https://issues.apache.org/jira/browse/HIVE-1428 > Project: Hadoop Hive > Issue Type: Bug > Components: Metastore > Affects Versions: 0.6.0, 0.7.0 > Reporter: Paul Yang > Attachments: HIVE-1428.patch > > > If the hive cli is configured to use a remote metastore, ALTER TABLE ... ADD > PARTITION commands will fail with an error similar to the following: > {code} > [prade...@chargesize:~/dev/howl]hive --auxpath ult-serde.jar -e "ALTER TABLE > mytable add partition(datestamp = '20091101', srcid = '10',action) location > '/user/pradeepk/mytable/20091101/10';" > 10/06/16 17:08:59 WARN conf.Configuration: DEPRECATED: hadoop-site.xml found > in the classpath. Usage of hadoop-site.xml is deprecated. Instead use > core-site.xml, mapred-site.xml and hdfs-site.xml to override properties of > core-default.xml, mapred-default.xml and hdfs-default.xml respectively > Hive history > file=/tmp/pradeepk/hive_job_log_pradeepk_201006161709_1934304805.txt > FAILED: Error in metadata: org.apache.thrift.TApplicationException: > get_partition failed: unknown result > FAILED: Execution Error, return code 1 from > org.apache.hadoop.hive.ql.exec.DDLTask > [prade...@chargesize:~/dev/howl] > {code} > This is due to a check that tries to retrieve the partition to see if it > exists. If it does not, an attempt is made to pass a null value from the > metastore. Since thrift does not support null return values, an exception is > thrown. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.