You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@flink.apache.org by GitBox <gi...@apache.org> on 2018/09/14 12:37:35 UTC

[GitHub] yanghua commented on a change in pull request #6689: [FLINK-8247] [Mesos] Support case where hadoop is not on classpath

yanghua commented on a change in pull request #6689: [FLINK-8247] [Mesos] Support case where hadoop is not on classpath
URL: https://github.com/apache/flink/pull/6689#discussion_r217696973
 
 

 ##########
 File path: flink-runtime/src/main/java/org/apache/flink/runtime/clusterframework/overlays/HadoopUserOverlay.java
 ##########
 @@ -57,24 +57,58 @@ public void configure(ContainerSpecification container) throws IOException {
 	}
 
 	public static Builder newBuilder() {
-		return new Builder();
+		// First check if we have Hadoop in the ClassPath. If not, we simply don't do anything.
+		try {
+			Class.forName(
+				"org.apache.hadoop.security.UserGroupInformation",
+				false,
+				HadoopUserOverlay.class.getClassLoader());
+		} catch (ClassNotFoundException e) {
+			LOG.info("Cannot create Hadoop User Overlay because Hadoop cannot be found in the Classpath.");
+			return new NoOpHadoopUserOverlayBuilder();
+		}
+
+		return new HadoopUserOverlayBuilder();
 	}
 
 	/**
 	 * A builder for the {@link HadoopUserOverlay}.
 	 */
-	public static class Builder {
+	public interface Builder {
+		/**
+		 * Configures the overlay using the current Hadoop user information (from {@link UserGroupInformation}).
+		 */
+		Builder fromEnvironment(Configuration globalConfiguration) throws IOException;
+
+		HadoopUserOverlay build();
+	}
+
+	/**
+	 * A builder for {@link HadoopUserOverlay} for when hadoop doesn't exist on the classpath
 
 Review comment:
   remove the second `for`?

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
users@infra.apache.org


With regards,
Apache Git Services