You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ambari.apache.org by mp...@apache.org on 2014/05/30 22:02:14 UTC
git commit: AMBARI-5966. Broken /api/v1/requests. (mpapirkovskyy)
Repository: ambari
Updated Branches:
refs/heads/trunk 98b55c911 -> 1ec095842
AMBARI-5966. Broken /api/v1/requests. (mpapirkovskyy)
Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/1ec09584
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/1ec09584
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/1ec09584
Branch: refs/heads/trunk
Commit: 1ec0958424efee8ee1b0088141301d8c577b9709
Parents: 98b55c9
Author: Myroslav Papirkovskyy <mp...@hortonworks.com>
Authored: Fri May 30 23:01:01 2014 +0300
Committer: Myroslav Papirkovskyy <mp...@hortonworks.com>
Committed: Fri May 30 23:01:01 2014 +0300
----------------------------------------------------------------------
.../server/actionmanager/ActionScheduler.java | 34 ++++++++++++--------
1 file changed, 20 insertions(+), 14 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ambari/blob/1ec09584/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 2030163..ea3727b 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
@@ -270,22 +270,28 @@ class ActionScheduler implements Runnable {
//Multimap is analog of Map<Object, List<Object>> but allows to avoid nested loop
ListMultimap<String, ServiceComponentHostEvent> eventMap = formEventMap(s, commandsToStart);
- LOG.debug("==> processing {} serviceComponentHostEvents...", eventMap.size());
- List<ServiceComponentHostEvent> failedEvents =
- fsmObject.getCluster(s.getClusterName()).processServiceComponentHostEvents(eventMap);
- LOG.debug("==> {} events failed.", failedEvents.size());
-
List<ExecutionCommand> commandsToAbort = new ArrayList<ExecutionCommand>();
-
- for (Iterator<ExecutionCommand> iterator = commandsToUpdate.iterator(); iterator.hasNext(); ) {
- ExecutionCommand cmd = iterator.next();
- for (ServiceComponentHostEvent event : failedEvents) {
- if (StringUtils.equals(event.getHostName(), cmd.getHostname()) &&
- StringUtils.equals(event.getServiceComponentName(), cmd.getRole())) {
- iterator.remove();
- commandsToAbort.add(cmd);
- break;
+ if (!eventMap.isEmpty()) {
+ LOG.debug("==> processing {} serviceComponentHostEvents...", eventMap.size());
+ Cluster cluster = fsmObject.getCluster(s.getClusterName());
+ if (cluster != null) {
+ List<ServiceComponentHostEvent> failedEvents =
+ cluster.processServiceComponentHostEvents(eventMap);
+ LOG.debug("==> {} events failed.", failedEvents.size());
+
+ for (Iterator<ExecutionCommand> iterator = commandsToUpdate.iterator(); iterator.hasNext(); ) {
+ ExecutionCommand cmd = iterator.next();
+ for (ServiceComponentHostEvent event : failedEvents) {
+ if (StringUtils.equals(event.getHostName(), cmd.getHostname()) &&
+ StringUtils.equals(event.getServiceComponentName(), cmd.getRole())) {
+ iterator.remove();
+ commandsToAbort.add(cmd);
+ break;
+ }
+ }
}
+ } else {
+ LOG.warn("There was events to process but cluster {} not found", s.getClusterName());
}
}