You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sentry.apache.org by sr...@apache.org on 2014/09/20 01:13:54 UTC
git commit: SENTRY-454: Hive metadata changes syncup with Sentry
store should not run in error cases ( Prasad Mujumdar via Sravya
Tirukkovalur)
Repository: incubator-sentry
Updated Branches:
refs/heads/master f7f40b944 -> 630be6b5f
SENTRY-454: Hive metadata changes syncup with Sentry store should not run in error cases ( Prasad Mujumdar via Sravya Tirukkovalur)
Project: http://git-wip-us.apache.org/repos/asf/incubator-sentry/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-sentry/commit/630be6b5
Tree: http://git-wip-us.apache.org/repos/asf/incubator-sentry/tree/630be6b5
Diff: http://git-wip-us.apache.org/repos/asf/incubator-sentry/diff/630be6b5
Branch: refs/heads/master
Commit: 630be6b5fbf5e441a72af3008b2a31266cf5ccac
Parents: f7f40b9
Author: Sravya Tirukkovalur <sr...@clouera.com>
Authored: Fri Sep 19 16:13:01 2014 -0700
Committer: Sravya Tirukkovalur <sr...@clouera.com>
Committed: Fri Sep 19 16:13:01 2014 -0700
----------------------------------------------------------------------
.../SentryMetastorePostEventListener.java | 22 +++++++++++++++++++-
1 file changed, 21 insertions(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-sentry/blob/630be6b5/sentry-binding/sentry-binding-hive/src/main/java/org/apache/sentry/binding/metastore/SentryMetastorePostEventListener.java
----------------------------------------------------------------------
diff --git a/sentry-binding/sentry-binding-hive/src/main/java/org/apache/sentry/binding/metastore/SentryMetastorePostEventListener.java b/sentry-binding/sentry-binding-hive/src/main/java/org/apache/sentry/binding/metastore/SentryMetastorePostEventListener.java
index 0500483..38bf8b2 100644
--- a/sentry-binding/sentry-binding-hive/src/main/java/org/apache/sentry/binding/metastore/SentryMetastorePostEventListener.java
+++ b/sentry-binding/sentry-binding-hive/src/main/java/org/apache/sentry/binding/metastore/SentryMetastorePostEventListener.java
@@ -32,7 +32,6 @@ import org.apache.hadoop.hive.metastore.events.DropDatabaseEvent;
import org.apache.hadoop.hive.metastore.events.DropTableEvent;
import org.apache.hadoop.security.UserGroupInformation;
import org.apache.sentry.SentryUserException;
-import org.apache.sentry.binding.hive.HiveAuthzBindingHook;
import org.apache.sentry.binding.hive.conf.HiveAuthzConf;
import org.apache.sentry.binding.hive.conf.HiveAuthzConf.AuthzConfVars;
import org.apache.sentry.core.common.Authorizable;
@@ -62,6 +61,10 @@ public class SentryMetastorePostEventListener extends MetaStoreEventListener {
if (!syncWithPolicyStore(AuthzConfVars.AUTHZ_SYNC_CREATE_WITH_POLICY_STORE)) {
return;
}
+ // don't sync privileges if the operation has failed
+ if (!tableEvent.getStatus()) {
+ return;
+ }
dropSentryTablePrivilege(tableEvent.getTable().getDbName(),
tableEvent.getTable().getTableName());
}
@@ -72,6 +75,10 @@ public class SentryMetastorePostEventListener extends MetaStoreEventListener {
if (!syncWithPolicyStore(AuthzConfVars.AUTHZ_SYNC_DROP_WITH_POLICY_STORE)) {
return;
}
+ // don't sync privileges if the operation has failed
+ if (!tableEvent.getStatus()) {
+ return;
+ }
dropSentryTablePrivilege(tableEvent.getTable().getDbName(),
tableEvent.getTable().getTableName());
}
@@ -84,6 +91,10 @@ public class SentryMetastorePostEventListener extends MetaStoreEventListener {
if (!syncWithPolicyStore(AuthzConfVars.AUTHZ_SYNC_CREATE_WITH_POLICY_STORE)) {
return;
}
+ // don't sync privileges if the operation has failed
+ if (!dbEvent.getStatus()) {
+ return;
+ }
dropSentryDbPrivileges(dbEvent.getDatabase().getName());
}
@@ -97,6 +108,10 @@ public class SentryMetastorePostEventListener extends MetaStoreEventListener {
if (!syncWithPolicyStore(AuthzConfVars.AUTHZ_SYNC_DROP_WITH_POLICY_STORE)) {
return;
}
+ // don't sync privileges if the operation has failed
+ if (!dbEvent.getStatus()) {
+ return;
+ }
dropSentryDbPrivileges(dbEvent.getDatabase().getName());
}
@@ -109,6 +124,11 @@ public class SentryMetastorePostEventListener extends MetaStoreEventListener {
if (!syncWithPolicyStore(AuthzConfVars.AUTHZ_SYNC_ALTER_WITH_POLICY_STORE)) {
return;
}
+ // don't sync privileges if the operation has failed
+ if (!tableEvent.getStatus()) {
+ return;
+ }
+
if (tableEvent.getOldTable() != null) {
oldTableName = tableEvent.getOldTable().getTableName();
}