SLIDER-1130 Hadoop 2.8 YARN changes have broken slider. See also YARN-5135: 
ContainerRequest labels ignored -broken constructor


Project: http://git-wip-us.apache.org/repos/asf/incubator-slider/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-slider/commit/80fe8c7e
Tree: http://git-wip-us.apache.org/repos/asf/incubator-slider/tree/80fe8c7e
Diff: http://git-wip-us.apache.org/repos/asf/incubator-slider/diff/80fe8c7e

Branch: refs/heads/feature/SLIDER-1107_AM_config_generation
Commit: 80fe8c7e04a933885ab0f623216940861b233b5f
Parents: 9937bbc
Author: Steve Loughran <ste...@apache.org>
Authored: Tue May 24 17:59:58 2016 +0100
Committer: Steve Loughran <ste...@apache.org>
Committed: Tue May 24 17:59:58 2016 +0100

----------------------------------------------------------------------
 .../appmaster/state/OutstandingRequest.java     |  2 ++
 .../appstate/TestMockAppStateAAPlacement.groovy |  6 ++---
 .../appstate/TestMockLabelledAAPlacement.groovy |  4 +--
 .../TestOutstandingRequestValidation.groovy     | 26 --------------------
 ...tRoleHistoryOutstandingRequestTracker.groovy |  5 +++-
 .../appmaster/model/mock/MockYarnCluster.groovy |  2 +-
 6 files changed, 12 insertions(+), 33 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-slider/blob/80fe8c7e/slider-core/src/main/java/org/apache/slider/server/appmaster/state/OutstandingRequest.java
----------------------------------------------------------------------
diff --git 
a/slider-core/src/main/java/org/apache/slider/server/appmaster/state/OutstandingRequest.java
 
