Details
-
Improvement
-
Status: Resolved
-
Minor
-
Resolution: Fixed
-
None
-
None
-
None
Description
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 java.net.URI )...it 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 them...so 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.
Attachments
Attachments
Issue Links
- blocks
-
HIVE-14287 Explain output: printed nested mapvalues are dependent on map entry iteration order
- Resolved