mirror of
https://github.com/apache/impala.git
synced 2026-01-26 03:01:30 -05:00
Privileges granted to a role assigned 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 a lower case before inserting. Privilege name returned by sentryProxy is always lower case, which might not match the privilegeName built in the catalog. This triggers an update of the catalog object followed by a removal of the old object. Since they both use the same key in lower case it ends up deleting the newly updated object. 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 and dbs 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 Reviewed-on: http://gerrit.cloudera.org:8080/7332 Reviewed-by: Matthew Jacobs <mj@cloudera.com> Tested-by: Impala Public Jenkins