b/slider-core/src/main/java/org/apache/slider/server/appmaster/state/OutstandingRequest.java
index e0b01a1..c6524be 100644
--- 
a/slider-core/src/main/java/org/apache/slider/server/appmaster/state/OutstandingRequest.java
+++ 
b/slider-core/src/main/java/org/apache/slider/server/appmaster/state/OutstandingRequest.java
@@ -283,6 +283,7 @@ public final class OutstandingRequest extends 
RoleHostnamePair {
    */
   public synchronized AMRMClient.ContainerRequest escalate() {
     Preconditions.checkNotNull(issuedRequest, "cannot escalate if request not 
issued " + this);
+    log.debug("Escalating {}", this.toString());
     escalated = true;
 
     // this is now the priority
@@ -352,6 +353,7 @@ public final class OutstandingRequest extends 
RoleHostnamePair {
     }
     sb.append(", node=").append(node);
     sb.append(", hasLocation=").append(requestHasLocation);
+    sb.append(", label=").append(label);
     sb.append(", requestedTimeMillis=").append(requestedTimeMillis);
     sb.append(", mayEscalate=").append(mayEscalate);
     sb.append(", escalated=").append(escalated);

http://git-wip-us.apache.org/repos/asf/incubator-slider/blob/80fe8c7e/slider-core/src/test/groovy/org/apache/slider/server/appmaster/model/appstate/TestMockAppStateAAPlacement.groovy
----------------------------------------------------------------------
diff --git 
a/slider-core/src/test/groovy/org/apache/slider/server/appmaster/model/appstate/TestMockAppStateAAPlacement.groovy
 
b/slider-core/src/test/groovy/org/apache/slider/server/appmaster/model/appstate/TestMockAppStateAAPlacement.groovy
index 85c09ff..125b1f4 100644
--- 
a/slider-core/src/test/groovy/org/apache/slider/server/appmaster/model/appstate/TestMockAppStateAAPlacement.groovy
+++ 
b/slider-core/src/test/groovy/org/apache/slider/server/appmaster/model/appstate/TestMockAppStateAAPlacement.groovy
@@ -57,7 +57,7 @@ class TestMockAppStateAAPlacement extends 
BaseMockAppStateAATest
   }
 
   /**
-   * This is the simplest AA allocation: no lables, so allocate anywhere
+   * This is the simplest AA allocation: no labels, so allocate anywhere
    * @throws Throwable
    */
   @Test
@@ -218,7 +218,7 @@ class TestMockAppStateAAPlacement extends 
BaseMockAppStateAATest
 
     // flex down so that the next request should be cancelled
     aaRole.desired = 0
-    // expect: no new reqests, pending count --
+    // expect: no new requests, pending count --
     List<AbstractRMOperation> ops2 = appState.reviewRequestAndReleaseNodes()
     assert aaRole.pendingAntiAffineRequests == 0
     assert !aaRole.AARequestOutstanding
@@ -281,7 +281,7 @@ class TestMockAppStateAAPlacement extends 
BaseMockAppStateAATest
   }
 
   protected AppState.NodeUpdatedOutcome addNewNode() {
-    updateNodes(MockFactory.newNodeReport("4", NodeState.RUNNING, "gpu"))
+    updateNodes(MockFactory.instance.newNodeReport("4", NodeState.RUNNING, 
"gpu"))
   }
 
   @Test

http://git-wip-us.apache.org/repos/asf/incubator-slider/blob/80fe8c7e/slider-core/src/test/groovy/org/apache/slider/server/appmaster/model/appstate/TestMockLabelledAAPlacement.groovy
----------------------------------------------------------------------
diff --git 
a/slider-core/src/test/groovy/org/apache/slider/server/appmaster/model/appstate/TestMockLabelledAAPlacement.groovy
 
b/slider-core/src/test/groovy/org/apache/slider/server/appmaster/model/appstate/TestMockLabelledAAPlacement.groovy
index b2e2a74..e159dbb 100644
--- 
a/slider-core/src/test/groovy/org/apache/slider/server/appmaster/model/appstate/TestMockLabelledAAPlacement.groovy
+++ 
b/slider-core/src/test/groovy/org/apache/slider/server/appmaster/model/appstate/TestMockLabelledAAPlacement.groovy
@@ -48,8 +48,8 @@ class TestMockLabelledAAPlacement extends 
BaseMockAppStateAATest
     super.setup()
     // node 1 is GPU
 
-    updateNodes(MockFactory.newNodeReport(HOST0, NodeState.RUNNING, LABEL_GPU))
-    updateNodes(MockFactory.newNodeReport(HOST1, NodeState.RUNNING, LABEL_GPU))
+    updateNodes(MockFactory.instance.newNodeReport(HOST0, NodeState.RUNNING, 
LABEL_GPU))
+    updateNodes(MockFactory.instance.newNodeReport(HOST1, NodeState.RUNNING, 
LABEL_GPU))
   }
 
   @Override

http://git-wip-us.apache.org/repos/asf/incubator-slider/blob/80fe8c7e/slider-core/src/test/groovy/org/apache/slider/server/appmaster/model/appstate/TestOutstandingRequestValidation.groovy
----------------------------------------------------------------------
diff --git 
a/slider-core/src/test/groovy/org/apache/slider/server/appmaster/model/appstate/TestOutstandingRequestValidation.groovy
 
b/slider-core/src/test/groovy/org/apache/slider/server/appmaster/model/appstate/TestOutstandingRequestValidation.groovy
index 9202b5c..fb9d976 100644
--- 
a/slider-core/src/test/groovy/org/apache/slider/server/appmaster/model/appstate/TestOutstandingRequestValidation.groovy
+++ 
b/slider-core/src/test/groovy/org/apache/slider/server/appmaster/model/appstate/TestOutstandingRequestValidation.groovy
@@ -55,21 +55,6 @@ class TestOutstandingRequestValidation extends 
SliderTestBase {
     createAndValidate(H1, "", true)
   }
 
