hive-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Sushanth Sowmyan (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HIVE-9736) StorageBasedAuthProvider should batch namenode-calls where possible.
Date Thu, 07 May 2015 00:50:59 GMT

    [ https://issues.apache.org/jira/browse/HIVE-9736?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14531800#comment-14531800
] 

Sushanth Sowmyan commented on HIVE-9736:
----------------------------------------

The problem, as Sergio mentions, is that accessMethod is instantiated via reflection as a
method that can take a Path and a FsAction. In the call, however, it is called with a FileStatus
and an FsAction.

To wit, this will fix it:

{noformat}
-          accessMethod.invoke(fs, statuses.next(), combine(actions));
+          accessMethod.invoke(fs, statuses.next().getPath(), combine(actions));
{noformat}

This is easily fixed as a one-line fix, but I feel we need more testing. At the very least,
I can see a case for a nullcheck past what I just mentioned.

At this time, I recommend we close HIVE-10638 as a DUPLICATE, revert HIVE-9736, reopen it,
add this fix in, run through the precommit tests again, and then get it in.


> StorageBasedAuthProvider should batch namenode-calls where possible.
> --------------------------------------------------------------------
>
>                 Key: HIVE-9736
>                 URL: https://issues.apache.org/jira/browse/HIVE-9736
>             Project: Hive
>          Issue Type: Bug
>          Components: Metastore, Security
>            Reporter: Mithun Radhakrishnan
>            Assignee: Mithun Radhakrishnan
>             Fix For: 1.2.0
>
>         Attachments: HIVE-9736.1.patch, HIVE-9736.2.patch, HIVE-9736.3.patch, HIVE-9736.4.patch,
HIVE-9736.5.patch, HIVE-9736.6.patch
>
>
> Consider a table partitioned by 2 keys (dt, region). Say a dt partition could have 10000
associated regions. Consider that the user does:
> {code:sql}
> ALTER TABLE my_table DROP PARTITION (dt='20150101');
> {code}
> As things stand now, {{StorageBasedAuthProvider}} will make individual {{DistributedFileSystem.listStatus()}}
calls for each partition-directory, and authorize each one separately. It'd be faster to batch
the calls, and examine multiple FileStatus objects at once.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Mime
View raw message