[ https://issues.apache.org/jira/browse/HIVE-20304?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16655854#comment-16655854 ]
Hive QA commented on HIVE-20304: -------------------------------- Here are the results of testing the latest attachment: https://issues.apache.org/jira/secure/attachment/12934290/HIVE-20304.1.patch {color:red}ERROR:{color} -1 due to build exiting with an error Test results: https://builds.apache.org/job/PreCommit-HIVE-Build/14551/testReport Console output: https://builds.apache.org/job/PreCommit-HIVE-Build/14551/console Test logs: http://104.198.109.242/logs/PreCommit-HIVE-Build-14551/ Messages: {noformat} Executing org.apache.hive.ptest.execution.TestCheckPhase Executing org.apache.hive.ptest.execution.PrepPhase Tests exited with: NonZeroExitCodeException Command 'bash /data/hiveptest/working/scratch/source-prep.sh' failed with exit status 1 and output '+ date '+%Y-%m-%d %T.%3N' 2018-10-18 20:47:37.181 + [[ -n /usr/lib/jvm/java-8-openjdk-amd64 ]] + export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64 + JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64 + export PATH=/usr/lib/jvm/java-8-openjdk-amd64/bin/:/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games + PATH=/usr/lib/jvm/java-8-openjdk-amd64/bin/:/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games + export 'ANT_OPTS=-Xmx1g -XX:MaxPermSize=256m ' + ANT_OPTS='-Xmx1g -XX:MaxPermSize=256m ' + export 'MAVEN_OPTS=-Xmx1g ' + MAVEN_OPTS='-Xmx1g ' + cd /data/hiveptest/working/ + tee /data/hiveptest/logs/PreCommit-HIVE-Build-14551/source-prep.txt + [[ false == \t\r\u\e ]] + mkdir -p maven ivy + [[ git = \s\v\n ]] + [[ git = \g\i\t ]] + [[ -z master ]] + [[ -d apache-github-source-source ]] + [[ ! -d apache-github-source-source/.git ]] + [[ ! -d apache-github-source-source ]] + date '+%Y-%m-%d %T.%3N' 2018-10-18 20:47:37.184 + cd apache-github-source-source + git fetch origin >From https://github.com/apache/hive db72a86..7fecb6f branch-1 -> origin/branch-1 + git reset --hard HEAD HEAD is now at f89274a HIVE-20572 : Change default value of hive.tez.llap.min.reducer.per.executor + git clean -f -d Removing standalone-metastore/metastore-server/src/gen/ + git checkout master Already on 'master' Your branch is up-to-date with 'origin/master'. + git reset --hard origin/master HEAD is now at f89274a HIVE-20572 : Change default value of hive.tez.llap.min.reducer.per.executor + git merge --ff-only origin/master Already up-to-date. + date '+%Y-%m-%d %T.%3N' 2018-10-18 20:47:38.202 + rm -rf ../yetus_PreCommit-HIVE-Build-14551 + mkdir ../yetus_PreCommit-HIVE-Build-14551 + git gc + cp -R . ../yetus_PreCommit-HIVE-Build-14551 + mkdir /data/hiveptest/logs/PreCommit-HIVE-Build-14551/yetus + patchCommandPath=/data/hiveptest/working/scratch/smart-apply-patch.sh + patchFilePath=/data/hiveptest/working/scratch/build.patch + [[ -f /data/hiveptest/working/scratch/build.patch ]] + chmod +x /data/hiveptest/working/scratch/smart-apply-patch.sh + /data/hiveptest/working/scratch/smart-apply-patch.sh /data/hiveptest/working/scratch/build.patch error: patch failed: ql/src/test/results/clientpositive/runtime_skewjoin_mapjoin_spark.q.out:29 Falling back to three-way merge... Applied patch to 'ql/src/test/results/clientpositive/runtime_skewjoin_mapjoin_spark.q.out' with conflicts. Going to apply patch with: git apply -p0 /data/hiveptest/working/scratch/build.patch:367: trailing whitespace. $hdt$_0:$hdt$_1:tbl3 /data/hiveptest/working/scratch/build.patch:371: trailing whitespace. $hdt$_0:$hdt$_1:tbl3 /data/hiveptest/working/scratch/build.patch:426: trailing whitespace. $hdt$_0:$hdt$_2:tbl4 /data/hiveptest/working/scratch/build.patch:430: trailing whitespace. $hdt$_0:$hdt$_2:tbl4 /data/hiveptest/working/scratch/build.patch:475: trailing whitespace. $hdt$_0:$hdt$_3:tbl5 error: patch failed: ql/src/test/results/clientpositive/runtime_skewjoin_mapjoin_spark.q.out:29 Falling back to three-way merge... Applied patch to 'ql/src/test/results/clientpositive/runtime_skewjoin_mapjoin_spark.q.out' with conflicts. U ql/src/test/results/clientpositive/runtime_skewjoin_mapjoin_spark.q.out warning: squelched 13 whitespace errors warning: 18 lines add whitespace errors. + result=1 + '[' 1 -ne 0 ']' + rm -rf yetus_PreCommit-HIVE-Build-14551 + exit 1 ' {noformat} This message is automatically generated. ATTACHMENT ID: 12934290 - PreCommit-HIVE-Build > When hive.optimize.skewjoin and hive.auto.convert.join are both set to true, > and the execution engine is mr, same stage may launch twice due to the wrong > generated plan > ------------------------------------------------------------------------------------------------------------------------------------------------------------------------ > > Key: HIVE-20304 > URL: https://issues.apache.org/jira/browse/HIVE-20304 > Project: Hive > Issue Type: Bug > Components: CLI > Affects Versions: 1.2.1, 2.3.3 > Reporter: Hui Huang > Assignee: Hui Huang > Priority: Major > Fix For: 1.2.1 > > Attachments: HIVE-20304.1.patch, HIVE-20304.patch > > > `When hive.optimize.skewjoin and hive.auto.convert.join are both set to true, > and the execution engine is set to mr, same stage of a query may launch twice > due to the wrong generated plan. If hive.exec.parallel is also true, the same > stage will launch at the same time and the job will failed due to the first > completed stage clear the map.xml/reduce.xml file stored in the hdfs. > use following sql to reproduce the issue: > {code:java} > CREATE TABLE `tbl1`( > `fence` string); > CREATE TABLE `tbl2`( > `order_id` string, > `phone` string, > `search_id` string > ) > PARTITIONED BY ( > `dt` string); > CREATE TABLE `tbl3`( > `order_id` string, > `platform` string) > PARTITIONED BY ( > `dt` string); > CREATE TABLE `tbl4`( > `groupname` string, > `phone` string) > PARTITIONED BY ( > `dt` string); > CREATE TABLE `tbl5`( > `search_id` string, > `fence` string) > PARTITIONED BY ( > `dt` string); > SET hive.exec.parallel = TRUE; > SET hive.auto.convert.join = TRUE; > SET hive.optimize.skewjoin = TRUE; > SELECT dt, > platform, > groupname, > count(1) as cnt > FROM > (SELECT dt, > platform, > groupname > FROM > (SELECT fence > FROM tbl1)ta > JOIN > (SELECT a0.dt, > a1.platform, > a2.groupname, > a3.fence > FROM > (SELECT dt, > order_id, > phone, > search_id > FROM tbl2 > WHERE dt =20180703 )a0 > JOIN > (SELECT order_id, > platform, > dt > FROM tbl3 > WHERE dt =20180703 )a1 ON a0.order_id = a1.order_id > INNER JOIN > (SELECT groupname, > phone, > dt > FROM tbl4 > WHERE dt =20180703 )a2 ON a0.phone = a2.phone > LEFT JOIN > (SELECT search_id, > fence, > dt > FROM tbl5 > WHERE dt =20180703)a3 ON a0.search_id = a3.search_id)t0 ON > ta.fence = t0.fence)t11 > GROUP BY dt, > platform, > groupname; > DROP TABLE tbl1; > DROP TABLE tbl2; > DROP TABLE tbl3; > DROP TABLE tbl4; > DROP TABLE tbl5; > {code} > We will get some error message like this: > Examining task ID: task_1531284442065_3637_m_000000 (and more) from job > job_1531284442065_3637 > Task with the most failures(4): > ---- > Task ID: > task_1531284442065_3637_m_000000 > URL: > > [http://0.0.0.0:8088/taskdetails.jsp?jobid=job_1531284442065_3637&tipid=task_1531284442065_3637_m_000000] > ---- > Diagnostic Messages for this Task: > File does not exist: > hdfs://test/tmp/hive-hadoop/hadoop/fe5efa94-abb1-420f-b6ba-ec782e7b79ad/hive_2018-08-03_17-00-17_707_592882314975289971-5/-mr-10045/757eb1f7-7a37-4a7e-abc0-4a3b8b06510c/reduce.xml > java.io.FileNotFoundException: File does not exist: > hdfs://test/tmp/hive-hadoop/hadoop/fe5efa94-abb1-420f-b6ba-ec782e7b79ad/hive_2018-08-03_17-00-17_707_592882314975289971-5/-mr-10045/757eb1f7-7a37-4a7e-abc0-4a3b8b06510c/reduce.xml > Looking into the plan by executing explain, I found that the Stage-4 and > Stage-5 can reached from multi root tasks. > {code:java} > Explain > STAGE DEPENDENCIES: > Stage-21 is a root stage , consists of Stage-34, Stage-5 > Stage-34 has a backup stage: Stage-5 > Stage-20 depends on stages: Stage-34 > Stage-17 depends on stages: Stage-5, Stage-18, Stage-20 , consists of > Stage-32, Stage-33, Stage-1 > Stage-32 has a backup stage: Stage-1 > Stage-15 depends on stages: Stage-32 > Stage-10 depends on stages: Stage-1, Stage-15, Stage-16 , consists of > Stage-31, Stage-2 > Stage-31 > Stage-9 depends on stages: Stage-31 > Stage-2 depends on stages: Stage-9 > Stage-33 has a backup stage: Stage-1 > Stage-16 depends on stages: Stage-33 > Stage-1 > Stage-5 > Stage-27 is a root stage , consists of Stage-37, Stage-38, Stage-4 > Stage-37 has a backup stage: Stage-4 > Stage-25 depends on stages: Stage-37 > Stage-12 depends on stages: Stage-4, Stage-22, Stage-23, Stage-25, Stage-26 > , consists of Stage-36, Stage-5 > Stage-36 > Stage-11 depends on stages: Stage-36 > Stage-19 depends on stages: Stage-11 , consists of Stage-35, Stage-5 > Stage-35 has a backup stage: Stage-5 > Stage-18 depends on stages: Stage-35 > Stage-38 has a backup stage: Stage-4 > Stage-26 depends on stages: Stage-38 > Stage-4 > Stage-30 is a root stage , consists of Stage-42, Stage-43, Stage-3 > Stage-42 has a backup stage: Stage-3 > Stage-28 depends on stages: Stage-42 > Stage-14 depends on stages: Stage-3, Stage-28, Stage-29 , consists of > Stage-41, Stage-4 > Stage-41 > Stage-13 depends on stages: Stage-41 > Stage-24 depends on stages: Stage-13 , consists of Stage-39, Stage-40, > Stage-4 > Stage-39 has a backup stage: Stage-4 > Stage-22 depends on stages: Stage-39 > Stage-40 has a backup stage: Stage-4 > Stage-23 depends on stages: Stage-40 > Stage-43 has a backup stage: Stage-3 > Stage-29 depends on stages: Stage-43 > Stage-3 > Stage-0 depends on stages: Stage-2 > {code} > After skewjoin optimization, the processed node is added into the listTasks > of ConditionalTask and the parentTask of the processed node is removed and > during the commonJoin optimization of listTasks of ConditionalTask, the new > generated condTask will be added into root task list due to parentTask is > null. > workaround: do not set hive.optimize.skewjoin and hive.auto.convert.join to > true at the same time. -- This message was sent by Atlassian JIRA (v7.6.3#76005)