[ 
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)

Reply via email to