[
https://issues.apache.org/jira/browse/HIVE-10250?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14527620#comment-14527620
]
Sushanth Sowmyan commented on HIVE-10250:
-----------------------------------------
Per discussion with Mithun, this patch needs additional work, and has been
backed out of being required for branch-1.2. It'll be fixed in trunk when it's
fixed, and be part of the next release.
> 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
> Assignee: Mithun Radhakrishnan
> Attachments: HIVE-10250.1.patch
>
>
> 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)