Repository: hive
Updated Branches:
  refs/heads/master e74eb354f -> b1a917c3a


HIVE-20499 : GetTablesOperation pull all the tables meta irrespective of auth. 
(Rajkumar Singh via Ashutosh Chauhan)

Signed-off-by: Ashutosh Chauhan <[email protected]>


Project: http://git-wip-us.apache.org/repos/asf/hive/repo
Commit: http://git-wip-us.apache.org/repos/asf/hive/commit/b1a917c3
Tree: http://git-wip-us.apache.org/repos/asf/hive/tree/b1a917c3
Diff: http://git-wip-us.apache.org/repos/asf/hive/diff/b1a917c3

Branch: refs/heads/master
Commit: b1a917c3a250280b374800f7fb0e07eb1aa17ce5
Parents: e74eb35
Author: Rajkumar Singh <[email protected]>
Authored: Fri Sep 7 10:53:00 2018 -0700
Committer: Ashutosh Chauhan <[email protected]>
Committed: Fri Sep 7 10:53:00 2018 -0700

----------------------------------------------------------------------
 .../plugin/AuthorizationMetaStoreFilterHook.java      | 14 ++++++++++++++
 .../metastore/DefaultMetaStoreFilterHookImpl.java     |  2 +-
 .../hadoop/hive/metastore/MetaStoreFilterHook.java    |  2 +-
 .../hadoop/hive/metastore/HiveMetaStoreClient.java    |  2 +-
 4 files changed, 17 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/hive/blob/b1a917c3/ql/src/java/org/apache/hadoop/hive/ql/security/authorization/plugin/AuthorizationMetaStoreFilterHook.java
----------------------------------------------------------------------
diff --git 
a/ql/src/java/org/apache/hadoop/hive/ql/security/authorization/plugin/AuthorizationMetaStoreFilterHook.java
 
b/ql/src/java/org/apache/hadoop/hive/ql/security/authorization/plugin/AuthorizationMetaStoreFilterHook.java
index ca4b667..f5b8b12 100644
--- 
a/ql/src/java/org/apache/hadoop/hive/ql/security/authorization/plugin/AuthorizationMetaStoreFilterHook.java
+++ 
b/ql/src/java/org/apache/hadoop/hive/ql/security/authorization/plugin/AuthorizationMetaStoreFilterHook.java
@@ -19,6 +19,7 @@ package 
org.apache.hadoop.hive.ql.security.authorization.plugin;
 
 import java.util.ArrayList;
 import java.util.List;
+import java.util.stream.Collectors;
 
 import org.apache.hadoop.conf.Configuration;
 import org.slf4j.Logger;
@@ -26,6 +27,7 @@ import org.slf4j.LoggerFactory;
 import org.apache.hadoop.hive.common.classification.InterfaceAudience.Private;
 import org.apache.hadoop.hive.metastore.DefaultMetaStoreFilterHookImpl;
 import org.apache.hadoop.hive.metastore.api.MetaException;
+import org.apache.hadoop.hive.metastore.api.TableMeta;
 import 
org.apache.hadoop.hive.ql.security.authorization.plugin.HivePrivilegeObject.HivePrivilegeObjectType;
 import org.apache.hadoop.hive.ql.session.SessionState;
 
@@ -99,5 +101,17 @@ public class AuthorizationMetaStoreFilterHook extends 
DefaultMetaStoreFilterHook
     return objs;
   }
 
+   @Override
+   public List<TableMeta> filterTableMetas(String catName,String 
dbName,List<TableMeta> tableMetas) throws MetaException {
+     List<String> tableNames = new ArrayList<>();
+     for(TableMeta tableMeta: tableMetas){
+       tableNames.add(tableMeta.getTableName());
+     }
+     List<String> filteredTableNames = 
filterTableNames(catName,dbName,tableNames);
+     return tableMetas.stream()
+             .filter(e -> 
filteredTableNames.contains(e.getTableName())).collect(Collectors.toList());
+   }
+
+
 }
 

