You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@flink.apache.org by tr...@apache.org on 2018/02/28 22:02:40 UTC

[1/5] flink git commit: [hotfix] Add missing space to log message in ZooKeeperLeaderElectionService

Repository: flink
Updated Branches:
  refs/heads/master 273fea4aa -> 45397fe97


[hotfix] Add missing space to log message in ZooKeeperLeaderElectionService


Project: http://git-wip-us.apache.org/repos/asf/flink/repo
Commit: http://git-wip-us.apache.org/repos/asf/flink/commit/b19769db
Tree: http://git-wip-us.apache.org/repos/asf/flink/tree/b19769db
Diff: http://git-wip-us.apache.org/repos/asf/flink/diff/b19769db

Branch: refs/heads/master
Commit: b19769db7f916b2eb40a9a68c0ee60d0b27da0a2
Parents: 273fea4
Author: gyao <ga...@data-artisans.com>
Authored: Wed Feb 28 13:04:19 2018 +0100
Committer: Till Rohrmann <tr...@apache.org>
Committed: Wed Feb 28 18:37:12 2018 +0100

----------------------------------------------------------------------
 .../runtime/leaderelection/ZooKeeperLeaderElectionService.java     | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/flink/blob/b19769db/flink-runtime/src/main/java/org/apache/flink/runtime/leaderelection/ZooKeeperLeaderElectionService.java
----------------------------------------------------------------------
diff --git a/flink-runtime/src/main/java/org/apache/flink/runtime/leaderelection/ZooKeeperLeaderElectionService.java b/flink-runtime/src/main/java/org/apache/flink/runtime/leaderelection/ZooKeeperLeaderElectionService.java
index 59d3592..dc0f3ae 100644
--- a/flink-runtime/src/main/java/org/apache/flink/runtime/leaderelection/ZooKeeperLeaderElectionService.java
+++ b/flink-runtime/src/main/java/org/apache/flink/runtime/leaderelection/ZooKeeperLeaderElectionService.java
@@ -199,7 +199,7 @@ public class ZooKeeperLeaderElectionService implements LeaderElectionService, Le
 				}
 			}
 		} else {
-			LOG.warn("The leader session ID {} was confirmed even though the" +
+			LOG.warn("The leader session ID {} was confirmed even though the " +
 					"corresponding JobManager was not elected as the leader.", leaderSessionID);
 		}
 	}


[4/5] flink git commit: [hotfix][tests] Fix wrong assertEquals in YARNSessionCapacitySchedulerITCase

Posted by tr...@apache.org.
[hotfix][tests] Fix wrong assertEquals in YARNSessionCapacitySchedulerITCase

Test swapped actual and expected arguments.
Remove catching Throwable in test; instead propagate all exceptions.


Project: http://git-wip-us.apache.org/repos/asf/flink/repo
Commit: http://git-wip-us.apache.org/repos/asf/flink/commit/035257e4
Tree: http://git-wip-us.apache.org/repos/asf/flink/tree/035257e4
Diff: http://git-wip-us.apache.org/repos/asf/flink/diff/035257e4

Branch: refs/heads/master
Commit: 035257e425133de9368bbef268c38f179bdc68c2
Parents: f409f92
Author: gyao <ga...@data-artisans.com>
Authored: Wed Feb 28 13:08:25 2018 +0100
Committer: Till Rohrmann <tr...@apache.org>
Committed: Wed Feb 28 18:37:14 2018 +0100

----------------------------------------------------------------------
 .../flink/yarn/YARNSessionCapacitySchedulerITCase.java   | 11 ++++-------
 1 file changed, 4 insertions(+), 7 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/flink/blob/035257e4/flink-yarn-tests/src/test/java/org/apache/flink/yarn/YARNSessionCapacitySchedulerITCase.java
