Github user Ethanlm commented on a diff in the pull request:

    https://github.com/apache/storm/pull/2881#discussion_r229880617
  
    --- Diff: 
storm-client/src/jvm/org/apache/storm/validation/ConfigValidation.java ---
    @@ -414,6 +418,34 @@ public void validateInteger(String name, Object o) {
             }
         }
     
    +    public static class NumaEntryValidator extends Validator {
    +
    +        @Override
    +        public void validateField(String name, Object o) {
    +            if (o == null) {
    +                return;
    +            }
    +            Map numa = (Map<String, Object>) o;
    +            for (String key : new String[]{NUMA_CORES, NUMA_MEMORY_IN_MB, 
NUMA_PORTS}) {
    +                if (!numa.containsKey(key)) {
    +                    throw new IllegalArgumentException(
    +                            "The numa configuration key [" + key + "] is 
missing!"
    +                    );
    +                }
    +            }
    +
    +            List<Integer> cores = (List<Integer>) numa.get(NUMA_CORES);
    +            Set coreSet = new HashSet();
    +            coreSet.addAll(cores);
    +            if (coreSet.size() != cores.size()) {
    --- End diff --
    
    Thanks for adding this. Do we care about duplicate cores across the numa 
zones?  (I don't  
    for example.
    ```
    numaid=0,  cores=[0,1,2,3]
    numaid=1, cores=[0,1,2,3]
    ```


---

Reply via email to