http://git-wip-us.apache.org/repos/asf/hive/blob/b1a917c3/standalone-metastore/metastore-common/src/main/java/org/apache/hadoop/hive/metastore/DefaultMetaStoreFilterHookImpl.java
----------------------------------------------------------------------
diff --git 
a/standalone-metastore/metastore-common/src/main/java/org/apache/hadoop/hive/metastore/DefaultMetaStoreFilterHookImpl.java
 
b/standalone-metastore/metastore-common/src/main/java/org/apache/hadoop/hive/metastore/DefaultMetaStoreFilterHookImpl.java
index 4e1daba..36a82c5 100644
--- 
a/standalone-metastore/metastore-common/src/main/java/org/apache/hadoop/hive/metastore/DefaultMetaStoreFilterHookImpl.java
+++ 
b/standalone-metastore/metastore-common/src/main/java/org/apache/hadoop/hive/metastore/DefaultMetaStoreFilterHookImpl.java
@@ -54,7 +54,7 @@ public class DefaultMetaStoreFilterHookImpl implements 
MetaStoreFilterHook {
   }
 
   @Override
-  public List<TableMeta> filterTableMetas(List<TableMeta> tableMetas) throws 
MetaException {
+  public List<TableMeta> filterTableMetas(String catName, String 
dbName,List<TableMeta> tableMetas) throws MetaException {
     return tableMetas;
   }
 

http://git-wip-us.apache.org/repos/asf/hive/blob/b1a917c3/standalone-metastore/metastore-common/src/main/java/org/apache/hadoop/hive/metastore/MetaStoreFilterHook.java
----------------------------------------------------------------------
diff --git 
a/standalone-metastore/metastore-common/src/main/java/org/apache/hadoop/hive/metastore/MetaStoreFilterHook.java
 
b/standalone-metastore/metastore-common/src/main/java/org/apache/hadoop/hive/metastore/MetaStoreFilterHook.java
index f7a0cd0..2f48aed 100644
--- 
a/standalone-metastore/metastore-common/src/main/java/org/apache/hadoop/hive/metastore/MetaStoreFilterHook.java
+++ 
b/standalone-metastore/metastore-common/src/main/java/org/apache/hadoop/hive/metastore/MetaStoreFilterHook.java
@@ -93,7 +93,7 @@ public interface MetaStoreFilterHook {
    * @return filtered table metas
    * @throws MetaException something went wrong
    */
-  List<TableMeta> filterTableMetas(List<TableMeta> tableMetas) throws 
MetaException;
+  List<TableMeta> filterTableMetas(String catName,String 
dbName,List<TableMeta> tableMetas) throws MetaException;
 
   /**
    * filter to given table object if applicable

http://git-wip-us.apache.org/repos/asf/hive/blob/b1a917c3/standalone-metastore/metastore-server/src/main/java/org/apache/hadoop/hive/metastore/HiveMetaStoreClient.java
----------------------------------------------------------------------
diff --git 
a/standalone-metastore/metastore-server/src/main/java/org/apache/hadoop/hive/metastore/HiveMetaStoreClient.java
 
b/standalone-metastore/metastore-server/src/main/java/org/apache/hadoop/hive/metastore/HiveMetaStoreClient.java
index c962ccc..df6d56b 100644
--- 
a/standalone-metastore/metastore-server/src/main/java/org/apache/hadoop/hive/metastore/HiveMetaStoreClient.java
+++ 
b/standalone-metastore/metastore-server/src/main/java/org/apache/hadoop/hive/metastore/HiveMetaStoreClient.java
@@ -1961,7 +1961,7 @@ public class HiveMetaStoreClient implements 
IMetaStoreClient, AutoCloseable {
   @Override
   public List<TableMeta> getTableMeta(String catName, String dbPatterns, 
String tablePatterns,
                                       List<String> tableTypes) throws 
TException {
-    return 
filterHook.filterTableMetas(client.get_table_meta(prependCatalogToDbName(
+    return 
filterHook.filterTableMetas(catName,dbPatterns,client.get_table_meta(prependCatalogToDbName(
         catName, dbPatterns, conf), tablePatterns, tableTypes));
   }
 

Reply via email to