Gopal V created HIVE-21818: ------------------------------ Summary: CBO: Copying TableRelOptHiveTable has metastore traffic Key: HIVE-21818 URL: https://issues.apache.org/jira/browse/HIVE-21818 Project: Hive Issue Type: Bug Reporter: Gopal V
While the optimizer is running, whenever it makes a copy of the TableScan to perform potential rewrites, there is Hive metastore traffic from inside CBO optimizer. {code} public RelOptHiveTable(RelOptSchema calciteSchema, RelDataTypeFactory typeFactory, List<String> qualifiedTblName, RelDataType rowType, Table hiveTblMetadata, List<ColumnInfo> hiveNonPartitionCols, List<ColumnInfo> hivePartitionCols, List<VirtualColumn> hiveVirtualCols, HiveConf hconf, Map<String, PrunedPartitionList> partitionCache, Map<String, ColumnStatsList> colStatsCache, AtomicInteger noColsMissingStats) { .... Pair<List<ImmutableBitSet>, List<ImmutableBitSet>> constraintKeys = generateKeys(); this.keys = constraintKeys.left; this.nonNullablekeys = constraintKeys.right; this.referentialConstraints = generateReferentialConstraints(); } {code} This is triggered from the rules as the partition pruner {code} protected void perform(RelOptRuleCall call, Filter filter, HiveTableScan tScan) { // Original table RelOptHiveTable hiveTable = (RelOptHiveTable) tScan.getTable(); // Copy original table scan and table HiveTableScan tScanCopy = tScan.copyIncludingTable(tScan.getRowType()); RelOptHiveTable hiveTableCopy = (RelOptHiveTable) tScanCopy.getTable(); {code} -- This message was sent by Atlassian JIRA (v7.6.3#76005)