[jira] [Commented] (HIVE-9681) Extend HiveAuthorizationProvider to support partition-sets.

2015-04-30 Thread Sushanth Sowmyan (JIRA)

[ 
https://issues.apache.org/jira/browse/HIVE-9681?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14521203#comment-14521203
 ] 

Sushanth Sowmyan commented on HIVE-9681:


+1, tests failures are unrelated.

 Extend HiveAuthorizationProvider to support partition-sets.
 ---

 Key: HIVE-9681
 URL: https://issues.apache.org/jira/browse/HIVE-9681
 Project: Hive
  Issue Type: Bug
  Components: Security
Affects Versions: 0.14.0
Reporter: Mithun Radhakrishnan
Assignee: Mithun Radhakrishnan
 Attachments: HIVE-9681.1.patch, HIVE-9681.2.patch


 {{HiveAuthorizationProvider}} allows only for the authorization of a single 
 partition at a time. For instance, when the {{StorageBasedAuthProvider}} must 
 authorize an operation on a set of partitions (say from a 
 PreDropPartitionEvent), each partition's data-directory needs to be checked 
 individually. For N partitions, this results in N namenode calls.
 I'd like to add {{authorize()}} overloads that accept multiple partitions. 
 This will allow StorageBasedAuthProvider to make batched namenode calls. 
 P.S. There's 2 further optimizations that are possible:
 1. In the ideal case, we'd have a single call in 
 {{org.apache.hadoop.fs.FileSystem}} to check access for an array of Paths, 
 something like:
 {code:title=FileSystem.java|borderStyle=solid}
 @InterfaceAudience.LimitedPrivate({HDFS, Hive})
   public void access(Path [] paths, FsAction mode) throws 
 AccessControlException, FileNotFoundException, IOException 
 {...}
 {code}
 2. We can go one better if we could retrieve partition-locations in DirectSQL 
 and use those for authorization. The EventListener-abstraction behind which 
 the AuthProviders operate make this difficult. I can attempt to solve this 
 using a PartitionSpec and a call-back into the ObjectStore from 
 StorageBasedAuthProvider. I'll save this rigmarole for later.



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


[jira] [Commented] (HIVE-9681) Extend HiveAuthorizationProvider to support partition-sets.

2015-04-29 Thread Sushanth Sowmyan (JIRA)

[ 
https://issues.apache.org/jira/browse/HIVE-9681?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14518861#comment-14518861
 ] 

Sushanth Sowmyan commented on HIVE-9681:


+1, marking as patch-available for tests to run, now that HIVE-9674 has been 
committed.

 Extend HiveAuthorizationProvider to support partition-sets.
 ---

 Key: HIVE-9681
 URL: https://issues.apache.org/jira/browse/HIVE-9681
 Project: Hive
  Issue Type: Bug
  Components: Security
Affects Versions: 0.14.0
Reporter: Mithun Radhakrishnan
Assignee: Mithun Radhakrishnan
 Attachments: HIVE-9681.1.patch, HIVE-9681.2.patch


 {{HiveAuthorizationProvider}} allows only for the authorization of a single 
 partition at a time. For instance, when the {{StorageBasedAuthProvider}} must 
 authorize an operation on a set of partitions (say from a 
 PreDropPartitionEvent), each partition's data-directory needs to be checked 
 individually. For N partitions, this results in N namenode calls.
 I'd like to add {{authorize()}} overloads that accept multiple partitions. 
 This will allow StorageBasedAuthProvider to make batched namenode calls. 
 P.S. There's 2 further optimizations that are possible:
 1. In the ideal case, we'd have a single call in 
 {{org.apache.hadoop.fs.FileSystem}} to check access for an array of Paths, 
 something like:
 {code:title=FileSystem.java|borderStyle=solid}
 @InterfaceAudience.LimitedPrivate({HDFS, Hive})
   public void access(Path [] paths, FsAction mode) throws 
 AccessControlException, FileNotFoundException, IOException 
 {...}
 {code}
 2. We can go one better if we could retrieve partition-locations in DirectSQL 
 and use those for authorization. The EventListener-abstraction behind which 
 the AuthProviders operate make this difficult. I can attempt to solve this 
 using a PartitionSpec and a call-back into the ObjectStore from 
 StorageBasedAuthProvider. I'll save this rigmarole for later.



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