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.


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---

Reply via email to