hive-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Hive QA (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HIVE-18624) Parsing time is extremely high (~10 min) for queries with complex select expressions
Date Tue, 21 Aug 2018 18:38:00 GMT

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

Hive QA commented on HIVE-18624:
--------------------------------

| (x) *{color:red}-1 overall{color}* |
\\
\\
|| Vote || Subsystem || Runtime || Comment ||
|| || || || {color:brown} Prechecks {color} ||
| {color:green}+1{color} | {color:green} @author {color} | {color:green}  0m  0s{color} |
{color:green} The patch does not contain any @author tags. {color} |
|| || || || {color:brown} master Compile Tests {color} ||
| {color:green}+1{color} | {color:green} mvninstall {color} | {color:green}  8m 32s{color}
| {color:green} master passed {color} |
| {color:green}+1{color} | {color:green} compile {color} | {color:green}  1m  4s{color} |
{color:green} master passed {color} |
| {color:green}+1{color} | {color:green} checkstyle {color} | {color:green}  0m 38s{color}
| {color:green} master passed {color} |
| {color:blue}0{color} | {color:blue} findbugs {color} | {color:blue}  3m 56s{color} | {color:blue}
ql in master has 2307 extant Findbugs warnings. {color} |
| {color:green}+1{color} | {color:green} javadoc {color} | {color:green}  1m  1s{color} |
{color:green} master passed {color} |
|| || || || {color:brown} Patch Compile Tests {color} ||
| {color:green}+1{color} | {color:green} mvninstall {color} | {color:green}  1m 27s{color}
| {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} compile {color} | {color:green}  1m 11s{color} |
{color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} javac {color} | {color:green}  1m 11s{color} | {color:green}
the patch passed {color} |
| {color:red}-1{color} | {color:red} checkstyle {color} | {color:red}  0m 39s{color} | {color:red}
ql: The patch generated 3 new + 16 unchanged - 2 fixed = 19 total (was 18) {color} |
| {color:green}+1{color} | {color:green} whitespace {color} | {color:green}  0m  0s{color}
| {color:green} The patch has no whitespace issues. {color} |
| {color:green}+1{color} | {color:green} findbugs {color} | {color:green}  4m 19s{color} |
{color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} javadoc {color} | {color:green}  0m 59s{color} |
{color:green} the patch passed {color} |
|| || || || {color:brown} Other Tests {color} ||
| {color:green}+1{color} | {color:green} asflicense {color} | {color:green}  0m 13s{color}
| {color:green} The patch does not generate ASF License warnings. {color} |
| {color:black}{color} | {color:black} {color} | {color:black} 24m 27s{color} | {color:black}
{color} |
\\
\\
|| Subsystem || Report/Notes ||
| Optional Tests |  asflicense  javac  javadoc  findbugs  checkstyle  compile  |
| uname | Linux hiveptest-server-upstream 3.16.0-4-amd64 #1 SMP Debian 3.16.36-1+deb8u1 (2016-09-03)
x86_64 GNU/Linux |
| Build tool | maven |
| Personality | /data/hiveptest/working/yetus_PreCommit-HIVE-Build-13376/dev-support/hive-personality.sh
|
| git revision | master / 20baf49 |
| Default Java | 1.8.0_111 |
| findbugs | v3.0.0 |
| checkstyle | http://104.198.109.242/logs//PreCommit-HIVE-Build-13376/yetus/diff-checkstyle-ql.txt
|
| modules | C: ql U: ql |
| Console output | http://104.198.109.242/logs//PreCommit-HIVE-Build-13376/yetus.txt |
| Powered by | Apache Yetus    http://yetus.apache.org |


This message was automatically generated.



> Parsing time is extremely high (~10 min) for queries with complex select expressions
> ------------------------------------------------------------------------------------
>
>                 Key: HIVE-18624
>                 URL: https://issues.apache.org/jira/browse/HIVE-18624
>             Project: Hive
>          Issue Type: Bug
>          Components: Hive, Parser
>    Affects Versions: 3.0.0, 2.3.2
>            Reporter: Amruth S
>            Assignee: Zoltan Haindrich
>            Priority: Major
>         Attachments: HIVE-18624.01.patch, thread_dump
>
>
> Explain of the same query takes
> 0.1 to 3 seconds in hive 2.1.0 &
>  10-15 min in hive 2.3.2 & latest master
> Sample expression below
> {code:java}
> EXPLAIN
> SELECT DISTINCT
>   IF(lower('a') <= lower('a')
>   ,'a'
>   ,IF(('a' IS NULL AND from_unixtime(UNIX_TIMESTAMP()) <= 'a')
>   ,'a'
>   ,IF(if('a' = 'a', TRUE, FALSE) = 1
>   ,'a'
>   ,IF(('a' = 1 and lower('a') NOT IN ('a', 'a')
>        and lower(if('a' = 'a','a','a')) <= lower('a'))
>       OR ('a' like 'a' OR 'a' like 'a')
>       OR 'a' in ('a','a')
>   ,'a'
>   ,IF(if(lower('a') in ('a', 'a') and 'a'='a', TRUE, FALSE) = 1
>   ,'a'
>   ,IF('a'='a' and unix_timestamp(if('a' = 'a',cast('a' as string),coalesce('a',cast('a'
as string),from_unixtime(unix_timestamp())))) <= unix_timestamp(concat_ws('a',cast(lower('a')
as string),'00:00:00')) + 9*3600
>   ,'a'
>   ,If(lower('a') <= lower('a')
>       and if(lower('a') in ('a', 'a') and 'a'<>'a', TRUE, FALSE) <> 1
>   ,'a'
>   ,IF('a'=1 AND 'a'=1
>   ,'a'
>   ,IF('a' = 1 and COALESCE(cast('a' as int),0) = 0
>   ,'a'
>   ,IF('a' = 'a'
>   ,'a'
>   ,If('a' = 'a' AND lower('a')>lower(if(lower('a')<1830,'a',cast(date_add('a',1)
as timestamp)))
>   ,'a'
>   ,IF('a' = 1
>   ,IF('a' in ('a', 'a') and ((unix_timestamp('a')-unix_timestamp('a')) / 60) > 30
and 'a' = 1
>   ,'a', 'a')
>   ,IF(if('a' = 'a', FALSE, TRUE ) = 1 AND 'a' IS NULL
>   ,'a'
>   ,IF('a' = 1 and 'a'>0
>   , 'a'
>   ,IF('a' = 1 AND 'a' ='a'
>   ,'a'
>   ,IF('a' is not null and 'a' is not null and 'a' > 'a'
>   ,'a'
>   ,IF('a' = 1
>   ,'a'
>   ,IF('a' = 'a'
>   ,'a'
>   ,If('a' = 1
>   ,'a'
>   ,IF('a' = 1
>   ,'a'
>   ,IF('a' = 1
>   ,'a'
>   ,IF('a' ='a' and 'a' ='a' and cast(unix_timestamp('a') as  int) + 93600 < cast(unix_timestamp()
 as int)
>   ,'a'
>   ,IF('a' = 'a'
>   ,'a'
>   ,IF('a' = 'a' and 'a' in ('a','a','a')
>   ,'a'
>   ,IF('a' = 'a'
>   ,'a','a'))
>       )))))))))))))))))))))))
> AS test_comp_exp
> {code}
>  
> Taking a look at [^thread_dump] shows a very large function stack getting created.
> Reverting HIVE-15578 (92f31d07aa988d4a460aac56e369bfa386361776) seem to speed up the
parsing.
>  



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

Mime
View raw message