-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/30388/
-----------------------------------------------------------
(Updated Jan. 29, 2015, 6:51 p.m.)
Review request for hive and Xuefu Zhang.
Changes
-------
Regenerated golden files (mostly plan change due to the backup task), and added
auto_join25.q. Also addressed initial feedback from review board.
Bugs: HIVE-9103
https://issues.apache.org/jira/browse/HIVE-9103
Repository: hive-git
Description
-------
This patch adds backup task to map join task. The backup task, which uses
common join, will be triggered
in case the mapjoin task failed.
Note that, no matter how many map joins there are in the SparkTask, we will
only generate one backup task.
This means that if the original task failed at the very last map join, the
whole task will be re-executed.
The handling of backup task is a little bit different from what MR does, mostly
because we convert JOIN to
MAPJOIN during the operator plan optimization phase, at which time no task/work
exist yet. In the patch, we
cloned the whole operator tree before the JOIN operator is converted. The
operator tree will be processed
and generate a separate work tree for a separate backup SparkTask.
Diffs (updated)
-----
itests/src/test/resources/testconfiguration.properties f583aaf
ql/src/java/org/apache/hadoop/hive/ql/optimizer/physical/SparkMapJoinResolver.java
69004dc
ql/src/java/org/apache/hadoop/hive/ql/optimizer/physical/StageIDsRearranger.java
79c3e02
ql/src/java/org/apache/hadoop/hive/ql/optimizer/spark/SparkJoinOptimizer.java
d57ceff
ql/src/java/org/apache/hadoop/hive/ql/optimizer/spark/SparkMapJoinOptimizer.java
9ff47c7
ql/src/java/org/apache/hadoop/hive/ql/optimizer/spark/SparkSortMergeJoinFactory.java
6e0ac38
ql/src/java/org/apache/hadoop/hive/ql/parse/ParseContext.java b838bff
ql/src/java/org/apache/hadoop/hive/ql/parse/spark/GenSparkProcContext.java
773cfbd
ql/src/java/org/apache/hadoop/hive/ql/parse/spark/OptimizeSparkProcContext.java
f7586a4
ql/src/java/org/apache/hadoop/hive/ql/parse/spark/SparkCompiler.java 3a7477a
ql/src/java/org/apache/hadoop/hive/ql/plan/TableScanDesc.java 0e85990
ql/src/test/results/clientpositive/spark/auto_join0.q.out 7f8eb63
ql/src/test/results/clientpositive/spark/auto_join1.q.out b640b9d
ql/src/test/results/clientpositive/spark/auto_join10.q.out f01765c
ql/src/test/results/clientpositive/spark/auto_join11.q.out 69c10e6
ql/src/test/results/clientpositive/spark/auto_join12.q.out bc763ed
ql/src/test/results/clientpositive/spark/auto_join13.q.out 935ebf5
ql/src/test/results/clientpositive/spark/auto_join14.q.out 830314e
ql/src/test/results/clientpositive/spark/auto_join15.q.out 780540b
ql/src/test/results/clientpositive/spark/auto_join16.q.out f705339
ql/src/test/results/clientpositive/spark/auto_join17.q.out 3144db6
ql/src/test/results/clientpositive/spark/auto_join19.q.out f2b0140
ql/src/test/results/clientpositive/spark/auto_join2.q.out 2424cca
ql/src/test/results/clientpositive/spark/auto_join20.q.out 9258f3b
ql/src/test/results/clientpositive/spark/auto_join21.q.out aa8f6dd
ql/src/test/results/clientpositive/spark/auto_join22.q.out d49dda9
ql/src/test/results/clientpositive/spark/auto_join23.q.out a179d87
ql/src/test/results/clientpositive/spark/auto_join24.q.out cfb076e
ql/src/test/results/clientpositive/spark/auto_join25.q.out ab01b8a
ql/src/test/results/clientpositive/spark/auto_join26.q.out 58821e9
ql/src/test/results/clientpositive/spark/auto_join28.q.out d30133b
ql/src/test/results/clientpositive/spark/auto_join29.q.out 780c6cb
ql/src/test/results/clientpositive/spark/auto_join3.q.out 54e24f3
ql/src/test/results/clientpositive/spark/auto_join30.q.out 4c832e2
ql/src/test/results/clientpositive/spark/auto_join31.q.out 5980814
ql/src/test/results/clientpositive/spark/auto_join32.q.out 9629f53
ql/src/test/results/clientpositive/spark/auto_join4.q.out 3366f75
ql/src/test/results/clientpositive/spark/auto_join5.q.out b6d8798
ql/src/test/results/clientpositive/spark/auto_join8.q.out 5b6cc80
ql/src/test/results/clientpositive/spark/auto_join9.q.out 6daf348
ql/src/test/results/clientpositive/spark/auto_join_filters.q.out 8934433
ql/src/test/results/clientpositive/spark/auto_join_nulls.q.out 1f37c75
ql/src/test/results/clientpositive/spark/auto_join_stats.q.out 1fa1a74
ql/src/test/results/clientpositive/spark/auto_join_stats2.q.out c6473d3
ql/src/test/results/clientpositive/spark/auto_sortmerge_join_1.q.out 3d465db
ql/src/test/results/clientpositive/spark/auto_sortmerge_join_10.q.out fe7b96d
ql/src/test/results/clientpositive/spark/auto_sortmerge_join_11.q.out f4e889a
ql/src/test/results/clientpositive/spark/auto_sortmerge_join_12.q.out c358721
ql/src/test/results/clientpositive/spark/auto_sortmerge_join_13.q.out 7eadcd0
ql/src/test/results/clientpositive/spark/auto_sortmerge_join_14.q.out 984db20
ql/src/test/results/clientpositive/spark/auto_sortmerge_join_15.q.out 2acc323
ql/src/test/results/clientpositive/spark/auto_sortmerge_join_2.q.out f05b0cc
ql/src/test/results/clientpositive/spark/auto_sortmerge_join_3.q.out c7d23f8
ql/src/test/results/clientpositive/spark/auto_sortmerge_join_4.q.out f5dc2f7
ql/src/test/results/clientpositive/spark/auto_sortmerge_join_5.q.out 26e7957
ql/src/test/results/clientpositive/spark/auto_sortmerge_join_7.q.out a5c0562
ql/src/test/results/clientpositive/spark/auto_sortmerge_join_8.q.out ef13a40
ql/src/test/results/clientpositive/spark/auto_sortmerge_join_9.q.out a2b98fc
ql/src/test/results/clientpositive/spark/bucket_map_join_spark1.q.out 6230bef
ql/src/test/results/clientpositive/spark/bucket_map_join_spark2.q.out 1a33625
ql/src/test/results/clientpositive/spark/bucket_map_join_spark3.q.out fed923c
ql/src/test/results/clientpositive/spark/bucket_map_join_spark4.q.out 8b5e8d4
ql/src/test/results/clientpositive/spark/bucket_map_join_tez1.q.out 1c81d1b
ql/src/test/results/clientpositive/spark/bucket_map_join_tez2.q.out 04a934f
ql/src/test/results/clientpositive/spark/bucketsortoptimize_insert_2.q.out
365306e
ql/src/test/results/clientpositive/spark/bucketsortoptimize_insert_4.q.out
3846de7
ql/src/test/results/clientpositive/spark/bucketsortoptimize_insert_6.q.out
5b559c4
ql/src/test/results/clientpositive/spark/bucketsortoptimize_insert_7.q.out
cefc6aa
ql/src/test/results/clientpositive/spark/bucketsortoptimize_insert_8.q.out
ca44d7c
ql/src/test/results/clientpositive/spark/cross_product_check_2.q.out dda6c38
ql/src/test/results/clientpositive/spark/identity_project_remove_skip.q.out
7238009
ql/src/test/results/clientpositive/spark/infer_bucket_sort_convert_join.q.out
3d4eb18
ql/src/test/results/clientpositive/spark/join28.q.out f23f662
ql/src/test/results/clientpositive/spark/join29.q.out 0b4284c
ql/src/test/results/clientpositive/spark/join31.q.out a52a8b6
ql/src/test/results/clientpositive/spark/join32.q.out a9d50b4
ql/src/test/results/clientpositive/spark/join32_lessSize.q.out dac9610
ql/src/test/results/clientpositive/spark/join33.q.out a9d50b4
ql/src/test/results/clientpositive/spark/join_reorder4.q.out 5cc30f7
ql/src/test/results/clientpositive/spark/join_star.q.out 69c2fd7
ql/src/test/results/clientpositive/spark/mapjoin_decimal.q.out b681e5f
ql/src/test/results/clientpositive/spark/mapjoin_filter_on_outerjoin.q.out
0271f97
ql/src/test/results/clientpositive/spark/mapjoin_hook.q.out 7aa8ce9
ql/src/test/results/clientpositive/spark/mapjoin_mapjoin.q.out 65a7d06
ql/src/test/results/clientpositive/spark/mapjoin_memcheck.q.out 14f316c
ql/src/test/results/clientpositive/spark/mapjoin_subquery.q.out 2d1e7a7
ql/src/test/results/clientpositive/spark/mapjoin_subquery2.q.out a757d0b
ql/src/test/results/clientpositive/spark/mapjoin_test_outer.q.out 7143348
ql/src/test/results/clientpositive/spark/multi_join_union.q.out bda569d
ql/src/test/results/clientpositive/spark/parquet_join.q.out 390aeb1
ql/src/test/results/clientpositive/spark/reduce_deduplicate_exclude_join.q.out
19ab4c8
ql/src/test/results/clientpositive/spark/smb_mapjoin_17.q.out bd3a6a1
ql/src/test/results/clientpositive/spark/smb_mapjoin_25.q.out cb811ed
ql/src/test/results/clientpositive/spark/subquery_multiinsert.q.java1.7.out
92a8595
ql/src/test/results/clientpositive/spark/vector_decimal_mapjoin.q.out 5ec95c2
ql/src/test/results/clientpositive/spark/vector_left_outer_join.q.out ca8918a
ql/src/test/results/clientpositive/spark/vector_mapjoin_reduce.q.out 02c1fc6
ql/src/test/results/clientpositive/spark/vectorized_mapjoin.q.out 237df98
ql/src/test/results/clientpositive/spark/vectorized_nested_mapjoin.q.out
f8e8ba7
Diff: https://reviews.apache.org/r/30388/diff/
Testing
-------
auto_join25.q
Thanks,
Chao Sun