Alexander Kolbasov commented on HIVE-18712:

As we start thinking about updating Hive Metastore APIs, we need to immediately 
think about the object ownership issue.
Here is, for example, how Database object is defined:
enum PrincipalType {
  USER = 1,
  ROLE = 2,
  GROUP = 3,
// namespace for tables
struct Database {
  1: string name,
  5: optional PrincipalPrivilegeSet privileges,
  6: optional string ownerName,
  7: optional PrincipalType ownerType
} {code}
Is this really the model we would like to carry forward?  Does USER/ROLE/GROUP 
type adequately describe the ownership model we want to have? Would this still 
apply in mixed cloud-like environments?
More over, do we really need the notion of the owner in the first place? We do 
need an initial set of permissions for the object, but do we really need the 
concept of an owner?
If we are defining the model from scratch, what do you think is a useful model 

> Design HMS Api v2
> -----------------
>                 Key: HIVE-18712
>                 URL: https://issues.apache.org/jira/browse/HIVE-18712
>             Project: Hive
>          Issue Type: Improvement
>          Components: Metastore
>    Affects Versions: 3.0.0
>            Reporter: Alexander Kolbasov
>            Assignee: Alexander Kolbasov
>            Priority: Major
> This is an umbrella Jira covering the design of Hive Metastore API v2.
> It is supposed to be a placeholder for discussion and design documents.

This message was sent by Atlassian JIRA

Reply via email to