[ https://issues.apache.org/jira/browse/HIVE-11141?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Hari Sankar Sivarama Subramaniyan updated HIVE-11141: ----------------------------------------------------- Attachment: HIVE-11141.branch-1.2.patch HIVE-11141.branch-1.2.patch is the patch for branch-1.2 > Improve RuleRegExp when the Expression node stack gets huge > ----------------------------------------------------------- > > Key: HIVE-11141 > URL: https://issues.apache.org/jira/browse/HIVE-11141 > Project: Hive > Issue Type: Bug > Reporter: Hari Sankar Sivarama Subramaniyan > Assignee: Hari Sankar Sivarama Subramaniyan > Fix For: 2.0.0 > > Attachments: HIVE-11141.1.patch, HIVE-11141.2.patch, > HIVE-11141.3.patch, HIVE-11141.4.patch, HIVE-11141.5.patch, > HIVE-11141.7.patch, HIVE-11141.branch-1.2.patch, createtable.rtf > > > Hive occasionally gets bottlenecked on generating plans for large queries, > the majority of the cases time is spent in fetching metadata, partitions and > other optimizer transformation related rules > I have attached the query for the test case which needs to be tested after we > setup database as shown below. > {code} > create database dataset_3; > use database dataset_3; > {code} > createtable.rtf - create table command > SQLQuery10.sql.mssql - explain query > It seems that the most problematic part of the code as the stack gets > arbitrary long, in RuleRegExp.java > {code} > @Override > public int cost(Stack<Node> stack) throws SemanticException { > int numElems = (stack != null ? stack.size() : 0); > String name = ""; > for (int pos = numElems - 1; pos >= 0; pos--) { > name = stack.get(pos).getName() + "%" + name; > Matcher m = pattern.matcher(name); > if (m.matches()) { > return m.group().length(); > } > } > return -1; > } > {code} -- This message was sent by Atlassian JIRA (v6.3.4#6332)