[ 
https://issues.apache.org/jira/browse/HIVE-22771?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17024768#comment-17024768
 ] 

Mithun Radhakrishnan commented on HIVE-22771:
---------------------------------------------

FWIW, +1 from me as well. This is a good catch.
{quote}bq. Can we add a test for it (e.g., in TestHCatStorer)?
{quote}
This bug probably got through because while there are tests in 
{{AbstractHCatStorerTest}} for the dynamic-partitioning case, and the hybrid 
(i.e. partially dynamic) case, the static case (i.e. when the partition-ids are 
fully known _a priori_) isn't covered. There will be value in adding a test for 
Pig scripts writing to static partitions.

Thank you for working on this, [~shivam-mohan]. :]

> Partition location incorrectly formed in FileOutputCommitterContainer
> ---------------------------------------------------------------------
>
>                 Key: HIVE-22771
>                 URL: https://issues.apache.org/jira/browse/HIVE-22771
>             Project: Hive
>          Issue Type: Bug
>          Components: HCatalog
>    Affects Versions: 1.2.1
>            Reporter: Shivam
>            Assignee: Shivam
>            Priority: Critical
>              Labels: pull-request-available
>         Attachments: HIVE-22771.patch
>
>          Time Spent: 10m
>  Remaining Estimate: 0h
>
> Class _HCatOutputFormat_ in package _org.apache.hive.hcatalog.mapreduce_ uses 
> function _setOutput_ to generate _idHash_ using below statement:
> *+In file org/apache/hive/hcatalog/mapreduce/HCatOutputFormat.java+*
>  *line 116: idHash = String.valueOf(Math.random());*
> The output of idHash can be similar to values like this : 7.145347157239135E-4
>  
> And, in class _FileOutputCommitterContainer_ in package 
> _org.apache.hive.hcatalog.mapreduce;_
> Uses below statement to compute final partition path:
> +*In org/apache/hive/hcatalog/mapreduce/FileOutputCommitterContainer.java*+
> *line 366: String finalLocn = jobLocation.replaceAll(Path.SEPARATOR + 
> SCRATCH_DIR_NAME + "{color:#ff0000}\\d\\.?
> d+"{color},"");*
> *line 367: partPath = new Path(finalLocn);*
>  
> Regex used here is incorrect, since it will only remove integers after the 
> *SCRATCH_DIR_NAME,* and hence will append  'E-4' (for the above example) in 
> the final partition location. 



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to