You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sentry.apache.org by va...@apache.org on 2017/06/14 00:57:03 UTC
[25/52] [abbrv] sentry git commit: SENTRY-1716: HMSFollower doesn't
need to save path info when HDFS sync is disabled (Sergio Pena,
reviewed by: Na Li and Alex Kolbasov)
SENTRY-1716: HMSFollower doesn't need to save path info when HDFS sync is disabled (Sergio Pena, reviewed by: Na Li and Alex Kolbasov)
Change-Id: I175fe7919c32d78f37a9ade3a2ff058f92f45df3
Reviewed-on: http://gerrit.sjc.cloudera.com:8080/22714
Tested-by: Jenkins User
Reviewed-by: Alexander Kolbasov <ak...@cloudera.com>
Project: http://git-wip-us.apache.org/repos/asf/sentry/repo
Commit: http://git-wip-us.apache.org/repos/asf/sentry/commit/e4f6f22f
Tree: http://git-wip-us.apache.org/repos/asf/sentry/tree/e4f6f22f
Diff: http://git-wip-us.apache.org/repos/asf/sentry/diff/e4f6f22f
Branch: refs/for/cdh5-1.5.1_ha
Commit: e4f6f22f501176df62518c2419e5135bedc6a8c2
Parents: f0faf2f
Author: Alexander Kolbasov <ak...@cloudera.com>
Authored: Tue May 16 08:22:15 2017 -0700
Committer: Alexander Kolbasov <ak...@cloudera.com>
Committed: Tue May 16 12:05:54 2017 -0700
----------------------------------------------------------------------
.../sentry/service/thrift/SentryService.java | 10 +++++++++-
.../service/thrift/SentryServiceUtil.java | 21 ++++++++++++++++++++
2 files changed, 30 insertions(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/sentry/blob/e4f6f22f/sentry-provider/sentry-provider-db/src/main/java/org/apache/sentry/service/thrift/SentryService.java
----------------------------------------------------------------------
diff --git a/sentry-provider/sentry-provider-db/src/main/java/org/apache/sentry/service/thrift/SentryService.java b/sentry-provider/sentry-provider-db/src/main/java/org/apache/sentry/service/thrift/SentryService.java
index 3543ace..3afc06f 100644
--- a/sentry-provider/sentry-provider-db/src/main/java/org/apache/sentry/service/thrift/SentryService.java
+++ b/sentry-provider/sentry-provider-db/src/main/java/org/apache/sentry/service/thrift/SentryService.java
@@ -106,6 +106,7 @@ public class SentryService implements Callable, SigUtils.SigListener {
private ScheduledExecutorService sentryStoreCleanService;
private final LeaderStatusMonitor leaderMonitor;
private final boolean notificationLogEnabled;
+ private final boolean hdfsSyncEnabled;
public SentryService(Configuration conf) throws Exception {
this.conf = conf;
@@ -165,6 +166,8 @@ public class SentryService implements Callable, SigUtils.SigListener {
notificationLogEnabled = conf.getBoolean(ServerConfig.SENTRY_NOTIFICATION_LOG_ENABLED,
ServerConfig.SENTRY_NOTIFICATION_LOG_ENABLED_DEFAULT);
+ hdfsSyncEnabled = SentryServiceUtil.isHDFSSyncEnabled(conf);
+
status = Status.NOT_STARTED;
// Enable signal handler for HA leader/follower status if configured
@@ -273,6 +276,11 @@ public class SentryService implements Callable, SigUtils.SigListener {
}
private void startHMSFollower(Configuration conf) throws Exception{
+ if (!hdfsSyncEnabled) {
+ LOGGER.info("HMS follower is not started because HDFS sync is disabled.");
+ return;
+ }
+
if (!notificationLogEnabled) {
return;
}
@@ -302,7 +310,7 @@ public class SentryService implements Callable, SigUtils.SigListener {
}
private void stopHMSFollower(Configuration conf) {
- if (!notificationLogEnabled) {
+ if (!notificationLogEnabled || !hdfsSyncEnabled) {
return;
}
http://git-wip-us.apache.org/repos/asf/sentry/blob/e4f6f22f/sentry-provider/sentry-provider-db/src/main/java/org/apache/sentry/service/thrift/SentryServiceUtil.java
----------------------------------------------------------------------
diff --git a/sentry-provider/sentry-provider-db/src/main/java/org/apache/sentry/service/thrift/SentryServiceUtil.java b/sentry-provider/sentry-provider-db/src/main/java/org/apache/sentry/service/thrift/SentryServiceUtil.java
index d58ee95..50e413c 100644
--- a/sentry-provider/sentry-provider-db/src/main/java/org/apache/sentry/service/thrift/SentryServiceUtil.java
+++ b/sentry-provider/sentry-provider-db/src/main/java/org/apache/sentry/service/thrift/SentryServiceUtil.java
@@ -18,11 +18,14 @@
package org.apache.sentry.service.thrift;
+import java.util.Arrays;
+import java.util.List;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.TimeUnit;
import com.google.common.base.Preconditions;
import org.apache.commons.lang.StringUtils;
+import org.apache.hadoop.conf.Configuration;
import org.slf4j.Logger;
public final class SentryServiceUtil {
@@ -63,6 +66,24 @@ public final class SentryServiceUtil {
}
}
+ /**
+ * Checks if Sentry is configured with HDFS sync enabled.
+ *
+ * @param conf The Configuration object where HDFS sync configurations are set.
+ * @return True if enabled; False otherwise.
+ */
+ static boolean isHDFSSyncEnabled(Configuration conf) {
+ List<String> processorFactories =
+ Arrays.asList(conf.get(ServiceConstants.ServerConfig.PROCESSOR_FACTORIES, "").split(","));
+
+ List<String> policyStorePlugins =
+ Arrays.asList(conf.get(ServiceConstants.ServerConfig.SENTRY_POLICY_STORE_PLUGINS, "").split(","));
+
+
+ return processorFactories.contains("org.apache.sentry.hdfs.SentryHDFSServiceProcessorFactory")
+ && policyStorePlugins.contains("org.apache.sentry.hdfs.SentryPlugin");
+ }
+
private SentryServiceUtil() {
// Make constructor private to avoid instantiation
}