hive-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Xuefu Zhang (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HIVE-4885) Alternative object serialization for execution plan in hive testing
Date Wed, 24 Jul 2013 18:41:49 GMT

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

Xuefu Zhang commented on HIVE-4885:
-----------------------------------

[~appodictic] FYI, JDK7 support JIRA is HIVE-4583. It's marked as depending on several tickets
rather than having them as sub-tasks mostly because these tickets were created at different
times for different purposes while being needed for JDK7. Fortunately, all these tasks are
either fixed or patch available, and the remaining task for HIVE-4583 is build change to enable
JDK7 compiler. If you have additional comments on JDK7 support, please put it under that JIRA.
I appreciate your input.
                
> Alternative object serialization for execution plan in hive testing 
> --------------------------------------------------------------------
>
>                 Key: HIVE-4885
>                 URL: https://issues.apache.org/jira/browse/HIVE-4885
>             Project: Hive
>          Issue Type: Improvement
>          Components: CLI
>    Affects Versions: 0.10.0, 0.11.0
>            Reporter: Xuefu Zhang
>            Assignee: Xuefu Zhang
>             Fix For: 0.12.0
>
>         Attachments: HIVE-4885.patch
>
>
> Currently there are a lot of test cases involving in comparing execution plan, such as
those in TestParse suite. XmlEncoder is used to serialize the generated plan by hive, and
store it in the file for file diff comparison. However, XmlEncoder is tied with Java compiler,
whose implementation may change from version to version. Thus, upgrade the compiler can generate
a lot of fake test failures. The following is an example of diff generated when running hive
with JDK7:
> {code}
> Begin query: case_sensitivity.q
> diff -a /data/4/hive-local/a2307.halxg.cloudera.com-hiveptest-2/cdh-source/build/ql/test/logs/positive/case_sensitivity.q.out
/data/4/hive-local/a2307.halxg.cloudera.com-hiveptest-2/cdh-source/ql/src/test/results/compiler/parse/case_sensitivity.q.out
> diff -a -b /data/4/hive-local/a2307.halxg.cloudera.com-hiveptest-2/cdh-source/build/ql/test/logs/positive/case_sensitivity.q.xml
/data/4/hive-local/a2307.halxg.cloudera.com-hiveptest-2/cdh-source/ql/src/test/results/compiler/plan/case_sensitivity.q.xml
> 3c3
> <  <object class="org.apache.hadoop.hive.ql.exec.MapRedTask" id="MapRedTask0">
> ---
> >  <object id="MapRedTask0" class="org.apache.hadoop.hive.ql.exec.MapRedTask">

> 12c12
> <        <object class="java.util.ArrayList" id="ArrayList0">
> ---
> >        <object id="ArrayList0" class="java.util.ArrayList"> 
> 14c14
> <          <object class="org.apache.hadoop.hive.ql.exec.MoveTask" id="MoveTask0">
> ---
> >          <object id="MoveTask0" class="org.apache.hadoop.hive.ql.exec.MoveTask">

> 18c18
> <              <object class="org.apache.hadoop.hive.ql.exec.MoveTask" id="MoveTask1">
> ---
> >              <object id="MoveTask1" class="org.apache.hadoop.hive.ql.exec.MoveTask">

> 22c22
> <                  <object class="org.apache.hadoop.hive.ql.exec.StatsTask" id="StatsTask0">
> ---
> >                  <object id="StatsTask0" class="org.apache.hadoop.hive.ql.exec.StatsTask">

> 60c60
> <                  <object class="org.apache.hadoop.hive.ql.exec.MapRedTask" id="MapRedTask1">
> ---
> >                  <object id="MapRedTask1" class="org.apache.hadoop.hive.ql.exec.MapRedTask">

> {code}
> As it can be seen, the only difference is the order of the attributes in the serialized
XML doc, yet it brings 50+ test failures in Hive.
> We need to have a better plan comparison, or object serialization to improve the situation.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Mime
View raw message