TEZ-2735. rebase 08/21 (sseth)
Project: http://git-wip-us.apache.org/repos/asf/tez/repo Commit: http://git-wip-us.apache.org/repos/asf/tez/commit/e51bcbc3 Tree: http://git-wip-us.apache.org/repos/asf/tez/tree/e51bcbc3 Diff: http://git-wip-us.apache.org/repos/asf/tez/diff/e51bcbc3 Branch: refs/heads/master Commit: e51bcbc3049247f598991533c38e181a7e2d84a4 Parents: 9086d45 Author: Siddharth Seth <[email protected]> Authored: Fri Aug 21 18:19:19 2015 -0700 Committer: Siddharth Seth <[email protected]> Committed: Fri Aug 21 18:19:19 2015 -0700 ---------------------------------------------------------------------- TEZ-2003-CHANGES.txt | 1 + .../dag/app/rm/TaskSchedulerEventHandler.java | 4 +++- .../tez/dag/app/rm/TestTaskScheduler.java | 24 +++++++++----------- 3 files changed, 15 insertions(+), 14 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/tez/blob/e51bcbc3/TEZ-2003-CHANGES.txt ---------------------------------------------------------------------- diff --git a/TEZ-2003-CHANGES.txt b/TEZ-2003-CHANGES.txt index 4ab083c..81402c6 100644 --- a/TEZ-2003-CHANGES.txt +++ b/TEZ-2003-CHANGES.txt @@ -52,5 +52,6 @@ ALL CHANGES: TEZ-2714. Fix comments from review - part 3. TEZ-2727. Fix findbugs warnings TEZ-2670. Remove TaskAttempt holder used within TezTaskCommunicator. + TEZ-2735. rebase 08/21 INCOMPATIBLE CHANGES: http://git-wip-us.apache.org/repos/asf/tez/blob/e51bcbc3/tez-dag/src/main/java/org/apache/tez/dag/app/rm/TaskSchedulerEventHandler.java ---------------------------------------------------------------------- diff --git a/tez-dag/src/main/java/org/apache/tez/dag/app/rm/TaskSchedulerEventHandler.java b/tez-dag/src/main/java/org/apache/tez/dag/app/rm/TaskSchedulerEventHandler.java index 374189a..76d870c 100644 --- a/tez-dag/src/main/java/org/apache/tez/dag/app/rm/TaskSchedulerEventHandler.java +++ b/tez-dag/src/main/java/org/apache/tez/dag/app/rm/TaskSchedulerEventHandler.java @@ -525,7 +525,9 @@ public class TaskSchedulerEventHandler extends AbstractService implements } public void initiateStop() { - taskScheduler.initiateStop(); + for (int i = 0 ; i < taskSchedulers.length ; i++) { + taskSchedulers[i].initiateStop(); + } } @Override http://git-wip-us.apache.org/repos/asf/tez/blob/e51bcbc3/tez-dag/src/test/java/org/apache/tez/dag/app/rm/TestTaskScheduler.java ---------------------------------------------------------------------- diff --git a/tez-dag/src/test/java/org/apache/tez/dag/app/rm/TestTaskScheduler.java b/tez-dag/src/test/java/org/apache/tez/dag/app/rm/TestTaskScheduler.java index 674f8b8..5efea48 100644 --- a/tez-dag/src/test/java/org/apache/tez/dag/app/rm/TestTaskScheduler.java +++ b/tez-dag/src/test/java/org/apache/tez/dag/app/rm/TestTaskScheduler.java @@ -528,29 +528,27 @@ public class TestTaskScheduler { @Test(timeout=10000) public void testTaskSchedulerInitiateStop() throws Exception { RackResolver.init(new YarnConfiguration()); - TaskSchedulerAppCallback mockApp = mock(TaskSchedulerAppCallback.class); - AppContext mockAppContext = mock(AppContext.class); - when(mockAppContext.getAMState()).thenReturn(DAGAppMasterState.RUNNING); - - TezAMRMClientAsync<CookieContainerRequest> mockRMClient = - mock(TezAMRMClientAsync.class); String appHost = "host"; int appPort = 0; String appUrl = "url"; - TaskSchedulerWithDrainableAppCallback scheduler = - new TaskSchedulerWithDrainableAppCallback( - mockApp, new AlwaysMatchesContainerMatcher(), appHost, appPort, - appUrl, mockRMClient, mockAppContext); - final TaskSchedulerAppCallbackDrainable drainableAppCallback = scheduler - .getDrainableAppCallback(); Configuration conf = new Configuration(); conf.setLong(TezConfiguration.TEZ_AM_CONTAINER_REUSE_LOCALITY_DELAY_ALLOCATION_MILLIS, 0); // keep containers held for 10 seconds conf.setLong(TezConfiguration.TEZ_AM_CONTAINER_IDLE_RELEASE_TIMEOUT_MIN_MILLIS, 10000); conf.setLong(TezConfiguration.TEZ_AM_CONTAINER_IDLE_RELEASE_TIMEOUT_MAX_MILLIS, 10000); - scheduler.init(conf); + + TaskSchedulerContext mockApp = setupMockTaskSchedulerContext(appHost, appPort, appUrl, conf); + final TaskSchedulerContextDrainable drainableAppCallback = createDrainableContext(mockApp); + + TezAMRMClientAsync<CookieContainerRequest> mockRMClient = + mock(TezAMRMClientAsync.class); + + TaskSchedulerWithDrainableContext scheduler = + new TaskSchedulerWithDrainableContext(drainableAppCallback, mockRMClient); + + scheduler.initialize(); drainableAppCallback.drain(); RegisterApplicationMasterResponse mockRegResponse =
