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

Hive QA commented on HIVE-20277:
--------------------------------



Here are the results of testing the latest attachment:
https://issues.apache.org/jira/secure/attachment/12934365/HIVE-20277.03.patch

{color:green}SUCCESS:{color} +1 due to 1 test(s) being added or modified.

{color:red}ERROR:{color} -1 due to 4 failed/errored test(s), 14859 tests 
executed
*Failed tests:*
{noformat}
org.apache.hadoop.hive.cli.TestMiniDruidCliDriver.testCliDriver[druid_timestamptz]
 (batchId=193)
org.apache.hadoop.hive.cli.TestMiniDruidCliDriver.testCliDriver[druidmini_joins]
 (batchId=193)
org.apache.hadoop.hive.cli.TestMiniDruidCliDriver.testCliDriver[druidmini_masking]
 (batchId=193)
org.apache.hadoop.hive.cli.TestMiniDruidCliDriver.testCliDriver[druidmini_test1]
 (batchId=193)
{noformat}

Test results: 
https://builds.apache.org/job/PreCommit-HIVE-Build/13040/testReport
Console output: https://builds.apache.org/job/PreCommit-HIVE-Build/13040/console
Test logs: http://104.198.109.242/logs/PreCommit-HIVE-Build-13040/

Messages:
{noformat}
Executing org.apache.hive.ptest.execution.TestCheckPhase
Executing org.apache.hive.ptest.execution.PrepPhase
Executing org.apache.hive.ptest.execution.YetusPhase
Executing org.apache.hive.ptest.execution.ExecutionPhase
Executing org.apache.hive.ptest.execution.ReportingPhase
Tests exited with: TestsFailedException: 4 tests failed
{noformat}

This message is automatically generated.

ATTACHMENT ID: 12934365 - PreCommit-HIVE-Build

> Vectorization: Case expressions that return BOOLEAN are not supported for 
> FILTER
> --------------------------------------------------------------------------------
>
>                 Key: HIVE-20277
>                 URL: https://issues.apache.org/jira/browse/HIVE-20277
>             Project: Hive
>          Issue Type: Bug
>          Components: Vectorization
>    Affects Versions: 4.0.0
>            Reporter: Gopal V
>            Assignee: Matt McCline
>            Priority: Major
>         Attachments: HIVE-20277.02.patch, HIVE-20277.03.patch, 
> HIVE-20277.WIP.01.patch
>
>
> In cases like Query89, the vertex with the filter is not vectorized.
> {code}
>                    Filter Operator
>                       predicate: CASE WHEN ((avg_window_0 <> 0.0D)) THEN 
> (((abs((_col6 - avg_window_0)) / avg_window_0) > 0.1D)) ELSE (null) END 
> (type: boolean)
> {code}
> {code}
>         Reducer 3 
>             Execution mode: llap
>             Reduce Vectorization:
>                 enabled: true
>                 enableConditionsMet: hive.vectorized.execution.reduce.enabled 
> IS true, hive.execution.engine tez IN [tez, spark] IS true
>                 notVectorizedReason: FILTER operator: Unexpected hive type 
> name void
>                 vectorized: false
> {code}
> The query specifically has 
> {code}
> where case when (avg_monthly_sales <> 0) then (abs(sum_sales - 
> avg_monthly_sales) / avg_monthly_sales) else null end > 0.1
> {code}
> while rewriting it to 
> {code}
> where case when (avg_monthly_sales <> 0) then (abs(sum_sales - 
> avg_monthly_sales) / avg_monthly_sales) > 0.1 else false end
> {code}
> does vectorize into 
> {code}
>                     Filter Operator
>                       Filter Vectorization:
>                           className: VectorFilterOperator
>                           native: true
>                           predicateExpression: SelectColumnIsTrue(col 
> 12:boolean)(children: VectorUDFAdaptor(CASE WHEN ((avg_window_0 <> 0.0D)) 
> THEN (((abs((_col6 - avg_window_0)) / avg_window_0) > 0.1D)) ELSE (false) 
> END)(children: DoubleColNotEqualDoubleScalar(col 7:double, val 0.0) -> 
> 8:boolean, DoubleColGreaterDoubleScalar(col 9:double, val 0.1)(children: 
> DoubleColDivideDoubleColumn(col 10:double, col 7:double)(children: 
> FuncAbsDoubleToDouble(col 9:double)(children: 
> DoubleColSubtractDoubleColumn(col 6:double, col 7:double) -> 9:double) -> 
> 10:double) -> 9:double) -> 11:boolean) -> 12:boolean)
>                       predicate: CASE WHEN ((avg_window_0 <> 0.0D)) THEN 
> (((abs((_col6 - avg_window_0)) / avg_window_0) > 0.1D)) ELSE (false) END 
> (type: boolean)
>                       Statistics: Num rows: 11 Data size: 5291 Basic stats: 
> COMPLETE Column stats: COMPLETE
> {code}



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to