Mithun Radhakrishnan created HIVE-10250: -------------------------------------------
Summary: Optimize AuthorizationPreEventListener to reuse TableWrapper objects Key: HIVE-10250 URL: https://issues.apache.org/jira/browse/HIVE-10250 Project: Hive Issue Type: Bug Components: Authorization Reporter: Mithun Radhakrishnan Here's the {{PartitionWrapper}} class in {{AuthorizationPreEventListener}}: {code:java|title=AuthorizationPreEventListener.java} public static class PartitionWrapper extends org.apache.hadoop.hive.ql.metadata.Partition { ... public PartitionWrapper(org.apache.hadoop.hive.metastore.api.Partition mapiPart, PreEventContext context) throws ... { Partition wrapperApiPart = mapiPart.deepCopy(); Table t = context.getHandler().get_table_core( mapiPart.getDbName(), mapiPart.getTableName()); ... } {code} {{PreAddPartitionEvent}} (and soon, {{PreDropPartitionEvent}}) correspond not just to a single partition, but an entire set of partitions added atomically. When the event is authorized, {{HMSHandler.get_table_core()}} will be called once for every partition in the Event instance. Since we already make the assumption that the partition-sets correspond to a single table, we might as well make a single call. I'll have a patch for this, shortly. -- This message was sent by Atlassian JIRA (v6.3.4#6332)