You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@storm.apache.org by et...@apache.org on 2020/02/27 19:18:51 UTC

[storm] branch master updated: [STORM-3575] Improve status message on failure for RAS scheduler

This is an automated email from the ASF dual-hosted git repository.

ethanli pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/storm.git


The following commit(s) were added to refs/heads/master by this push:
     new 4d40ae0  [STORM-3575] Improve status message on failure for RAS scheduler
     new 1c5e096  Merge pull request #3205 from RuiLi8080/STORM-3575
4d40ae0 is described below

commit 4d40ae0bea4c372af2e795a1091c4dc3c02c28b3
Author: Rui Li <ru...@verizonmedia.com>
AuthorDate: Fri Feb 7 09:49:03 2020 -0600

    [STORM-3575] Improve status message on failure for RAS scheduler
---
 .../storm/scheduler/resource/ResourceAwareScheduler.java       | 10 +++++++---
 1 file changed, 7 insertions(+), 3 deletions(-)

diff --git a/storm-server/src/main/java/org/apache/storm/scheduler/resource/ResourceAwareScheduler.java b/storm-server/src/main/java/org/apache/storm/scheduler/resource/ResourceAwareScheduler.java
index 75ae8c7..ddead19 100644
--- a/storm-server/src/main/java/org/apache/storm/scheduler/resource/ResourceAwareScheduler.java
+++ b/storm-server/src/main/java/org/apache/storm/scheduler/resource/ResourceAwareScheduler.java
@@ -217,7 +217,7 @@ public class ResourceAwareScheduler implements IScheduler {
 
                         if (!evictedSomething) {
                             StringBuilder message = new StringBuilder();
-                            message.append("Not enough resources to schedule ");
+                            message.append("Not enough resources to schedule after evicting lower priority topologies. ");
                             message.append(topologySchedulingResources.getRemainingRequiredResourcesMessage());
                             message.append(result.getErrorMessage());
                             markFailedTopology(topologySubmitter, cluster, td, message.toString());
@@ -236,7 +236,12 @@ public class ResourceAwareScheduler implements IScheduler {
                 return;
             }
         }
-        markFailedTopology(topologySubmitter, cluster, td, "Failed to schedule within " + maxSchedulingAttempts + " attempts");
+        // We can only reach here when we failed to free enough space by evicting current topologies after {maxSchedulingAttempts}
+        // while that scheduler did evict something at each attempt.
+        markFailedTopology(topologySubmitter, cluster, td,
+            "Failed to make enough resources for " + td.getId()
+                    + " by evicting lower priority topologies within " + maxSchedulingAttempts + " attempts. "
+                    + topologySchedulingResources.getRemainingRequiredResourcesMessage());
     }
 
     /*
@@ -373,7 +378,6 @@ public class ResourceAwareScheduler implements IScheduler {
 
         String getRemainingRequiredResourcesMessage() {
             StringBuilder message = new StringBuilder();
-            message.append("After evicting lower priority topologies: ");
 
             NormalizedResourceOffer clusterRemainingAvailableResources = new NormalizedResourceOffer();
             clusterRemainingAvailableResources.add(clusterAvailableResources);