IMPALA-7682: Make AuthorizationPolicy thread-safe This patch makes AuthorizationPolicy thread-safe by making AuthorizationPolicy::listPrivileges(Set<String> groups, Set<String> users, ActiveRoleSet roleSet) synchronized.
Change-Id: I28c516c0ab3e48ab4284084afd7149ed1a3c6cb2 Reviewed-on: http://gerrit.cloudera.org:8080/11644 Reviewed-by: Impala Public Jenkins <[email protected]> Tested-by: Impala Public Jenkins <[email protected]> Project: http://git-wip-us.apache.org/repos/asf/impala/repo Commit: http://git-wip-us.apache.org/repos/asf/impala/commit/6099255f Tree: http://git-wip-us.apache.org/repos/asf/impala/tree/6099255f Diff: http://git-wip-us.apache.org/repos/asf/impala/diff/6099255f Branch: refs/heads/master Commit: 6099255fa69d41c5f3dd581a976fd5be3b027f0a Parents: e8ee827 Author: Fredy Wijaya <[email protected]> Authored: Tue Oct 9 21:04:15 2018 -0700 Committer: Impala Public Jenkins <[email protected]> Committed: Wed Oct 10 23:06:45 2018 +0000 ---------------------------------------------------------------------- .../main/java/org/apache/impala/catalog/AuthorizationPolicy.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/impala/blob/6099255f/fe/src/main/java/org/apache/impala/catalog/AuthorizationPolicy.java ---------------------------------------------------------------------- diff --git a/fe/src/main/java/org/apache/impala/catalog/AuthorizationPolicy.java b/fe/src/main/java/org/apache/impala/catalog/AuthorizationPolicy.java index 4819079..f810d15 100644 --- a/fe/src/main/java/org/apache/impala/catalog/AuthorizationPolicy.java +++ b/fe/src/main/java/org/apache/impala/catalog/AuthorizationPolicy.java @@ -437,7 +437,7 @@ public class AuthorizationPolicy implements PrivilegeCache { * Returns a set of privilege strings in Sentry format. */ @Override - public Set<String> listPrivileges(Set<String> groups, Set<String> users, + public synchronized Set<String> listPrivileges(Set<String> groups, Set<String> users, ActiveRoleSet roleSet) { Set<String> privileges = listPrivileges(groups, roleSet); for (String userName: users) {
