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