[
https://issues.apache.org/jira/browse/STORM-1616?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15198136#comment-15198136
]
ASF GitHub Bot commented on STORM-1616:
---------------------------------------
Github user d2r commented on a diff in the pull request:
https://github.com/apache/storm/pull/1199#discussion_r56413444
--- Diff: storm-core/src/jvm/org/apache/storm/trident/TridentTopology.java
---
@@ -431,6 +454,64 @@ public StormTopology build() {
return builder.buildTopology();
}
+
+ private static Map<String, Number> mergeDefaultResources(Map<String,
Number> res, Map defaultConfig) {
+ Map<String, Number> ret = new HashMap<String, Number>();
+
+ Number onHeapDefault =
(Number)defaultConfig.get(Config.TOPOLOGY_COMPONENT_RESOURCES_ONHEAP_MEMORY_MB);
+ Number offHeapDefault =
(Number)defaultConfig.get(Config.TOPOLOGY_COMPONENT_RESOURCES_OFFHEAP_MEMORY_MB);
+ Number cpuLoadDefault =
(Number)defaultConfig.get(Config.TOPOLOGY_COMPONENT_CPU_PCORE_PERCENT);
+
+ if(res == null) {
+ ret.put(Config.TOPOLOGY_COMPONENT_RESOURCES_ONHEAP_MEMORY_MB,
onHeapDefault);
+ ret.put(Config.TOPOLOGY_COMPONENT_RESOURCES_OFFHEAP_MEMORY_MB,
offHeapDefault);
+ ret.put(Config.TOPOLOGY_COMPONENT_CPU_PCORE_PERCENT,
cpuLoadDefault);
+ return ret;
+ }
+
+ Number onHeap =
res.get(Config.TOPOLOGY_COMPONENT_RESOURCES_ONHEAP_MEMORY_MB);
+ Number offHeap =
res.get(Config.TOPOLOGY_COMPONENT_RESOURCES_OFFHEAP_MEMORY_MB);
+ Number cpuLoad =
res.get(Config.TOPOLOGY_COMPONENT_CPU_PCORE_PERCENT);
+
+ /* We take the max of the default and whatever the user put in
here.
+ Each node's resources can be the sum of several operations, so
the simplest
+ thing to do is get the max.
+
+ The situation we want to avoid is that the user sets low
resources on one
+ node, and when that node is combined with a bunch of others,
the sum is still
+ that low resource count. If any component isn't set, we want to
use the default.
+
+ Right now, this code does not check that. It just takes the max
of the summed
+ up resource counts for simplicity's sake. We could perform some
more complicated
+ logic to be more accurate, but the benefits are very small, and
only apply to some
+ very odd corner cases. */g
--- End diff --
Comment is OK, but there is a dangling `g` after comment.
> Add RAS API for Trident
> -----------------------
>
> Key: STORM-1616
> URL: https://issues.apache.org/jira/browse/STORM-1616
> Project: Apache Storm
> Issue Type: Bug
> Reporter: Kyle Nusbaum
> Assignee: Kyle Nusbaum
>
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)