[ https://issues.apache.org/jira/browse/HIVE-14687?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15525595#comment-15525595 ]
Rui Li commented on HIVE-14687: ------------------------------- We have {{IMetaStoreClient::list_privileges}} for this purpose. Closing this one. > Metastore API - Retrieving PrincipalPrivilegeSet Object using getPrivileges() > method inside metastore Table class give Null value > --------------------------------------------------------------------------------------------------------------------------------- > > Key: HIVE-14687 > URL: https://issues.apache.org/jira/browse/HIVE-14687 > Project: Hive > Issue Type: Bug > Components: Authorization > Affects Versions: 1.2.1 > Environment: RHEL 6 > Reporter: Rahul Dhote > Labels: authorization > Fix For: 1.2.1 > > > During retrieving the privileges associated with table using Hive metastore > api, it retrieves all other properties associated with table and gives null > for privileges set > .[https://hive.apache.org/javadocs/r1.2.1/api/org/apache/hadoop/hive/metastore/api/Table.html] > Configuration Applied: > Enable the SQL Authorization inside the Hive Server and user like > hive,rootcare added inside admin role through hive configuration. > Problem: > Unable to retrieve the privileges for table using getPrivileges() method > after connecting through HiveMetastoreClient api. getPrivileges methods > return null whereas other properties of table are retrieved. > Analysis: > I created the table using Hive user after connecting to HiveServer2 > usingJDBC. By Default, after creating the table the default > privileges are assigned to the current user. It show all the privileges to > table from hive prompt using sql. > Tried to explore the API, found that Table class is generated by thrift and > consist of thrift code. I found that privileges field inside the Table class > is made optional. Also, found that, the privileges are stored inside the > table TBL_PRIVS inside metastore database. > Is there any specific configuration to be made to retrieve optional field ? > Options Tried: > 1. Tried to print the isSetPrivilege() property, but it returns null. > 2. Tried to add user in admin role which is connecting to hive metastore. > Still it gives the getPrivileges() as null. > Sample Table Object Output: > Table(tableName:sr4, dbName:hadoop_schema, owner:hive, > createTime:1472192882, lastAccessTime:0, retention:0, > sd:StorageDescriptor(cols:[FieldSchema(name:id, type:int, comment:null), > FieldSchema(name:status, type:varchar(20), comment:null)], location:hdfs:// > loco1.fyre.com:8020/apps/hive/warehouse/hadoop_schema.db/sr4, > inputFormat:org.apache.hadoop.mapred.TextInputFormat, > outputFormat:org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat, > compressed:false, numBuckets:-1, serdeInfo:SerDeInfo(name:null, > serializationLib:org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe, > parameters:{serialization.format=1}), bucketCols:[], sortCols:[], > parameters:{}, skewedInfo:SkewedInfo(skewedColNames:[], skewedColValues:[], > skewedColValueLocationMaps:{}), storedAsSubDirectories:false), > partitionKeys:[], parameters:{totalSize=17, sql.table.io.doAs=false, > numRows=-1, rawDataSize=-1, COLUMN_STATS_ACCURATE=false, numFiles=2, > transient_lastDdlTime=1472192963}, viewOriginalText:null, > viewExpandedText:null, tableType:MANAGED_TABLE) -- This message was sent by Atlassian JIRA (v6.3.4#6332)