Repository: samza Updated Branches: refs/heads/master 1497bf6c2 -> d05f9ca38
SAMZA-922 - Host Affinity - Bug in SamzaContainerRequest causes (recoverable) exceptions in YARN Project: http://git-wip-us.apache.org/repos/asf/samza/repo Commit: http://git-wip-us.apache.org/repos/asf/samza/commit/d05f9ca3 Tree: http://git-wip-us.apache.org/repos/asf/samza/tree/d05f9ca3 Diff: http://git-wip-us.apache.org/repos/asf/samza/diff/d05f9ca3 Branch: refs/heads/master Commit: d05f9ca3822c4a9086827ccc9acf60ded9ad1600 Parents: 1497bf6 Author: Jacob Maes <[email protected]> Authored: Mon Apr 18 16:18:36 2016 -0700 Committer: Navina Ramesh <[email protected]> Committed: Mon Apr 18 16:18:36 2016 -0700 ---------------------------------------------------------------------- .../org/apache/samza/job/yarn/SamzaContainerRequest.java | 6 +++--- .../apache/samza/job/yarn/TestSamzaContainerRequest.java | 9 +++++++++ 2 files changed, 12 insertions(+), 3 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/samza/blob/d05f9ca3/samza-yarn/src/main/java/org/apache/samza/job/yarn/SamzaContainerRequest.java ---------------------------------------------------------------------- diff --git a/samza-yarn/src/main/java/org/apache/samza/job/yarn/SamzaContainerRequest.java b/samza-yarn/src/main/java/org/apache/samza/job/yarn/SamzaContainerRequest.java index a84e53f..4a04eb6 100644 --- a/samza-yarn/src/main/java/org/apache/samza/job/yarn/SamzaContainerRequest.java +++ b/samza-yarn/src/main/java/org/apache/samza/job/yarn/SamzaContainerRequest.java @@ -48,7 +48,7 @@ public class SamzaContainerRequest implements Comparable<SamzaContainerRequest> this.capability = Resource.newInstance(memoryMb, cpuCores); this.priority = Priority.newInstance(priority); this.expectedContainerId = expectedContainerId; - if (preferredHost == null) { + if (preferredHost == null || preferredHost.equals(ANY_HOST)) { this.preferredHost = ANY_HOST; this.issuedRequest = new AMRMClient.ContainerRequest(capability, null, null, this.priority); } else { @@ -63,8 +63,8 @@ public class SamzaContainerRequest implements Comparable<SamzaContainerRequest> this.requestTimestamp = System.currentTimeMillis(); } - // Convenience class for unit testing - public SamzaContainerRequest(int expectedContainerId, String preferredHost) { + // Convenience constructor for unit testing + protected SamzaContainerRequest(int expectedContainerId, String preferredHost) { this( AbstractContainerAllocator.DEFAULT_CONTAINER_MEM, AbstractContainerAllocator.DEFAULT_CPU_CORES, http://git-wip-us.apache.org/repos/asf/samza/blob/d05f9ca3/samza-yarn/src/test/java/org/apache/samza/job/yarn/TestSamzaContainerRequest.java ---------------------------------------------------------------------- diff --git a/samza-yarn/src/test/java/org/apache/samza/job/yarn/TestSamzaContainerRequest.java b/samza-yarn/src/test/java/org/apache/samza/job/yarn/TestSamzaContainerRequest.java index aefae65..ad0f4d3 100644 --- a/samza-yarn/src/test/java/org/apache/samza/job/yarn/TestSamzaContainerRequest.java +++ b/samza-yarn/src/test/java/org/apache/samza/job/yarn/TestSamzaContainerRequest.java @@ -21,6 +21,7 @@ package org.apache.samza.job.yarn; import org.junit.Test; import static org.junit.Assert.assertNotNull; +import static org.junit.Assert.assertNull; import static org.junit.Assert.assertTrue; public class TestSamzaContainerRequest { @@ -38,6 +39,14 @@ public class TestSamzaContainerRequest { SamzaContainerRequest request1 = new SamzaContainerRequest(1, "abc"); assertNotNull(request1.getPreferredHost()); assertTrue(request1.getPreferredHost().equals("abc")); + } + + @Test + public void testAnyHostIsNotPassedToYarnRequest() { + SamzaContainerRequest request = new SamzaContainerRequest(0, null); + assertNull(request.getIssuedRequest().getNodes()); + SamzaContainerRequest request1 = new SamzaContainerRequest(1, ANY_HOST); + assertNull(request1.getIssuedRequest().getNodes()); } }
