hive-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Ashutosh Chauhan (JIRA)" <>
Subject [jira] [Updated] (HIVE-14285) Explain outputs: map-entry ordering of non-primitive objects.
Date Sun, 24 Jul 2016 16:22:20 GMT


Ashutosh Chauhan updated HIVE-14285:
       Resolution: Fixed
    Fix Version/s: 2.2.0
           Status: Resolved  (was: Patch Available)

Pushed to master. Thanks, Zoltan!

>  Explain outputs: map-entry ordering of non-primitive objects. 
> ---------------------------------------------------------------
>                 Key: HIVE-14285
>                 URL:
>             Project: Hive
>          Issue Type: Improvement
>            Reporter: Zoltan Haindrich
>            Assignee: Zoltan Haindrich
>            Priority: Minor
>             Fix For: 2.2.0
>         Attachments: HIVE-14285.1.patch
> In HIVE-12244 I've left behind some ugly backward compatible getters with {{@Explain}}
decorations to keep the qtests from breaking.
> There were heavy explain plan changes when I used {{Path}} objects as keys in {{@Explain}}
marked methods.
> I've looked into the causes of this:
>  * there is a {{TreeSet}} in there to keep all the keys in order.
>  * but: {{org.apache.hadoop.fs.Path}} uses a different sort order (inherited from {{}}
) sorts the paths using priorities:[schema,schemeSpecificPart,host,path,query,fragment]
>   considering that the output is an explain result(possibly read by humans): i don't
think this sophisticated sort order can be useful.
> {{ExplainTask#outputMap}} always calls toString() on the keys before using
the most painless solution would be to change all the keys inside the treeset to simple strings
(in case it's not a primitive already); this would restore the original behaviour for me.

This message was sent by Atlassian JIRA

View raw message