You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@samza.apache.org by na...@apache.org on 2016/04/19 01:18:56 UTC
samza git commit: SAMZA-922 - Host Affinity - Bug in
SamzaContainerRequest causes (recoverable) exceptions in YARN
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 <ja...@gmail.com>
Authored: Mon Apr 18 16:18:36 2016 -0700
Committer: Navina Ramesh <nr...@linkedin.com>
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());
}
}