Repository: ambari Updated Branches: refs/heads/trunk 7debaaee7 -> fa2fe9d8e
AMBARI-15714. Express Upgrade hung after FAILED step is retried. (mpapirkovskyy) Project: http://git-wip-us.apache.org/repos/asf/ambari/repo Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/fa2fe9d8 Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/fa2fe9d8 Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/fa2fe9d8 Branch: refs/heads/trunk Commit: fa2fe9d8efe0bf0bc6c12c1b3291ce8f272aec4d Parents: 7debaae Author: Myroslav Papirkovskyi <[email protected]> Authored: Tue Apr 5 15:52:08 2016 +0300 Committer: Myroslav Papirkovskyi <[email protected]> Committed: Tue Apr 5 16:15:34 2016 +0300 ---------------------------------------------------------------------- .../ambari/server/actionmanager/ActionScheduler.java | 4 ++-- .../ambari/server/actionmanager/TestActionScheduler.java | 11 +++++++---- 2 files changed, 9 insertions(+), 6 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ambari/blob/fa2fe9d8/ambari-server/src/main/java/org/apache/ambari/server/actionmanager/ActionScheduler.java ---------------------------------------------------------------------- diff --git a/ambari-server/src/main/java/org/apache/ambari/server/actionmanager/ActionScheduler.java b/ambari-server/src/main/java/org/apache/ambari/server/actionmanager/ActionScheduler.java index 8346e18..6487215 100644 --- a/ambari-server/src/main/java/org/apache/ambari/server/actionmanager/ActionScheduler.java +++ b/ambari-server/src/main/java/org/apache/ambari/server/actionmanager/ActionScheduler.java @@ -888,8 +888,8 @@ class ActionScheduler implements Runnable { return false; } else { String hostName = host.getHostName(); - long lastStageAttemptTime = stage.getLastAttemptTime(hostName, role); - return lastStageAttemptTime > 0 && lastStageAttemptTime <= host.getLastRegistrationTime(); + long taskStartTime = stage.getHostRoleCommand(hostName, role).getStartTime(); + return taskStartTime > 0 && taskStartTime <= host.getLastRegistrationTime(); } } http://git-wip-us.apache.org/repos/asf/ambari/blob/fa2fe9d8/ambari-server/src/test/java/org/apache/ambari/server/actionmanager/TestActionScheduler.java ---------------------------------------------------------------------- diff --git a/ambari-server/src/test/java/org/apache/ambari/server/actionmanager/TestActionScheduler.java b/ambari-server/src/test/java/org/apache/ambari/server/actionmanager/TestActionScheduler.java index 9cecd98..c804870 100644 --- a/ambari-server/src/test/java/org/apache/ambari/server/actionmanager/TestActionScheduler.java +++ b/ambari-server/src/test/java/org/apache/ambari/server/actionmanager/TestActionScheduler.java @@ -2418,10 +2418,13 @@ public class TestActionScheduler { ActionScheduler scheduler = new ActionScheduler(100, 50, db, aq, fsm, 3, new HostsMap((String) null), unitOfWork, null, conf); - doReturn(STAGE_LAST_ATTEMPT_TIME).when(stageInProgress1).getLastAttemptTime(anyString(), anyString()); - doReturn(STAGE_LAST_ATTEMPT_TIME).when(stageInProgress2).getLastAttemptTime(anyString(), anyString()); - doReturn(STAGE_LAST_ATTEMPT_TIME).when(stageInProgress3).getLastAttemptTime(anyString(), anyString()); - doReturn(STAGE_LAST_ATTEMPT_TIME).when(stageInProgress4).getLastAttemptTime(anyString(), anyString()); + HostRoleCommand hostRoleCommand = mock(HostRoleCommand.class); + doReturn(STAGE_LAST_ATTEMPT_TIME).when(hostRoleCommand).getStartTime(); + doReturn(hostRoleCommand).when(stageInProgress1).getHostRoleCommand(anyString(), anyString()); + doReturn(hostRoleCommand).when(stageInProgress2).getHostRoleCommand(anyString(), anyString()); + doReturn(hostRoleCommand).when(stageInProgress3).getHostRoleCommand(anyString(), anyString()); + doReturn(hostRoleCommand).when(stageInProgress4).getHostRoleCommand(anyString(), anyString()); + // Execution of request 1
