[
https://issues.apache.org/jira/browse/HIVE-9736?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16752547#comment-16752547
]
Zheng Shao commented on HIVE-9736:
----------------------------------
Are we sure that FileSystem.listStatus(Path[]) is faster than a loop over
FileSystem.listStatus(Path)?
The following code is in the Hadoop FIleSystem class. HDFS
DistributedFileSystem class didn't override this method.
{quote}{{public FileStatus[] listStatus(Path[] files, PathFilter filter) throws
FileNotFoundException, IOException {}}
{{ ArrayList<FileStatus> results = new ArrayList();}}
{{ for(int i = 0; i < files.length; ++i) {}}
{{ this.listStatus(results, files[i], filter);}}
{{ }}}
{{ return (FileStatus[])results.toArray(new FileStatus[results.size()]);}}
{{}}}
{quote}
> 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
> Affects Versions: 1.2.1
> Reporter: Mithun Radhakrishnan
> Assignee: Mithun Radhakrishnan
> Priority: Major
> Labels: TODOC1.2
> 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, HIVE-9736.7.patch,
> HIVE-9736.8.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
(v7.6.3#76005)