Skip to content

Commit

Permalink
Merge pull request #3160 from dandsager1/STORM-3530
Browse files Browse the repository at this point in the history
STORM-3530 Improve scheduling failure messages
  • Loading branch information
agresch committed Nov 5, 2019
2 parents 9165a78 + 8843f4d commit 34ff637
Show file tree
Hide file tree
Showing 2 changed files with 22 additions and 17 deletions.
Expand Up @@ -26,7 +26,6 @@
import java.util.stream.Collectors;
import org.apache.storm.Config;
import org.apache.storm.DaemonConfig;
import org.apache.storm.metric.StormMetricsRegistry;
import org.apache.storm.scheduler.Cluster;
import org.apache.storm.scheduler.IScheduler;
import org.apache.storm.scheduler.SchedulerAssignment;
Expand All @@ -36,7 +35,6 @@
import org.apache.storm.scheduler.WorkerSlot;
import org.apache.storm.scheduler.resource.normalization.NormalizedResourceOffer;
import org.apache.storm.scheduler.resource.normalization.NormalizedResourceRequest;
import org.apache.storm.scheduler.resource.normalization.ResourceMetrics;
import org.apache.storm.scheduler.resource.strategies.priority.ISchedulingPriorityStrategy;
import org.apache.storm.scheduler.resource.strategies.scheduling.IStrategy;
import org.apache.storm.scheduler.utils.ConfigLoaderFactoryService;
Expand Down Expand Up @@ -374,22 +372,29 @@ private double computeScheduledTopologyMemory(Cluster cluster, TopologyDetails t
}

String getRemainingRequiredResourcesMessage() {
StringBuilder message = new StringBuilder();
message.append("After evicting lower priority topologies: ");

NormalizedResourceOffer clusterRemainingAvailableResources = new NormalizedResourceOffer();
clusterRemainingAvailableResources.add(clusterAvailableResources);
clusterRemainingAvailableResources.remove(topologyScheduledResources);

double memoryNeeded = remainingRequiredTopologyMemory;
double cpuNeeded = remainingRequiredTopologyResources.getTotalCpu();
StringBuilder message = new StringBuilder();
if (memoryNeeded > 0 || cpuNeeded > 0) {
if (memoryNeeded > 0) {
message.append(memoryNeeded).append(" MB ");
}
if (cpuNeeded > 0) {
message.append(cpuNeeded).append("% CPU ");
}
if (remainingRequiredTopologyResources.getNormalizedResources().anyNonCpuOverZero()) {
message.append(" ");
message.append(remainingRequiredTopologyResources.getNormalizedResources().toString());
message.append(" ");
}
message.append("needed even after evicting lower priority topologies. ");
if (memoryNeeded > 0) {
message.append("Additional Memory Required: ").append(memoryNeeded).append(" MB ");
message.append("(Available: ").append(clusterRemainingAvailableResources.getTotalMemoryMb()).append(" MB). ");
}
if (cpuNeeded > 0) {
message.append("Additional CPU Required: ").append(cpuNeeded).append("% CPU ");
message.append("(Available: ").append(clusterRemainingAvailableResources.getTotalCpu()).append(" % CPU).");
}
if (remainingRequiredTopologyResources.getNormalizedResources().anyNonCpuOverZero()) {
message.append(" Additional Topology Required Resources: ");
message.append(remainingRequiredTopologyResources.getNormalizedResources().toString());
message.append(" Cluster Available Resources: ");
message.append(clusterRemainingAvailableResources.getNormalizedResources().toString());
message.append(". ");
}
return message.toString();
}
Expand Down
Expand Up @@ -126,7 +126,7 @@ protected boolean scheduleExecutor(
} else {
String comp = td.getExecutorToComponent().get(exec);
NormalizedResourceRequest requestedResources = td.getTotalResources(exec);
LOG.error("Not Enough Resources to schedule Task {} - {} {}", exec, comp, requestedResources);
LOG.warn("Not Enough Resources to schedule Task {} - {} {}", exec, comp, requestedResources);
return false;
}
}
Expand Down

0 comments on commit 34ff637

Please sign in to comment.