Repository: incubator-sentry Updated Branches: refs/heads/master 925afae89 -> f5a99962a
SENTRY-577: Orphan cleaner should remove privilege is not ALL, SELECT or INSERT (Xiaomeng Huang, reviewed by Guoquan Shen) Project: http://git-wip-us.apache.org/repos/asf/incubator-sentry/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-sentry/commit/f5a99962 Tree: http://git-wip-us.apache.org/repos/asf/incubator-sentry/tree/f5a99962 Diff: http://git-wip-us.apache.org/repos/asf/incubator-sentry/diff/f5a99962 Branch: refs/heads/master Commit: f5a99962ab8fb8a333d270f4b5059b2c791293b1 Parents: 925afae Author: Huang Xiaomeng <[email protected]> Authored: Thu Mar 12 12:42:05 2015 +0800 Committer: Huang Xiaomeng <[email protected]> Committed: Thu Mar 12 12:42:05 2015 +0800 ---------------------------------------------------------------------- .../sentry/provider/db/service/persistent/SentryStore.java | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-sentry/blob/f5a99962/sentry-provider/sentry-provider-db/src/main/java/org/apache/sentry/provider/db/service/persistent/SentryStore.java ---------------------------------------------------------------------- diff --git a/sentry-provider/sentry-provider-db/src/main/java/org/apache/sentry/provider/db/service/persistent/SentryStore.java b/sentry-provider/sentry-provider-db/src/main/java/org/apache/sentry/provider/db/service/persistent/SentryStore.java index d7d3475..d7937d0 100644 --- a/sentry-provider/sentry-provider-db/src/main/java/org/apache/sentry/provider/db/service/persistent/SentryStore.java +++ b/sentry-provider/sentry-provider-db/src/main/java/org/apache/sentry/provider/db/service/persistent/SentryStore.java @@ -605,8 +605,12 @@ public class SentryStore { } else { // if this privilege is not ALL, SELECT nor INSERT, // we will revoke it from role directly - mPrivilege.removeRole(mRole); - pm.makePersistent(mPrivilege); + MSentryPrivilege persistedPriv = getMSentryPrivilege(convertToTSentryPrivilege(mPrivilege), pm); + if (persistedPriv != null) { + mPrivilege.removeRole(mRole); + privCleaner.incPrivRemoval(); + pm.makePersistent(mPrivilege); + } } }
