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 <[email protected]>
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);

Reply via email to