----------------------------------------------------------------------
diff --git a/flink-yarn-tests/src/test/java/org/apache/flink/yarn/YARNSessionCapacitySchedulerITCase.java b/flink-yarn-tests/src/test/java/org/apache/flink/yarn/YARNSessionCapacitySchedulerITCase.java
index 3a674ad..d00a9c4 100644
--- a/flink-yarn-tests/src/test/java/org/apache/flink/yarn/YARNSessionCapacitySchedulerITCase.java
+++ b/flink-yarn-tests/src/test/java/org/apache/flink/yarn/YARNSessionCapacitySchedulerITCase.java
@@ -416,7 +416,7 @@ public class YARNSessionCapacitySchedulerITCase extends YarnTestBase {
 	 * Test a fire-and-forget job submission to a YARN cluster.
 	 */
 	@Test(timeout = 60000)
-	public void testDetachedPerJobYarnCluster() throws IOException {
+	public void testDetachedPerJobYarnCluster() throws Exception {
 		LOG.info("Starting testDetachedPerJobYarnCluster()");
 
 		File exampleJarLocation = new File("target/programs/BatchWordCount.jar");
@@ -432,7 +432,7 @@ public class YARNSessionCapacitySchedulerITCase extends YarnTestBase {
 	 * Test a fire-and-forget job submission to a YARN cluster.
 	 */
 	@Test(timeout = 60000)
-	public void testDetachedPerJobYarnClusterWithStreamingJob() throws IOException {
+	public void testDetachedPerJobYarnClusterWithStreamingJob() throws Exception {
 		LOG.info("Starting testDetachedPerJobYarnClusterWithStreamingJob()");
 
 		File exampleJarLocation = new File("target/programs/StreamingWordCount.jar");
@@ -444,7 +444,7 @@ public class YARNSessionCapacitySchedulerITCase extends YarnTestBase {
 		LOG.info("Finished testDetachedPerJobYarnClusterWithStreamingJob()");
 	}
 
-	private void testDetachedPerJobYarnClusterInternal(String job) throws IOException {
+	private void testDetachedPerJobYarnClusterInternal(String job) throws Exception {
 		YarnClient yc = YarnClient.createYarnClient();
 		yc.init(YARN_CONFIGURATION);
 		yc.start();
@@ -575,9 +575,6 @@ public class YARNSessionCapacitySchedulerITCase extends YarnTestBase {
 			} while (rep.getYarnApplicationState() == YarnApplicationState.RUNNING);
 
 			verifyApplicationTags(rep);
-		} catch (Throwable t) {
-			LOG.warn("Error while detached yarn session was running", t);
-			Assert.fail(t.getMessage());
 		} finally {
 
 			//cleanup the yarn-properties file
@@ -625,7 +622,7 @@ public class YARNSessionCapacitySchedulerITCase extends YarnTestBase {
 		@SuppressWarnings("unchecked")
 		Set<String> applicationTags = (Set<String>) applicationTagsMethod.invoke(report);
 
-		Assert.assertEquals(applicationTags, Collections.singleton("test-tag"));
+		Assert.assertEquals(Collections.singleton("test-tag"), applicationTags);
 	}
 
 	@After


[5/5] flink git commit: [FLINK-7805][flip6] Recover YARN containers after AM restart.

Posted by tr...@apache.org.
[FLINK-7805][flip6] Recover YARN containers after AM restart.

Recover previously running containers after a restart of the ApplicationMaster.
This is a port of a feature that was already implemented prior to FLIP-6.
Extract RegisterApplicationMasterResponseReflector class into separate file.

This closes #5597.


Project: http://git-wip-us.apache.org/repos/asf/flink/repo
Commit: http://git-wip-us.apache.org/repos/asf/flink/commit/45397fe9
Tree: http://git-wip-us.apache.org/repos/asf/flink/tree/45397fe9
Diff: http://git-wip-us.apache.org/repos/asf/flink/diff/45397fe9

Branch: refs/heads/master
Commit: 45397fe974e1390cd39a34fc2eb216f3771ddf06
Parents: 035257e
Author: gyao <ga...@data-artisans.com>
Authored: Wed Feb 28 13:20:23 2018 +0100
Committer: Till Rohrmann <tr...@apache.org>
Committed: Wed Feb 28 18:41:53 2018 +0100

----------------------------------------------------------------------
 ...isterApplicationMasterResponseReflector.java | 102 ++++++++++++++++
 .../flink/yarn/YarnFlinkResourceManager.java    |  52 ---------
 .../apache/flink/yarn/YarnResourceManager.java  |  17 ++-
 ...rApplicationMasterResponseReflectorTest.java | 117 +++++++++++++++++++
 4 files changed, 235 insertions(+), 53 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/flink/blob/45397fe9/flink-yarn/src/main/java/org/apache/flink/yarn/RegisterApplicationMasterResponseReflector.java
----------------------------------------------------------------------
diff --git a/flink-yarn/src/main/java/org/apache/flink/yarn/RegisterApplicationMasterResponseReflector.java b/flink-yarn/src/main/java/org/apache/flink/yarn/RegisterApplicationMasterResponseReflector.java
new file mode 100644
index 0000000..13b5745
--- /dev/null
+++ b/flink-yarn/src/main/java/org/apache/flink/yarn/RegisterApplicationMasterResponseReflector.java
@@ -0,0 +1,102 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.flink.yarn;
+
+import org.apache.flink.annotation.VisibleForTesting;
+
+import org.apache.hadoop.yarn.api.protocolrecords.RegisterApplicationMasterResponse;
+import org.apache.hadoop.yarn.api.records.Container;
+import org.slf4j.Logger;
+
+import java.lang.reflect.Method;
+import java.util.Collections;
+import java.util.List;
+
+import static java.util.Objects.requireNonNull;
+
+/**
+ * Looks up the method {@link RegisterApplicationMasterResponse#getContainersFromPreviousAttempts()}
+ * once and saves the method. This saves computation time on subsequent calls.
+ */
+class RegisterApplicationMasterResponseReflector {
+
+	private final Logger logger;
+
+	/**
+	 * Reflected method {@link RegisterApplicationMasterResponse#getContainersFromPreviousAttempts()}.
+	 */
+	private Method method;
+
+	RegisterApplicationMasterResponseReflector(final Logger log) {
+		this(log, RegisterApplicationMasterResponse.class);
+	}
+
+	@VisibleForTesting
+	RegisterApplicationMasterResponseReflector(final Logger log, final Class<?> clazz) {
+		this.logger = requireNonNull(log);
+		requireNonNull(clazz);
+
+		try {
+			method = clazz.getMethod("getContainersFromPreviousAttempts");
+		} catch (NoSuchMethodException e) {
+			// that happens in earlier Hadoop versions (pre 2.2)
+			logger.info("Cannot reconnect to previously allocated containers. " +
+				"This YARN version does not support 'getContainersFromPreviousAttempts()'");
+		}
+	}
+
+	/**
+	 * Checks if a YARN application still has registered containers. If the application master
+	 * registered at the ResourceManager for the first time, this list will be empty. If the
+	 * application master registered a repeated time (after a failure and recovery), this list
+	 * will contain the containers that were previously allocated.
+	 *
+	 * @param response The response object from the registration at the ResourceManager.
+	 * @return A list with containers from previous application attempt.
+	 */
+	List<Container> getContainersFromPreviousAttempts(final RegisterApplicationMasterResponse response) {
+		return getContainersFromPreviousAttemptsUnsafe(response);
+	}
+
+	/**
+	 * Same as {@link #getContainersFromPreviousAttempts(RegisterApplicationMasterResponse)} but
+	 * allows to pass objects that are not of type {@link RegisterApplicationMasterResponse}.
+	 */
+	@VisibleForTesting
+	List<Container> getContainersFromPreviousAttemptsUnsafe(final Object response) {
+		if (method != null && response != null) {
+			try {
+				@SuppressWarnings("unchecked")
+				final List<Container> containers = (List<Container>) method.invoke(response);
+				if (containers != null && !containers.isEmpty()) {
+					return containers;
+				}
+			} catch (Exception t) {
+				logger.error("Error invoking 'getContainersFromPreviousAttempts()'", t);
+			}
+		}
+
+		return Collections.emptyList();
+	}
+
+	@VisibleForTesting
+	Method getMethod() {
+		return method;
+	}
+}

http://git-wip-us.apache.org/repos/asf/flink/blob/45397fe9/flink-yarn/src/main/java/org/apache/flink/yarn/YarnFlinkResourceManager.java
----------------------------------------------------------------------
diff --git a/flink-yarn/src/main/java/org/apache/flink/yarn/YarnFlinkResourceManager.java b/flink-yarn/src/main/java/org/apache/flink/yarn/YarnFlinkResourceManager.java
index 4d8142f..8e686bb 100644
--- a/flink-yarn/src/main/java/org/apache/flink/yarn/YarnFlinkResourceManager.java
+++ b/flink-yarn/src/main/java/org/apache/flink/yarn/YarnFlinkResourceManager.java
@@ -47,10 +47,8 @@ import org.apache.hadoop.yarn.client.api.async.AMRMClientAsync;
 import org.apache.hadoop.yarn.conf.YarnConfiguration;
 import org.slf4j.Logger;
 
-import java.lang.reflect.Method;
 import java.util.ArrayList;
 import java.util.Collection;
-import java.util.Collections;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
@@ -616,56 +614,6 @@ public class YarnFlinkResourceManager extends FlinkResourceManager<RegisteredYar
 		}
 	}
 
-	/**
-	 * Looks up the getContainersFromPreviousAttempts method on RegisterApplicationMasterResponse
-	 * once and saves the method. This saves computation time on the sequent calls.
-	 */
-	private static class RegisterApplicationMasterResponseReflector {
-
-		private Logger logger;
-		private Method method;
-
-		public RegisterApplicationMasterResponseReflector(Logger log) {
-			this.logger = log;
-
-			try {
-				method = RegisterApplicationMasterResponse.class
-					.getMethod("getContainersFromPreviousAttempts");
-
-			} catch (NoSuchMethodException e) {
-				// that happens in earlier Hadoop versions
-				logger.info("Cannot reconnect to previously allocated containers. " +
-					"This YARN version does not support 'getContainersFromPreviousAttempts()'");
-			}
-		}
-
-		/**
-		 * Checks if a YARN application still has registered containers. If the application master
-		 * registered at the ResourceManager for the first time, this list will be empty. If the
-		 * application master registered a repeated time (after a failure and recovery), this list
-		 * will contain the containers that were previously allocated.
-		 *
-		 * @param response The response object from the registration at the ResourceManager.
-		 * @return A list with containers from previous application attempt.
-		 */
-		private List<Container> getContainersFromPreviousAttempts(RegisterApplicationMasterResponse response) {
-			if (method != null && response != null) {
-				try {
-					@SuppressWarnings("unchecked")
-					List<Container> list = (List<Container>) method.invoke(response);
-					if (list != null && !list.isEmpty()) {
-						return list;
-					}
-				} catch (Throwable t) {
-					logger.error("Error invoking 'getContainersFromPreviousAttempts()'", t);
-				}
-			}
-
-			return Collections.emptyList();
-		}
-
-	}
-
 	// ------------------------------------------------------------------------
 	//  Actor props factory
 	// ------------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/flink/blob/45397fe9/flink-yarn/src/main/java/org/apache/flink/yarn/YarnResourceManager.java
----------------------------------------------------------------------
diff --git a/flink-yarn/src/main/java/org/apache/flink/yarn/YarnResourceManager.java b/flink-yarn/src/main/java/org/apache/flink/yarn/YarnResourceManager.java
index 5380356..f3ec04b 100644
--- a/flink-yarn/src/main/java/org/apache/flink/yarn/YarnResourceManager.java
+++ b/flink-yarn/src/main/java/org/apache/flink/yarn/YarnResourceManager.java
@@ -41,6 +41,7 @@ import org.apache.flink.util.FlinkException;
 import org.apache.flink.yarn.configuration.YarnConfigOptions;
 
 import org.apache.hadoop.yarn.api.ApplicationConstants;
+import org.apache.hadoop.yarn.api.protocolrecords.RegisterApplicationMasterResponse;
 import org.apache.hadoop.yarn.api.records.Container;
 import org.apache.hadoop.yarn.api.records.ContainerLaunchContext;
 import org.apache.hadoop.yarn.api.records.ContainerStatus;
@@ -192,11 +193,24 @@ public class YarnResourceManager extends ResourceManager<YarnWorkerNode> impleme
 			restPort = -1;
 		}
 
-		resourceManagerClient.registerApplicationMaster(hostPort.f0, restPort, webInterfaceUrl);
+		final RegisterApplicationMasterResponse registerApplicationMasterResponse =
+			resourceManagerClient.registerApplicationMaster(hostPort.f0, restPort, webInterfaceUrl);
+		getContainersFromPreviousAttempts(registerApplicationMasterResponse);
 
 		return resourceManagerClient;
 	}
 
+	private void getContainersFromPreviousAttempts(final RegisterApplicationMasterResponse registerApplicationMasterResponse) {
+		final List<Container> containersFromPreviousAttempts =
+			new RegisterApplicationMasterResponseReflector(log).getContainersFromPreviousAttempts(registerApplicationMasterResponse);
+
+		log.info("Recovered {} containers from previous attempts ({}).", containersFromPreviousAttempts.size(), containersFromPreviousAttempts);
+
+		for (final Container container : containersFromPreviousAttempts) {
+			workerNodeMap.put(new ResourceID(container.getId().toString()), new YarnWorkerNode(container));
+		}
+	}
+
 	protected NMClient createAndStartNodeManagerClient(YarnConfiguration yarnConfiguration) {
 		// create the client to communicate with the node managers
 		NMClient nodeManagerClient = NMClient.createNMClient();
@@ -315,6 +329,7 @@ public class YarnResourceManager extends ResourceManager<YarnWorkerNode> impleme
 				closeTaskManagerConnection(new ResourceID(
 					container.getContainerId().toString()), new Exception(container.getDiagnostics()));
 			}
+			workerNodeMap.remove(new ResourceID(container.getContainerId().toString()));
 		}
 	}
 

http://git-wip-us.apache.org/repos/asf/flink/blob/45397fe9/flink-yarn/src/test/java/org/apache/flink/yarn/RegisterApplicationMasterResponseReflectorTest.java
----------------------------------------------------------------------
diff --git a/flink-yarn/src/test/java/org/apache/flink/yarn/RegisterApplicationMasterResponseReflectorTest.java b/flink-yarn/src/test/java/org/apache/flink/yarn/RegisterApplicationMasterResponseReflectorTest.java
new file mode 100644
index 0000000..af33e65
--- /dev/null
+++ b/flink-yarn/src/test/java/org/apache/flink/yarn/RegisterApplicationMasterResponseReflectorTest.java
@@ -0,0 +1,117 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.flink.yarn;
+
+import org.apache.flink.util.TestLogger;
+
+import org.apache.hadoop.util.VersionInfo;
+import org.apache.hadoop.yarn.api.protocolrecords.RegisterApplicationMasterResponse;
+import org.apache.hadoop.yarn.api.records.Container;
+import org.junit.Before;
+import org.junit.Test;
+import org.mockito.Mock;
+import org.mockito.MockitoAnnotations;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import java.lang.reflect.Method;
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.List;
+
+import static org.hamcrest.Matchers.empty;
+import static org.hamcrest.Matchers.hasSize;
+import static org.hamcrest.Matchers.notNullValue;
+import static org.junit.Assert.assertThat;
+import static org.junit.Assume.assumeTrue;
+
+/**
+ * Tests for {@link RegisterApplicationMasterResponseReflector}.
+ */
+public class RegisterApplicationMasterResponseReflectorTest extends TestLogger {
+
+	private static final Logger LOG = LoggerFactory.getLogger(RegisterApplicationMasterResponseReflectorTest.class);
+
+	@Mock
+	private Container mockContainer;
+
+	@Before
+	public void setUp() {
+		MockitoAnnotations.initMocks(this);
+	}
+
+	@Test
+	public void testCallsMethodIfPresent() {
+		final RegisterApplicationMasterResponseReflector registerApplicationMasterResponseReflector =
+			new RegisterApplicationMasterResponseReflector(LOG, HasMethod.class);
+
+		final List<Container> containersFromPreviousAttemptsUnsafe =
+			registerApplicationMasterResponseReflector.getContainersFromPreviousAttemptsUnsafe(new
+				HasMethod());
+
+		assertThat(containersFromPreviousAttemptsUnsafe, hasSize(1));
+	}
+
+	@Test
+	public void testDoesntCallMethodIfAbsent() {
+		final RegisterApplicationMasterResponseReflector registerApplicationMasterResponseReflector =
+			new RegisterApplicationMasterResponseReflector(LOG, HasMethod.class);
+
+		final List<Container> containersFromPreviousAttemptsUnsafe =
+			registerApplicationMasterResponseReflector.getContainersFromPreviousAttemptsUnsafe(new
+				Object());
+
+		assertThat(containersFromPreviousAttemptsUnsafe, empty());
+	}
+
+	@Test
+	public void testGetMethodReflectiveHadoop22() {
+		assumeTrue(
+			"Method getContainersFromPreviousAttempts is not supported by Hadoop: " +
+				VersionInfo.getVersion(),
+			isHadoopVersionGreaterThanOrEquals(2, 2));
+
+		final RegisterApplicationMasterResponseReflector registerApplicationMasterResponseReflector =
+			new RegisterApplicationMasterResponseReflector(LOG);
+
+		final Method method = registerApplicationMasterResponseReflector.getMethod();
+		assertThat(method, notNullValue());
+	}
+
+	private static boolean isHadoopVersionGreaterThanOrEquals(final int major, final int minor) {
+		final String[] splitVersion = VersionInfo.getVersion().split("\\.");
+		final int[] versions = Arrays.stream(splitVersion).mapToInt(Integer::parseInt).toArray();
+		return versions[0] >= major && versions[1] >= minor;
+	}
+
+	/**
+	 * Class which has a method with the same signature as
+	 * {@link RegisterApplicationMasterResponse#getContainersFromPreviousAttempts()}.
+	 */
+	private class HasMethod {
+
+		/**
+		 * Called from {@link #testCallsMethodIfPresent()}.
+		 */
+		@SuppressWarnings("unused")
+		public List<Container> getContainersFromPreviousAttempts() {
+			return Collections.singletonList(mockContainer);
+		}
+	}
+}


[2/5] flink git commit: [hotfix][Javadoc] Fix typo in YarnTestBase: teh -> the

Posted by tr...@apache.org.
[hotfix][Javadoc] Fix typo in YarnTestBase: teh -> the


Project: http://git-wip-us.apache.org/repos/asf/flink/repo
Commit: http://git-wip-us.apache.org/repos/asf/flink/commit/f409f920
Tree: http://git-wip-us.apache.org/repos/asf/flink/tree/f409f920
Diff: http://git-wip-us.apache.org/repos/asf/flink/diff/f409f920

Branch: refs/heads/master
Commit: f409f9208f340a6b741818a56a9a07b236fb0a7f
Parents: 1987445
Author: gyao <ga...@data-artisans.com>
Authored: Wed Feb 28 13:07:04 2018 +0100
Committer: Till Rohrmann <tr...@apache.org>
Committed: Wed Feb 28 18:37:13 2018 +0100

----------------------------------------------------------------------
 .../src/test/java/org/apache/flink/yarn/YarnTestBase.java          | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/flink/blob/f409f920/flink-yarn-tests/src/test/java/org/apache/flink/yarn/YarnTestBase.java
----------------------------------------------------------------------
diff --git a/flink-yarn-tests/src/test/java/org/apache/flink/yarn/YarnTestBase.java b/flink-yarn-tests/src/test/java/org/apache/flink/yarn/YarnTestBase.java
index c863e14..7bca321 100644
--- a/flink-yarn-tests/src/test/java/org/apache/flink/yarn/YarnTestBase.java
+++ b/flink-yarn-tests/src/test/java/org/apache/flink/yarn/YarnTestBase.java
@@ -102,7 +102,7 @@ public abstract class YarnTestBase extends TestLogger {
 			"Started SelectChannelConnector@0.0.0.0:8081" // Jetty should start on a random port in YARN mode.
 	};
 
-	/** These strings are white-listed, overriding teh prohibited strings. */
+	/** These strings are white-listed, overriding the prohibited strings. */
 	protected static final String[] WHITELISTED_STRINGS = {
 		"akka.remote.RemoteTransportExceptionNoStackTrace",
 		// workaround for annoying InterruptedException logging:


[3/5] flink git commit: [hotfix][Javadoc] Fix typo in YARN Utils: teh -> the

Posted by tr...@apache.org.
[hotfix][Javadoc] Fix typo in YARN Utils: teh -> the


Project: http://git-wip-us.apache.org/repos/asf/flink/repo
Commit: http://git-wip-us.apache.org/repos/asf/flink/commit/19874459
Tree: http://git-wip-us.apache.org/repos/asf/flink/tree/19874459
Diff: http://git-wip-us.apache.org/repos/asf/flink/diff/19874459

Branch: refs/heads/master
Commit: 19874459d5fc750158eea9dcc54be81d5d4e08c9
Parents: b19769d
Author: gyao <ga...@data-artisans.com>
Authored: Wed Feb 28 13:06:00 2018 +0100
Committer: Till Rohrmann <tr...@apache.org>
Committed: Wed Feb 28 18:37:13 2018 +0100

----------------------------------------------------------------------
 flink-yarn/src/main/java/org/apache/flink/yarn/Utils.java | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/flink/blob/19874459/flink-yarn/src/main/java/org/apache/flink/yarn/Utils.java
----------------------------------------------------------------------
diff --git a/flink-yarn/src/main/java/org/apache/flink/yarn/Utils.java b/flink-yarn/src/main/java/org/apache/flink/yarn/Utils.java
index 9ae5b54..ff2478e 100644
--- a/flink-yarn/src/main/java/org/apache/flink/yarn/Utils.java
+++ b/flink-yarn/src/main/java/org/apache/flink/yarn/Utils.java
@@ -320,7 +320,7 @@ public final class Utils {
 	 *
 	 * @return The launch context for the TaskManager processes.
 	 *
-	 * @throws Exception Thrown if teh launch context could not be created, for example if
+	 * @throws Exception Thrown if the launch context could not be created, for example if
 	 *				   the resources could not be copied.
 	 */
 	static ContainerLaunchContext createTaskExecutorContext(