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

Hudson commented on HIVE-3302:
------------------------------

Integrated in Hive-trunk-h0.21 #1592 (See 
[https://builds.apache.org/job/Hive-trunk-h0.21/1592/])
    HIVE-3302 Race condition in query plan for merging at the end of a query
(Kevin Wilfong via namit) (Revision 1369375)

     Result = SUCCESS
namit : http://svn.apache.org/viewcvs.cgi/?root=Apache-SVN&view=rev&rev=1369375
Files : 
* /hive/trunk/contrib/src/test/results/clientpositive/serde_typedbytes.q.out
* /hive/trunk/contrib/src/test/results/clientpositive/serde_typedbytes2.q.out
* /hive/trunk/contrib/src/test/results/clientpositive/serde_typedbytes3.q.out
* /hive/trunk/contrib/src/test/results/clientpositive/serde_typedbytes5.q.out
* 
/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/optimizer/GenMRFileSink1.java
* 
/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/plan/ConditionalResolverMergeFiles.java
* /hive/trunk/ql/src/test/queries/clientpositive/merge_dynamic_partition5.q
* /hive/trunk/ql/src/test/results/clientpositive/binary_output_format.q.out
* /hive/trunk/ql/src/test/results/clientpositive/bucketmapjoin1.q.out
* /hive/trunk/ql/src/test/results/clientpositive/bucketmapjoin2.q.out
* /hive/trunk/ql/src/test/results/clientpositive/bucketmapjoin3.q.out
* /hive/trunk/ql/src/test/results/clientpositive/bucketmapjoin4.q.out
* /hive/trunk/ql/src/test/results/clientpositive/bucketmapjoin5.q.out
* /hive/trunk/ql/src/test/results/clientpositive/bucketmapjoin_negative.q.out
* /hive/trunk/ql/src/test/results/clientpositive/bucketmapjoin_negative2.q.out
* /hive/trunk/ql/src/test/results/clientpositive/case_sensitivity.q.out
* /hive/trunk/ql/src/test/results/clientpositive/cast1.q.out
* /hive/trunk/ql/src/test/results/clientpositive/index_auto.q.out
* /hive/trunk/ql/src/test/results/clientpositive/index_auto_file_format.q.out
* 
/hive/trunk/ql/src/test/results/clientpositive/index_auto_mult_tables_compact.q.out
* /hive/trunk/ql/src/test/results/clientpositive/index_auto_multiple.q.out
* /hive/trunk/ql/src/test/results/clientpositive/index_auto_partitioned.q.out
* /hive/trunk/ql/src/test/results/clientpositive/index_auto_update.q.out
* /hive/trunk/ql/src/test/results/clientpositive/index_compression.q.out
* /hive/trunk/ql/src/test/results/clientpositive/input11.q.out
* /hive/trunk/ql/src/test/results/clientpositive/input12.q.out
* /hive/trunk/ql/src/test/results/clientpositive/input13.q.out
* /hive/trunk/ql/src/test/results/clientpositive/input34.q.out
* /hive/trunk/ql/src/test/results/clientpositive/input35.q.out
* /hive/trunk/ql/src/test/results/clientpositive/input36.q.out
* /hive/trunk/ql/src/test/results/clientpositive/input38.q.out
* /hive/trunk/ql/src/test/results/clientpositive/input6.q.out
* /hive/trunk/ql/src/test/results/clientpositive/input7.q.out
* /hive/trunk/ql/src/test/results/clientpositive/input8.q.out
* /hive/trunk/ql/src/test/results/clientpositive/input9.q.out
* /hive/trunk/ql/src/test/results/clientpositive/input_dynamicserde.q.out
* /hive/trunk/ql/src/test/results/clientpositive/input_part1.q.out
* /hive/trunk/ql/src/test/results/clientpositive/input_part2.q.out
* /hive/trunk/ql/src/test/results/clientpositive/input_part5.q.out
* /hive/trunk/ql/src/test/results/clientpositive/input_testsequencefile.q.out
* /hive/trunk/ql/src/test/results/clientpositive/input_testxpath.q.out
* /hive/trunk/ql/src/test/results/clientpositive/input_testxpath2.q.out
* /hive/trunk/ql/src/test/results/clientpositive/insert1.q.out
* /hive/trunk/ql/src/test/results/clientpositive/insert_into4.q.out
* /hive/trunk/ql/src/test/results/clientpositive/insert_into5.q.out
* /hive/trunk/ql/src/test/results/clientpositive/insert_into6.q.out
* /hive/trunk/ql/src/test/results/clientpositive/join25.q.out
* /hive/trunk/ql/src/test/results/clientpositive/join26.q.out
* /hive/trunk/ql/src/test/results/clientpositive/join27.q.out
* /hive/trunk/ql/src/test/results/clientpositive/join28.q.out
* /hive/trunk/ql/src/test/results/clientpositive/join29.q.out
* /hive/trunk/ql/src/test/results/clientpositive/join32.q.out
* /hive/trunk/ql/src/test/results/clientpositive/join34.q.out
* /hive/trunk/ql/src/test/results/clientpositive/join35.q.out
* /hive/trunk/ql/src/test/results/clientpositive/join36.q.out
* /hive/trunk/ql/src/test/results/clientpositive/join37.q.out
* /hive/trunk/ql/src/test/results/clientpositive/join39.q.out
* /hive/trunk/ql/src/test/results/clientpositive/join_map_ppr.q.out
* /hive/trunk/ql/src/test/results/clientpositive/lineage1.q.out
* /hive/trunk/ql/src/test/results/clientpositive/load_dyn_part1.q.out
* /hive/trunk/ql/src/test/results/clientpositive/load_dyn_part14.q.out
* /hive/trunk/ql/src/test/results/clientpositive/merge1.q.out
* /hive/trunk/ql/src/test/results/clientpositive/merge2.q.out
* /hive/trunk/ql/src/test/results/clientpositive/merge3.q.out
* /hive/trunk/ql/src/test/results/clientpositive/merge4.q.out
* /hive/trunk/ql/src/test/results/clientpositive/merge_dynamic_partition.q.out
* /hive/trunk/ql/src/test/results/clientpositive/merge_dynamic_partition2.q.out
* /hive/trunk/ql/src/test/results/clientpositive/merge_dynamic_partition3.q.out
* /hive/trunk/ql/src/test/results/clientpositive/merge_dynamic_partition4.q.out
* /hive/trunk/ql/src/test/results/clientpositive/merge_dynamic_partition5.q.out
* /hive/trunk/ql/src/test/results/clientpositive/multi_insert.q.out
* 
/hive/trunk/ql/src/test/results/clientpositive/multi_insert_move_tasks_share_dependencies.q.out
* /hive/trunk/ql/src/test/results/clientpositive/pcr.q.out
* /hive/trunk/ql/src/test/results/clientpositive/ppd_constant_expr.q.out
* /hive/trunk/ql/src/test/results/clientpositive/quote1.q.out
* /hive/trunk/ql/src/test/results/clientpositive/rand_partitionpruner2.q.out
* /hive/trunk/ql/src/test/results/clientpositive/rcfile_createas1.q.out
* /hive/trunk/ql/src/test/results/clientpositive/rcfile_merge1.q.out
* /hive/trunk/ql/src/test/results/clientpositive/rcfile_merge2.q.out
* /hive/trunk/ql/src/test/results/clientpositive/rcfile_merge3.q.out
* /hive/trunk/ql/src/test/results/clientpositive/rcfile_merge4.q.out
* /hive/trunk/ql/src/test/results/clientpositive/sample1.q.out
* /hive/trunk/ql/src/test/results/clientpositive/sample2.q.out
* /hive/trunk/ql/src/test/results/clientpositive/sample4.q.out
* /hive/trunk/ql/src/test/results/clientpositive/sample5.q.out
* /hive/trunk/ql/src/test/results/clientpositive/sample6.q.out
* /hive/trunk/ql/src/test/results/clientpositive/sample7.q.out
* /hive/trunk/ql/src/test/results/clientpositive/stats0.q.out
* /hive/trunk/ql/src/test/results/clientpositive/stats11.q.out
* /hive/trunk/ql/src/test/results/clientpositive/stats4.q.out
* /hive/trunk/ql/src/test/results/clientpositive/subq.q.out
* /hive/trunk/ql/src/test/results/clientpositive/udf1.q.out
* /hive/trunk/ql/src/test/results/clientpositive/udf_10_trims.q.out
* /hive/trunk/ql/src/test/results/clientpositive/udf_length.q.out
* /hive/trunk/ql/src/test/results/clientpositive/udf_reverse.q.out
* /hive/trunk/ql/src/test/results/clientpositive/union.q.out
* /hive/trunk/ql/src/test/results/clientpositive/union10.q.out
* /hive/trunk/ql/src/test/results/clientpositive/union12.q.out
* /hive/trunk/ql/src/test/results/clientpositive/union18.q.out
* /hive/trunk/ql/src/test/results/clientpositive/union28.q.out
* /hive/trunk/ql/src/test/results/clientpositive/union29.q.out
* /hive/trunk/ql/src/test/results/clientpositive/union30.q.out
* /hive/trunk/ql/src/test/results/clientpositive/union4.q.out
* /hive/trunk/ql/src/test/results/clientpositive/union6.q.out
* /hive/trunk/ql/src/test/results/compiler/plan/case_sensitivity.q.xml
* /hive/trunk/ql/src/test/results/compiler/plan/input1.q.xml
* /hive/trunk/ql/src/test/results/compiler/plan/input2.q.xml
* /hive/trunk/ql/src/test/results/compiler/plan/input3.q.xml
* /hive/trunk/ql/src/test/results/compiler/plan/input6.q.xml
* /hive/trunk/ql/src/test/results/compiler/plan/input7.q.xml
* /hive/trunk/ql/src/test/results/compiler/plan/input9.q.xml
* /hive/trunk/ql/src/test/results/compiler/plan/input_testsequencefile.q.xml
* /hive/trunk/ql/src/test/results/compiler/plan/sample2.q.xml
* /hive/trunk/ql/src/test/results/compiler/plan/sample3.q.xml
* /hive/trunk/ql/src/test/results/compiler/plan/sample4.q.xml
* /hive/trunk/ql/src/test/results/compiler/plan/sample5.q.xml
* /hive/trunk/ql/src/test/results/compiler/plan/sample6.q.xml
* /hive/trunk/ql/src/test/results/compiler/plan/sample7.q.xml
* /hive/trunk/ql/src/test/results/compiler/plan/subq.q.xml
* /hive/trunk/ql/src/test/results/compiler/plan/union.q.xml

                
> Race condition in query plan for merging at the end of a query
> --------------------------------------------------------------
>
>                 Key: HIVE-3302
>                 URL: https://issues.apache.org/jira/browse/HIVE-3302
>             Project: Hive
>          Issue Type: Bug
>          Components: Query Processor
>    Affects Versions: 0.10.0
>            Reporter: Kevin Wilfong
>            Assignee: Kevin Wilfong
>            Priority: Critical
>         Attachments: HIVE-3302.1.patch.txt, HIVE-3302.2.patch.txt
>
>
> In the query plan that's used to merge files at the end of a query, the 
> dependency tree looks something like:
>                    MoveTask(1)
>                   /           \
> ...ConditionalTask             MoveTask(2)...
>                   \           /
>                    MergeTask
> Here MoveTask(1) moves the partition data to a temporary location, and 
> MoveTask(2) moves it to the final location.
> However if there are dynamic partitions generated and some of these 
> partitions are merged and others are moved, the dependency tree is changed at 
> runtime to:
> ...ConditionalTask           MoveTask(2)...
>                   \         /
>                    MergeTask
>                             \
>                              MoveTask(1)
> This produces a race condition between the two MoveTasks where if MoveTask(2) 
> runs before MoveTask(1) the partitions moved by MoveTask(1) will get moved to 
> an intermediate location and never moved to the final location.  In this case 
> those partitions are quietly lost.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to