[ 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)