[ https://issues.apache.org/jira/browse/HIVE-16757?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16024793#comment-16024793 ]
Hive QA commented on HIVE-16757: -------------------------------- Here are the results of testing the latest attachment: https://issues.apache.org/jira/secure/attachment/12869865/HIVE-16757.01.patch {color:red}ERROR:{color} -1 due to no test(s) being added or modified. {color:red}ERROR:{color} -1 due to 5 failed/errored test(s), 10763 tests executed *Failed tests:* {noformat} org.apache.hadoop.hive.cli.TestMiniLlapLocalCliDriver.testCliDriver[cbo_limit] (batchId=161) org.apache.hadoop.hive.cli.TestMiniLlapLocalCliDriver.testCliDriver[cbo_rp_limit] (batchId=154) org.apache.hadoop.hive.cli.TestMiniLlapLocalCliDriver.testCliDriver[explainuser_1] (batchId=151) org.apache.hadoop.hive.cli.TestMiniLlapLocalCliDriver.testCliDriver[subquery_scalar] (batchId=152) org.apache.hadoop.hive.cli.TestSparkCliDriver.testCliDriver[cbo_limit] (batchId=138) {noformat} Test results: https://builds.apache.org/job/PreCommit-HIVE-Build/5430/testReport Console output: https://builds.apache.org/job/PreCommit-HIVE-Build/5430/console Test logs: http://104.198.109.242/logs/PreCommit-HIVE-Build-5430/ Messages: {noformat} Executing org.apache.hive.ptest.execution.TestCheckPhase Executing org.apache.hive.ptest.execution.PrepPhase Executing org.apache.hive.ptest.execution.ExecutionPhase Executing org.apache.hive.ptest.execution.ReportingPhase Tests exited with: TestsFailedException: 5 tests failed {noformat} This message is automatically generated. ATTACHMENT ID: 12869865 - PreCommit-HIVE-Build > Use memoization in HiveRelMdRowCount.getRowCount > ------------------------------------------------ > > Key: HIVE-16757 > URL: https://issues.apache.org/jira/browse/HIVE-16757 > Project: Hive > Issue Type: Bug > Components: Query Planning > Reporter: Remus Rusanu > Assignee: Remus Rusanu > Attachments: HIVE-16757.01.patch > > > On complex queries HiveRelMdRowCount.getRowCount can get called many times. > since it does not memoize its result and the call is recursive, it results in > an explosion of calls. for example a query with 49 joins, during join > ordering (LoptOtimizerJoinRule) the HiveRelMdRowCount.getRowCount gets called > 6442 as a top level call, but the recursivity exploded this to 501729 calls. > Memoization of the rezult would stop the recursion early. In my testing this > reduced the join reordering time for said query from 11s to <1s.. -- This message was sent by Atlassian JIRA (v6.3.15#6346)