This is an automated email from the ASF dual-hosted git repository. awong pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/kudu.git
commit 5660d9583e88c4ece2c73efc2cfcb51bd3d22523 Author: Hao Hao <[email protected]> AuthorDate: Mon Mar 30 00:03:38 2020 -0700 [ranger] fix authorizing list tables When authorizing list tables and there is no tables in Kudu, we should return 'OK' instead of 'InvalidArgument' error. Change-Id: I2a4dfe61e85fc21d67e6422a1cdb36d887d51f4f Reviewed-on: http://gerrit.cloudera.org:8080/15592 Reviewed-by: Attila Bukor <[email protected]> Reviewed-by: Andrew Wong <[email protected]> Tested-by: Kudu Jenkins --- src/kudu/ranger/ranger_client-test.cc | 6 ++++++ src/kudu/ranger/ranger_client.cc | 3 ++- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/src/kudu/ranger/ranger_client-test.cc b/src/kudu/ranger/ranger_client-test.cc index b2cae2c..9a85aaa 100644 --- a/src/kudu/ranger/ranger_client-test.cc +++ b/src/kudu/ranger/ranger_client-test.cc @@ -161,6 +161,12 @@ TEST_F(RangerClientTest, TestAuthorizeCreateTableAuthorized) { TEST_F(RangerClientTest, TestAuthorizeListNoTables) { unordered_set<string> tables; + ASSERT_OK(client_.AuthorizeActionMultipleTables("jdoe", ActionPB::METADATA, &tables)); + ASSERT_EQ(0, tables.size()); +} + +TEST_F(RangerClientTest, TestAuthorizeListNoTablesAuthorized) { + unordered_set<string> tables; tables.emplace("foo.bar"); tables.emplace("foo.baz"); auto s = client_.AuthorizeActionMultipleTables("jdoe", ActionPB::METADATA, &tables); diff --git a/src/kudu/ranger/ranger_client.cc b/src/kudu/ranger/ranger_client.cc index c67e03c..a2abee1 100644 --- a/src/kudu/ranger/ranger_client.cc +++ b/src/kudu/ranger/ranger_client.cc @@ -334,8 +334,9 @@ Status RangerClient::AuthorizeActionMultipleTables(const string& user_name, const ActionPB& action, unordered_set<string>* table_names) { DCHECK(subprocess_); + // Return immediately if there is no tables to authorize against. if (table_names->empty()) { - return Status::InvalidArgument("Empty set of tables"); + return Status::OK(); } RangerRequestListPB req_list;
