[ https://issues.apache.org/jira/browse/HIVE-23963?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17169985#comment-17169985 ]
Krisztian Kasa commented on HIVE-23963: --------------------------------------- When cost is calculated inĀ HiveOnTezCostModel https://github.com/apache/hive/blob/28b6384e9ba287188015418b4c38c85dfdde8133/ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/cost/HiveOnTezCostModel.java#L403 We need the RelDistribution of a Project node. The RelDistribution is calculated by: 1. get the Project input's RelDistribution. In this case this is a TableScan on the customer table partitioned by the c_customer_sk column -> HiveRelDistribution(hash[0]) - the number *0* indicates that the c_customer_sk column is the 0th in the customer table but in general it can be anywhere. 2. The c_customer_sk is the 0th expression in the project but in general it can be anywhere so we need a mapping to map the key indexes in the RelDistribution. This mapping is an INVERSE_FUNCTION https://github.com/apache/calcite/blob/2088488ac8327b19512a76a122cae2961fc551c3/core/src/main/java/org/apache/calcite/rel/core/Project.java#L375 which does not support *getTargetOpt* [~jcamachorodriguez] Can the mapping type changed to something else which support getTargetOpt? > UnsupportedOperationException in queries 74 and 84 while applying > HiveCardinalityPreservingJoinRule > --------------------------------------------------------------------------------------------------- > > Key: HIVE-23963 > URL: https://issues.apache.org/jira/browse/HIVE-23963 > Project: Hive > Issue Type: Bug > Components: CBO > Reporter: Stamatis Zampetakis > Assignee: Krisztian Kasa > Priority: Major > Attachments: cbo_query74_stacktrace.txt, cbo_query84_stacktrace.txt > > > The following TPC-DS queries: > * cbo_query74.q > * cbo_query84.q > * query74.q > * query84.q > fail on the metastore with the partitioned TPC-DS 30TB dataset. > The stacktraces for cbo_query74 and cbo_query84 show that the problem > originates while applying HiveCardinalityPreservingJoinRule. -- This message was sent by Atlassian Jira (v8.3.4#803005)