Hari Sankar Sivarama Subramaniyan created HIVE-11141: --------------------------------------------------------
Summary: 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 More and more complex workloads are migrated to Hive from Sql Server, Terradata etc.. And occasionally Hive 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} 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)