anujphadke has uploaded a new patch set (#3). Change subject: IMPALA-5582: Store sentry privileges in lower case ......................................................................
IMPALA-5582: Store sentry privileges in lower case Privileges granted to a db/table whose name contains upper case characters can disappear after a few seconds. A privilege is inserted into the catalogObjectCache using a key that uses the db/table name. The key gets converted to lower case before inserting. The db/table name is stored in upper case in the rolePrivilege object. The sentryProxy thread on the other hand returns the db/table name in lower case. If the catalogObjectCache on a update adds the new rolePrivilege object first and removes the old object later, it ends up deleting the newer verison of the rolePrivilege since they both use the same key to add/remove from the cache. This change sets the privilege name in lower case which does not trigger these chain of events on a sentryProxy thread update. This change also adds a new catalogd startup option (sentry_catalog_polling_frequency) to configure the frequency at which catalogd polls the sentry service to update any policy changes. The default value is 60 seconds. Test: Added a test which adds select privileges to 3 tables specified in lower case, upper case and mixed case. The test verifies that the privileges on the 3 tables do not disappear on a sentry update. Change-Id: Ide3dfa601fcf77f5acc6adce9bea443aea600901 --- M be/src/catalog/catalog.cc M be/src/util/backend-gflag-util.cc M common/thrift/BackendGflags.thrift M fe/src/main/java/org/apache/impala/catalog/AuthorizationPolicy.java M fe/src/main/java/org/apache/impala/catalog/RolePrivilege.java M fe/src/main/java/org/apache/impala/service/BackendConfig.java M fe/src/main/java/org/apache/impala/util/SentryProxy.java M tests/authorization/test_grant_revoke.py 8 files changed, 90 insertions(+), 21 deletions(-) git pull ssh://gerrit.cloudera.org:29418/Impala-ASF refs/changes/32/7332/3 -- To view, visit http://gerrit.cloudera.org:8080/7332 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: newpatchset Gerrit-Change-Id: Ide3dfa601fcf77f5acc6adce9bea443aea600901 Gerrit-PatchSet: 3 Gerrit-Project: Impala-ASF Gerrit-Branch: master Gerrit-Owner: anujphadke <[email protected]> Gerrit-Reviewer: Matthew Jacobs <[email protected]> Gerrit-Reviewer: anujphadke <[email protected]>