-  @Test
-  public void testLabelAndHostRelaxed() throws Throwable {
-    expectValidationFailure(H1, "gpu", true)
-  }
-
-  @Test
-  public void testLabelAndHostNonRelaxed() throws Throwable {
-    expectValidationFailure(H1, "gpu", false)
-  }
-
-  @Test
-  public void testComplexLabelExpression() throws Throwable {
-     expectValidationFailure(null, "gpu||ps4", true)
-  }
-
   /**
    * Use varargs for simple list to array conversion
    * @param hostnames host names
@@ -79,17 +64,6 @@ class TestOutstandingRequestValidation extends 
SliderTestBase {
     hostnames
   }
 
-  void expectValidationFailure(
-    String[] hosts,
-    String labels,
-    boolean relaxLocality) {
-    try {
-      def result = createAndValidate(hosts, labels, relaxLocality)
-      fail("Expected an exception, got $result")
-    } catch (InvalidContainerRequestException expected) {
-    }
-  }
-
   void expectCreationFailure(
     String[] hosts,
     String labels,

http://git-wip-us.apache.org/repos/asf/incubator-slider/blob/80fe8c7e/slider-core/src/test/groovy/org/apache/slider/server/appmaster/model/history/TestRoleHistoryOutstandingRequestTracker.groovy
----------------------------------------------------------------------
diff --git 
a/slider-core/src/test/groovy/org/apache/slider/server/appmaster/model/history/TestRoleHistoryOutstandingRequestTracker.groovy
 
b/slider-core/src/test/groovy/org/apache/slider/server/appmaster/model/history/TestRoleHistoryOutstandingRequestTracker.groovy
index 6969b38..0969824 100644
--- 
a/slider-core/src/test/groovy/org/apache/slider/server/appmaster/model/history/TestRoleHistoryOutstandingRequestTracker.groovy
+++ 
b/slider-core/src/test/groovy/org/apache/slider/server/appmaster/model/history/TestRoleHistoryOutstandingRequestTracker.groovy
@@ -238,12 +238,15 @@ class TestRoleHistoryOutstandingRequestTracker extends 
BaseMockAppStateTest  {
     def workerRole = lookupRole(WORKER.name)
     // initial request
     def yarnRequest = req1.buildContainerRequest(resource, workerRole, 0)
+    assert (req1.label == WORKERS_LABEL)
+
     assert (yarnRequest.nodeLabelExpression == null)
     assert (!yarnRequest.relaxLocality)
     // escalation
     def yarnRequest2 = req1.escalate()
-    assert (yarnRequest2.nodeLabelExpression == WORKERS_LABEL)
+    assert yarnRequest2.nodes == null
     assert (yarnRequest2.relaxLocality)
+    assert (yarnRequest2.nodeLabelExpression == WORKERS_LABEL)
   }
 
   /**

http://git-wip-us.apache.org/repos/asf/incubator-slider/blob/80fe8c7e/slider-core/src/test/groovy/org/apache/slider/server/appmaster/model/mock/MockYarnCluster.groovy
----------------------------------------------------------------------
diff --git 
a/slider-core/src/test/groovy/org/apache/slider/server/appmaster/model/mock/MockYarnCluster.groovy
 
b/slider-core/src/test/groovy/org/apache/slider/server/appmaster/model/mock/MockYarnCluster.groovy
index e1dfa25..f0a1494 100644
--- 
a/slider-core/src/test/groovy/org/apache/slider/server/appmaster/model/mock/MockYarnCluster.groovy
+++ 
b/slider-core/src/test/groovy/org/apache/slider/server/appmaster/model/mock/MockYarnCluster.groovy
@@ -182,7 +182,7 @@ public class MockYarnCluster {
         containers[i] = new MockYarnClusterContainer(mci)
       }
 
-      nodeReport = MockFactory.newNodeReport(hostname, nodeId, 
NodeState.RUNNING, "")
+      nodeReport = MockFactory.instance.newNodeReport(hostname, nodeId, 
NodeState.RUNNING, "")
     }
 
     /**

Reply via email to