Attila Bukor has submitted this change and it was merged. ( 
http://gerrit.cloudera.org:8080/15841 )

Change subject: KUDU-3090: Native owner metadata in Kudu
......................................................................

KUDU-3090: Native owner metadata in Kudu

Apache Sentry and Apache Ranger both support permissions granted to
table owners, but as Sentry integrates with Apache Hive Metastore (HMS)
and stores its metadata in it, Kudu didn't need to store table ownership
to support granting permissions to owners.

Apache Ranger on the other hand doesn't depend on HMS and needs Kudu to
tell it if the owner is attempting to authorize an action, so to enable
users to grant privileges to owners we need to support ownership
natively.

This patch adds the basic plumbing for table ownership, synchronizing
ownership metadata with HMS both using the notification log listener and
via tooling, and setting the owner on CREATE TABLE and ALTER TABLE
requests in the C++ client.

The maximum owner length is 128 characters by default which aligns with
HMS/Apache Impala maximum owner lengths, but it's configurable with the
max_owner_length flag.

Supporting this in the Java and Python clients, authorizing these
requests, and support for ownership in authorization will come in
follow-up patches.

Credit goes to Grant Henke <[email protected]> for the initial
version of this patch.

Design doc: https://s.apache.org/kudu-ownership-design

Change-Id: I67f5bfdf56d409960365fd5803913a2d3800831d
Reviewed-on: http://gerrit.cloudera.org:8080/15841
Tested-by: Kudu Jenkins
Reviewed-by: Alexey Serbin <[email protected]>
Reviewed-by: Grant Henke <[email protected]>
---
M src/kudu/client/client-internal.cc
M src/kudu/client/client-internal.h
M src/kudu/client/client-test.cc
M src/kudu/client/client.cc
M src/kudu/client/client.h
M src/kudu/client/client.proto
M src/kudu/client/scan_token-internal.cc
M src/kudu/client/table-internal.cc
M src/kudu/client/table-internal.h
M src/kudu/client/table_alterer-internal.cc
M src/kudu/client/table_alterer-internal.h
M src/kudu/client/table_creator-internal.h
M src/kudu/hms/hms_catalog-test.cc
M src/kudu/hms/hms_catalog.cc
M src/kudu/hms/hms_catalog.h
M src/kudu/integration-tests/hms_itest-base.cc
M src/kudu/integration-tests/hms_itest-base.h
M src/kudu/integration-tests/master_hms-itest.cc
M src/kudu/integration-tests/registration-test.cc
M src/kudu/master/catalog_manager.cc
M src/kudu/master/catalog_manager.h
M src/kudu/master/hms_notification_log_listener.cc
M src/kudu/master/master-test.cc
M src/kudu/master/master.proto
M src/kudu/tools/kudu-tool-test.cc
M src/kudu/tools/tool_action_hms.cc
26 files changed, 410 insertions(+), 91 deletions(-)

Approvals:
  Kudu Jenkins: Verified
  Alexey Serbin: Looks good to me, but someone else must approve
  Grant Henke: Looks good to me, approved

--
To view, visit http://gerrit.cloudera.org:8080/15841
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: merged
Gerrit-Change-Id: I67f5bfdf56d409960365fd5803913a2d3800831d
Gerrit-Change-Number: 15841
Gerrit-PatchSet: 14
Gerrit-Owner: Grant Henke <[email protected]>
Gerrit-Reviewer: Alexey Serbin <[email protected]>
Gerrit-Reviewer: Andrew Wong <[email protected]>
Gerrit-Reviewer: Attila Bukor <[email protected]>
Gerrit-Reviewer: Grant Henke <[email protected]>
Gerrit-Reviewer: Hao Hao <[email protected]>
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: Tidy Bot (241)

Reply via email to