You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@hive.apache.org by "Prasanth Jayachandran (JIRA)" <ji...@apache.org> on 2015/07/30 20:15:05 UTC

[jira] [Created] (HIVE-11412) StackOverFlow in SemanticAnalyzer for huge filters (~5000)

Prasanth Jayachandran created HIVE-11412:
--------------------------------------------

             Summary: StackOverFlow in SemanticAnalyzer for huge filters (~5000)
                 Key: HIVE-11412
                 URL: https://issues.apache.org/jira/browse/HIVE-11412
             Project: Hive
          Issue Type: Bug
            Reporter: Prasanth Jayachandran


Queries with ~5000 filter conditions fails in SemanticAnalysis

Stack trace:
{code}
Exception in thread "main" java.lang.StackOverflowError
	at java.util.HashMap.hash(HashMap.java:366)
	at java.util.HashMap.getEntry(HashMap.java:466)
	at java.util.HashMap.containsKey(HashMap.java:453)
	at org.apache.commons.collections.map.AbstractMapDecorator.containsKey(AbstractMapDecorator.java:83)
	at org.apache.hadoop.conf.Configuration.isDeprecated(Configuration.java:558)
	at org.apache.hadoop.conf.Configuration.handleDeprecation(Configuration.java:605)
	at org.apache.hadoop.conf.Configuration.get(Configuration.java:885)
	at org.apache.hadoop.conf.Configuration.getTrimmed(Configuration.java:907)
	at org.apache.hadoop.conf.Configuration.getBoolean(Configuration.java:1308)
	at org.apache.hadoop.hive.conf.HiveConf.getBoolVar(HiveConf.java:2641)
	at org.apache.hadoop.hive.ql.parse.SemanticAnalyzer.processPositionAlias(SemanticAnalyzer.java:11132)
	at org.apache.hadoop.hive.ql.parse.SemanticAnalyzer.processPositionAlias(SemanticAnalyzer.java:11226)
	at org.apache.hadoop.hive.ql.parse.SemanticAnalyzer.processPositionAlias(SemanticAnalyzer.java:11226)
	at org.apache.hadoop.hive.ql.parse.SemanticAnalyzer.processPositionAlias(SemanticAnalyzer.java:11226)

{code}

Query:
{code}
explain select count(*) from over1k where (
(t=1 and si=2)
or (t=2 and si=3)
or (t=3 and si=4) 
or (t=4 and si=5) 
or (t=5 and si=6) 
or (t=6 and si=7) 
or (t=7 and si=8)
or (t=7 and si=8)
or (t=7 and si=8)
...
{code}
Repeat the filter around 5000 times. 



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)