You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ambari.apache.org by rl...@apache.org on 2017/06/23 13:29:36 UTC

[41/42] ambari git commit: AMBARI-21298. Pausing An Upgrade In Progress Does Not Resume PENDING Tasks (dlysnichenko)

AMBARI-21298. Pausing An Upgrade In Progress Does Not Resume PENDING Tasks (dlysnichenko)


Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/0dbc7976
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/0dbc7976
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/0dbc7976

Branch: refs/heads/branch-feature-AMBARI-20859
Commit: 0dbc7976d95dd0bb25232a4fc4d204e55929eb9a
Parents: ec8deeb
Author: Lisnichenko Dmitro <dl...@hortonworks.com>
Authored: Fri Jun 23 11:21:03 2017 +0300
Committer: Lisnichenko Dmitro <dl...@hortonworks.com>
Committed: Fri Jun 23 11:24:36 2017 +0300

----------------------------------------------------------------------
 .../server/actionmanager/ActionDBAccessorImpl.java | 17 +++++++++++++++++
 1 file changed, 17 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ambari/blob/0dbc7976/ambari-server/src/main/java/org/apache/ambari/server/actionmanager/ActionDBAccessorImpl.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/actionmanager/ActionDBAccessorImpl.java b/ambari-server/src/main/java/org/apache/ambari/server/actionmanager/ActionDBAccessorImpl.java
index 94bb892..f0e2ce7 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/actionmanager/ActionDBAccessorImpl.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/actionmanager/ActionDBAccessorImpl.java
@@ -23,9 +23,11 @@ import java.util.Collections;
 import java.util.Comparator;
 import java.util.EnumSet;
 import java.util.HashMap;
+import java.util.HashSet;
 import java.util.List;
 import java.util.Map;
 import java.util.Objects;
+import java.util.Set;
 import java.util.concurrent.TimeUnit;
 
 import org.apache.ambari.annotations.Experimental;
@@ -814,7 +816,15 @@ public class ActionDBAccessorImpl implements ActionDBAccessor {
   @Override
   public void resubmitTasks(List<Long> taskIds) {
     List<HostRoleCommandEntity> tasks = hostRoleCommandDAO.findByPKs(taskIds);
+    Set<RequestEntity> requestEntities = new HashSet<>();
+    Set<StageEntity> stageEntities = new HashSet<>();
     for (HostRoleCommandEntity task : tasks) {
+      StageEntity stage = task.getStage();
+      stage.setStatus(HostRoleStatus.PENDING);
+      stageEntities.add(stage);
+      RequestEntity request = stage.getRequest();
+      request.setStatus(HostRoleStatus.IN_PROGRESS);
+      requestEntities.add(request);
       task.setStatus(HostRoleStatus.PENDING);
       // TODO HACK, shouldn't reset start time.
       // Because it expects -1, RetryActionMonitor.java also had to set it to -1.
@@ -824,6 +834,13 @@ public class ActionDBAccessorImpl implements ActionDBAccessor {
       auditLog(task, task.getRequestId());
     }
 
+    for (StageEntity stageEntity : stageEntities) {
+      stageDAO.merge(stageEntity);
+    }
+    for (RequestEntity requestEntity : requestEntities) {
+      requestDAO.merge(requestEntity);
+    }
+
     // no need to merge if there's nothing to merge
     if (!tasks.isEmpty()) {
       hostRoleCommandDAO.mergeAll(tasks);